Mercurial > dwindows
comparison gtk/dw.c @ 480:8832ad52486f
New tree code fixes for GTK 2.x
author | bsmith@81767d24-ef19-dc11-ae90-00e081727c95 |
---|---|
date | Wed, 15 Oct 2003 10:17:54 +0000 |
parents | 61e2973ad093 |
children | 89b1b40d7e12 |
comparison
equal
deleted
inserted
replaced
479:61e2973ad093 | 480:8832ad52486f |
---|---|
592 } | 592 } |
593 } | 593 } |
594 return retval; | 594 return retval; |
595 } | 595 } |
596 | 596 |
597 static gint _tree_expand_event(GtkTreeView *treeview, GtkTreeIter *arg1, GtkTreePath *arg2, gpointer user_data) | 597 static gint _tree_expand_event(GtkTreeView *widget, GtkTreeIter *iter, GtkTreePath *path, gpointer data) |
598 { | 598 { |
599 SignalHandler work = _get_signal_handler(widget, data); | 599 SignalHandler work = _get_signal_handler((GtkWidget *)widget, data); |
600 int retval = FALSE; | 600 int retval = FALSE; |
601 | 601 |
602 if(work.window) | 602 if(work.window) |
603 { | 603 { |
604 int (*treeexpandfunc)(HWND, HTREEITEM, void *) = work.func; | 604 int (*treeexpandfunc)(HWND, HTREEITEM, void *) = work.func; |
605 retval = treeexpandfunc(work.window, (HTREEITEM)arg1, work.data); | 605 retval = treeexpandfunc(work.window, (HTREEITEM)iter, work.data); |
606 } | 606 } |
607 return retval; | 607 return retval; |
608 } | 608 } |
609 #else | 609 #else |
610 static gint _tree_select_event(GtkTree *tree, GtkWidget *child, gpointer data) | 610 static gint _tree_select_event(GtkTree *tree, GtkWidget *child, gpointer data) |
2363 GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); | 2363 GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); |
2364 | 2364 |
2365 gtk_object_set_data(GTK_OBJECT(tmp), "_dw_id", (gpointer)id); | 2365 gtk_object_set_data(GTK_OBJECT(tmp), "_dw_id", (gpointer)id); |
2366 gtk_widget_show(tmp); | 2366 gtk_widget_show(tmp); |
2367 #if GTK_MAJOR_VERSION > 1 | 2367 #if GTK_MAJOR_VERSION > 1 |
2368 store = gtk_tree_store_new(4, G_TYPE_STRING, GDK_TYPE_PIXBUF, G_TYPE_POINTER, G_TYPE_POINTER); | 2368 store = gtk_tree_store_new(5, G_TYPE_STRING, GDK_TYPE_PIXBUF, G_TYPE_POINTER, G_TYPE_POINTER, G_TYPE_POINTER); |
2369 tree = gtk_tree_view_new_with_model(GTK_TREE_MODEL(store)); | 2369 tree = gtk_tree_view_new_with_model(GTK_TREE_MODEL(store)); |
2370 gtk_object_set_data(GTK_OBJECT(tree), "_dw_tree_store", (gpointer)store); | 2370 gtk_object_set_data(GTK_OBJECT(tree), "_dw_tree_store", (gpointer)store); |
2371 col = gtk_tree_view_column_new(); | 2371 col = gtk_tree_view_column_new(); |
2372 | 2372 |
2373 rend = gtk_cell_renderer_pixbuf_new(); | 2373 rend = gtk_cell_renderer_pixbuf_new(); |
2375 gtk_tree_view_column_add_attribute(col, rend, "pixbuf", 1); | 2375 gtk_tree_view_column_add_attribute(col, rend, "pixbuf", 1); |
2376 rend = gtk_cell_renderer_text_new(); | 2376 rend = gtk_cell_renderer_text_new(); |
2377 gtk_tree_view_column_pack_start(col, rend, TRUE); | 2377 gtk_tree_view_column_pack_start(col, rend, TRUE); |
2378 gtk_tree_view_column_add_attribute(col, rend, "text", 0); | 2378 gtk_tree_view_column_add_attribute(col, rend, "text", 0); |
2379 | 2379 |
2380 gtk_tree_view_append_column(GTK_TREE_VIEW (tree), col); | |
2381 gtk_tree_view_append_column(GTK_TREE_VIEW (tree), col); | 2380 gtk_tree_view_append_column(GTK_TREE_VIEW (tree), col); |
2382 gtk_tree_view_set_expander_column(GTK_TREE_VIEW(tree), col); | 2381 gtk_tree_view_set_expander_column(GTK_TREE_VIEW(tree), col); |
2383 gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(tree), FALSE); | 2382 gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(tree), FALSE); |
2384 | 2383 |
2385 sel = gtk_tree_view_get_selection(GTK_TREE_VIEW(tree)); | 2384 sel = gtk_tree_view_get_selection(GTK_TREE_VIEW(tree)); |
4282 if(!handle || !item) | 4281 if(!handle || !item) |
4283 return text; | 4282 return text; |
4284 | 4283 |
4285 DW_MUTEX_LOCK; | 4284 DW_MUTEX_LOCK; |
4286 #if GTK_MAJOR_VERSION > 1 | 4285 #if GTK_MAJOR_VERSION > 1 |
4287 GtkTreeIter iter = (GtkTreeIter)item; | |
4288 GtkTreeModel *store = (GtkTreeModel *)gtk_object_get_data(GTK_OBJECT(handle), "_dw_tree_store"); | 4286 GtkTreeModel *store = (GtkTreeModel *)gtk_object_get_data(GTK_OBJECT(handle), "_dw_tree_store"); |
4289 | 4287 |
4290 gtk_tree_model_get(store, &iter, 0, &text, -1); | 4288 gtk_tree_model_get(store, (GtkTreeIter *)item, 0, &text, -1); |
4291 #else | 4289 #else |
4292 text = (char *)gtk_object_get_data(GTK_OBJECT(item), "_dw_text"); | 4290 text = (char *)gtk_object_get_data(GTK_OBJECT(item), "_dw_text"); |
4293 #endif | 4291 #endif |
4294 DW_MUTEX_UNLOCK; | 4292 DW_MUTEX_UNLOCK; |
4295 return text; | 4293 return text; |
4309 if(!handle || !item) | 4307 if(!handle || !item) |
4310 return parent; | 4308 return parent; |
4311 | 4309 |
4312 DW_MUTEX_LOCK; | 4310 DW_MUTEX_LOCK; |
4313 #if GTK_MAJOR_VERSION > 1 | 4311 #if GTK_MAJOR_VERSION > 1 |
4314 GtkTreeIter iter = (GtkTreeIter)item; | |
4315 GtkTreeModel *store = (GtkTreeModel *)gtk_object_get_data(GTK_OBJECT(handle), "_dw_tree_store"); | 4312 GtkTreeModel *store = (GtkTreeModel *)gtk_object_get_data(GTK_OBJECT(handle), "_dw_tree_store"); |
4316 | 4313 |
4317 gtk_tree_model_get(store, &iter, 4, &parent, -1); | 4314 gtk_tree_model_get(store, (GtkTreeIter *)item, 4, &parent, -1); |
4318 #else | 4315 #else |
4319 parent = (HTREEITEM)gtk_object_get_data(GTK_OBJECT(item), "_dw_parent"); | 4316 parent = (HTREEITEM)gtk_object_get_data(GTK_OBJECT(item), "_dw_parent"); |
4320 #endif | 4317 #endif |
4321 DW_MUTEX_UNLOCK; | 4318 DW_MUTEX_UNLOCK; |
4322 return parent; | 4319 return parent; |