示例#1
0
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);
}
示例#2
0
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));
}
示例#3
0
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 );
}