[Glade-users] problems with treeview

Atmadarshini devi dasi atmadarshini_dd at yahoo.com
Tue Mar 18 08:04:02 EDT 2008


Hi I am using glade version 2. When u say that I should send u the glade file, which file exactly do u mean and where do i find it?

thanks

Tristan Van Berkom <tvb at gnome.org> wrote: Hi, what version of glade are you using ? can you send
us the glade file ?

-Tristan

On Mon, Mar 17, 2008 at 1:39 PM, Atmadarshini devi dasi
 wrote:
> hi there
>
> I am trying to use treeview in order to view an addressbook that i am trying
> to create. now i was trying out a working example that is suppose to work to
> see how things work before implementing my own function.
> but for some reason all that it does is shows me an empty treeview screen
> with no data or headings in it. on the glade side of things, all i have done
> is put in the treeview into the window. I have not attched any signals or
> changed anything. Is that correct?
>
> I have posted the code below that I have used.
>
>
> enum
> {
>   COL_FIRST_NAME = 0,
>   COL_LAST_NAME,
>   COL_YEAR_BORN,
>   NUM_COLS
> } ;
>
> static GtkTreeModel *
> create_and_fill_model (void)
> {
>   GtkTreeStore  *treestore;
>   GtkTreeIter    toplevel, child;
>
>   treestore = gtk_tree_store_new(NUM_COLS, G_TYPE_STRING, G_TYPE_STRING,
> G_TYPE_UINT); /* NUM_COLS = 3 */
>
>   /* Append a top level row and leave it empty */
>   gtk_tree_store_append(treestore, &toplevel, NULL);
>   gtk_tree_store_set(treestore, &toplevel,
>                      COL_FIRST_NAME, "Maria",
>                      COL_LAST_NAME, "Incognito",
>                      -1);
>
>   /* Append a second top level row, and fill it with some data */
>   gtk_tree_store_append(treestore, &toplevel, NULL);
>   gtk_tree_store_set(treestore, &toplevel,
>                      COL_FIRST_NAME, "Jane",
>                      COL_LAST_NAME, "Average",
>                      COL_YEAR_BORN, (guint) 1962,
>                      -1);
>
>   /* Append a child to the second top level row, and fill in some data */
>   gtk_tree_store_append(treestore, &child, &toplevel);
>   gtk_tree_store_set(treestore, &child,
>                      COL_FIRST_NAME, "Janinita",
>                      COL_LAST_NAME, "Average",
>                      COL_YEAR_BORN, (guint) 1985,
>                      -1);
>
>   return GTK_TREE_MODEL(treestore);
> }
>
> void
> age_cell_data_func (GtkTreeViewColumn *col,
>                     GtkCellRenderer   *renderer,
>                     GtkTreeModel      *model,
>                     GtkTreeIter       *iter,
>                     gpointer           user_data)
> {
>   guint  year_born;
>   guint  year_now = 2003; /* to save code not relevant for the example */
>   gchar  buf[64];
>
>   gtk_tree_model_get(model, iter, COL_YEAR_BORN, &year_born, -1);
>
>   if (year_born <= year_now && year_born > 0)
>   {
>     guint age = year_now - year_born;
>
>     g_snprintf(buf, sizeof(buf), "%u years old", age);
>
>     g_object_set(renderer, "foreground-set", FALSE, NULL); /* print this
> normal */
>   }
>   else
>   {
>     g_snprintf(buf, sizeof(buf), "age unknown");
>     g_object_set(renderer, "foreground", "Red", "foreground-set", TRUE,
> NULL); /* make red */
>   }
>
>   g_object_set(renderer, "text", buf, NULL);
> }
>
>
> static GtkWidget *
> create_view_and_model (void)
> {
>   GtkTreeViewColumn   *col;
>   GtkCellRenderer     *renderer;
>   GtkWidget           *view;
>   GtkTreeModel        *model;
>
>   view = gtk_tree_view_new();
>
>   /* --- Column #1 --- */
>
>   col = gtk_tree_view_column_new();
>
>   gtk_tree_view_column_set_title(col, "First Name");
>
>   /* pack tree view column into tree view */
>   gtk_tree_view_append_column(GTK_TREE_VIEW(view), col);
>
>   renderer = gtk_cell_renderer_text_new();
>
>   /* pack cell renderer into tree view column */
>   gtk_tree_view_column_pack_start(col, renderer, TRUE);
>
>   /* connect 'text' property of the cell renderer to model column that
> contains the first name */
>   gtk_tree_view_column_add_attribute(col, renderer, "text", COL_FIRST_NAME);
>
>
>   /* --- Column #2 --- */
>
>   col = gtk_tree_view_column_new();
>
>   gtk_tree_view_column_set_title(col, "Last Name");
>
>   /* pack tree view column into tree view */
>   gtk_tree_view_append_column(GTK_TREE_VIEW(view), col);
>
>   renderer = gtk_cell_renderer_text_new();
>
>   /* pack cell renderer into tree view column */
>   gtk_tree_view_column_pack_start(col, renderer, TRUE);
>
>   /* connect 'text' property of the cell renderer to model column that
> contains the last name */
>   gtk_tree_view_column_add_attribute(col, renderer, "text", COL_LAST_NAME);
>
>   /* set 'weight' property of the cell renderer to bold print (we want all
> last names in bold) */
>   g_object_set(renderer, "weight", PANGO_WEIGHT_BOLD, "weight-set", TRUE,
> NULL);
>
>
>   /* --- Column #3 --- */
>
>   col = gtk_tree_view_column_new();
>
>   gtk_tree_view_column_set_title(col, "Age");
>
>   /* pack tree view column into tree view */
>   gtk_tree_view_append_column(GTK_TREE_VIEW(view), col);
>
>   renderer = gtk_cell_renderer_text_new();
>
>   /* pack cell renderer into tree view column */
>   gtk_tree_view_column_pack_start(col, renderer, TRUE);
>
>   /* connect a cell data function */
>   gtk_tree_view_column_set_cell_data_func(col, renderer, age_cell_data_func,
> NULL, NULL);
>
>
>   model = create_and_fill_model();
>
>   gtk_tree_view_set_model(GTK_TREE_VIEW(view), model);
>
>   g_object_unref(model); /* destroy model automatically with view */
>
>
> gtk_tree_selection_set_mode(gtk_tree_view_get_selection(GTK_TREE_VIEW(view)),
> GTK_SELECTION_NONE);
>
>   return view;
> }
>
>
>
> void
> on_view_button_clicked  (GtkButton       *button,
>                                         gpointer         user_data)
> {
> GtkWidget *treeview;
>
> view_address_window = create_view_address_window();
> treeview = create_view_and_model();
> gtk_widget_show (view_address_window);
>
>
> }
>
> the view button is a button that i use in order to see the window with the
> treeview . i get no errors but dont see anything in my treeview.
>
> Please help.
>
> thanks
>
> Aakanksha
>
>
>  ________________________________
> Looking for last minute shopping deals? Find them fast with Yahoo! Search.
> _______________________________________________
>  Glade-users maillist  -  Glade-users at lists.ximian.com
>  http://lists.ximian.com/mailman/listinfo/glade-users
>
>


       
---------------------------------
Never miss a thing.   Make Yahoo your homepage.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.ximian.com/pipermail/glade-users/attachments/20080318/eda90b6d/attachment-0001.html 


More information about the Glade-users mailing list