Re: Is it possible having different GtkAdjustment values in GtkTreeView



Hi.

I've created a simple app that demonstrates some G(TK)_TYPE macro magic;)

--------------
#include <gtk/gtk.h>

enum
{
    MODEL_COL,
    NO_COLS
};

static GtkTreeModel *
create_and_fill_model (void)
{
    GtkListStore  *store;
    GtkListStore  *model;
    GtkTreeIter    iter;

    model = gtk_list_store_new( 1, G_TYPE_STRING );
    gtk_list_store_append( model, &iter );
    gtk_list_store_set( model, &iter, 0, "String1", -1 );
    gtk_list_store_append( model, &iter );
    gtk_list_store_set( model, &iter, 0, "String2", -1 );
    gtk_list_store_append( model, &iter );
    gtk_list_store_set( model, &iter, 0, "String3", -1 );
    gtk_list_store_append( model, &iter );
    gtk_list_store_set( model, &iter, 0, "String3", -1 );
    gtk_list_store_append( model, &iter );
    gtk_list_store_set( model, &iter, 0, "String4", -1 );
    gtk_list_store_append( model, &iter );
    gtk_list_store_set( model, &iter, 0, "String5", -1 );

    store = gtk_list_store_new( NO_COLS, GTK_TYPE_TREE_MODEL );
    gtk_list_store_append( store, &iter );
    gtk_list_store_set( store, &iter, MODEL_COL, GTK_TREE_MODEL( model ), -1 );

    return GTK_TREE_MODEL(store);
}

int
main( int    argc,
      char **argv )
{
    GtkWidget         *window;
    GtkWidget         *pop_window;
    GtkWidget         *treeview;
    GtkWidget         *label;
    GtkTreeModel      *model;
    GtkTreeIter        parent;
    GtkTreeIter        child;
    GtkCellRenderer   *renderer;
    GtkTreeViewColumn *col;
    GtkTreeSelection  *sel;

    gtk_init( &argc, &argv );

    window = gtk_window_new( GTK_WINDOW_TOPLEVEL );
    g_signal_connect( G_OBJECT( window ), "destroy",
                      G_CALLBACK( gtk_main_quit ), NULL );

    model = create_and_fill_model();
    treeview = gtk_tree_view_new_with_model( GTK_TREE_MODEL( model ) );
    g_object_unref( G_OBJECT( model ) );

    /*col1*/
    col = gtk_tree_view_column_new();
    renderer = gtk_cell_renderer_combo_new();
    g_object_set( G_OBJECT( renderer ), "editable", TRUE, NULL );
    g_object_set( G_OBJECT( renderer ), "text_column", 0, NULL );
    gtk_tree_view_column_pack_start(col, renderer, TRUE);
    gtk_tree_view_column_set_attributes(col, renderer, "model",
MODEL_COL, NULL);

    gtk_tree_view_append_column(GTK_TREE_VIEW(treeview), col);

    gtk_tree_view_expand_all( GTK_TREE_VIEW( treeview ) );
    gtk_container_add( GTK_CONTAINER( window ), treeview );
    gtk_widget_show_all( window );

    gtk_main();

    return( 0);
}
--------------------


2008/12/9 Keedi Kim <keedi perl kr>:
Hi, guys.

I have one more question about GtkTreeView.

In my GtkTreeView, another column use GtkCellRenderCombo,
and I tried store the GtkListStore (for GtkCellRenderCombo) using
G_TYPE_OBJECT
and set it up as an attribute ("model" -> list_store).

But this doesn't seem work properly and warning occurs.

[W] unable to set property `model' of type `GtkTreeModel' from value of type
`GObject'

If I use G_TYPE_INTERFACE rather than G_TYPE_OBJECT.
the warning disappears but tree view does not work.

Is there something different when using GtkCellRenderCombo in this case?

Thanks, :-)



2008/12/9 Keedi Kim <keedi perl kr>

Tadej, Tristan, Thanks!

In fact I misunderstood about attributes and GtkCellRenderSpin,
and I thought each column's spin cell renderer could have only one
adjustments.
but it was not true. :-)

As you were mentioned,
I use tree model to store adjustment for each row of columns,
and connect them using attributes, then everything works great!

Thanks again! :-)


2008/12/9 Tristan Van Berkom <tvb gnome org>

On Mon, Dec 8, 2008 at 6:02 AM, Keedi Kim <keedi perl kr> wrote:
Hi! :-)

I have some question about GtkTreeView and GtkCellRenderer.
Is it possible to have different GtkAdjustment values for each
column(renderer?) in GtkTreeView?

Is there any reason you cant just store the adjustment in the model
and set it up as an attribute ? or am I missing what you want to
accomplish ?

Cheers,
                  -Tristan




--
Best regards,

Keedi Kim




--
Best regards,

Keedi Kim
_______________________________________________
gtk-app-devel-list mailing list
gtk-app-devel-list gnome org
http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list




-- 
Tadej BorovÅak
00386 (0)40 613 131
tadeboro gmail com
tadej borovsak gmail com


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]