static void tree_cell_text(GtkTreeViewColumn *col,GtkCellRenderer *cell,GtkTreeModel *md,GtkTreeIter *iter,gTree *Tr) { gTreeRow *row = NULL; gTreeCell *data; const char *buf = ""; char *key; int index = -1; double align; key = Tr->iterToKey(iter); if (key) row= (gTreeRow*)g_hash_table_lookup(Tr->datakey, (gpointer)key); if (row) { index = gt_tree_view_find_index(GTK_TREE_VIEW(Tr->widget), col); data = row->get(index); if (data) { if (data->text()) buf = data->text(); } } align = gtk_tree_view_column_get_alignment(col); g_object_set(G_OBJECT(cell), "text", buf, "editable", false, "xalign", align, (void *)NULL); }
int gTree::columnAlignment(int ind) { GtkTreeViewColumn *col = gt_tree_view_find_column(GTK_TREE_VIEW(widget), ind); if (!col) return ALIGN_LEFT; else return gt_to_alignment(gtk_tree_view_column_get_alignment(col)); }
void print_tree_view_list_init_tree_view_data ( GtkTreeView *tree_view ) { GList *list; GList *list_tmp; gint col_width = 0; gint i = 0; devel_debug (NULL); /* get the number of columns */ list = gtk_tree_view_get_columns ( tree_view ); nbre_cols = g_list_length ( list ); tree_view_cols_width = g_malloc0 ( nbre_cols * sizeof ( gint ) ); alignment = g_malloc0 ( nbre_cols * sizeof ( gint ) ); list_tmp = list; while ( list_tmp ) { GtkTreeViewColumn *col; col = list_tmp -> data; col_width += gtk_tree_view_column_get_width ( col ); list_tmp = list_tmp -> next; } list_tmp = list; while ( list_tmp ) { GtkTreeViewColumn *col; gfloat number; col = ( GtkTreeViewColumn * ) list_tmp -> data; tree_view_cols_width[i] = ( gtk_tree_view_column_get_width ( col ) * 100 ) / col_width + 1; number = gtk_tree_view_column_get_alignment ( col ); if ( number == 0.0 ) alignment[i] = PANGO_ALIGN_LEFT; else if ( number == 1.0 ) alignment[i] = PANGO_ALIGN_RIGHT; else alignment[i] = PANGO_ALIGN_CENTER; list_tmp = list_tmp -> next; i++; } g_list_free ( list ); }