[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]
Re: Is it possible having different GtkAdjustment values in GtkTreeView
- From: "Tadej Borovšak" <tadeboro gmail com>
- To: "Keedi Kim" <keedi perl kr>
- Cc: gtk-app-devel-list gnome org
- Subject: Re: Is it possible having different GtkAdjustment values in GtkTreeView
- Date: Tue, 9 Dec 2008 10:23:46 +0100
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]