Mercurial > dwindows
comparison gtk3/dw.c @ 780:fda93b441c4d
Lots of listbox/combobox/container fixes. Things are starting to come together.
author | bsmith@81767d24-ef19-dc11-ae90-00e081727c95 |
---|---|
date | Mon, 21 Mar 2011 01:33:51 +0000 |
parents | d67d2f626c33 |
children | df6091308b3f |
comparison
equal
deleted
inserted
replaced
779:d67d2f626c33 | 780:fda93b441c4d |
---|---|
139 #define DW_MUTEX_UNLOCK { if(pthread_self() != _dw_thread && _locked_by_me == TRUE) { gdk_threads_leave(); _dw_mutex_locked[_find_thread_index(dw_thread_id())] = FALSE; _locked_by_me = FALSE; } } | 139 #define DW_MUTEX_UNLOCK { if(pthread_self() != _dw_thread && _locked_by_me == TRUE) { gdk_threads_leave(); _dw_mutex_locked[_find_thread_index(dw_thread_id())] = FALSE; _locked_by_me = FALSE; } } |
140 | 140 |
141 #define DEFAULT_SIZE_WIDTH 12 | 141 #define DEFAULT_SIZE_WIDTH 12 |
142 #define DEFAULT_SIZE_HEIGHT 6 | 142 #define DEFAULT_SIZE_HEIGHT 6 |
143 #define DEFAULT_TITLEBAR_HEIGHT 22 | 143 #define DEFAULT_TITLEBAR_HEIGHT 22 |
144 | |
145 #define _DW_TREE_TYPE_CONTAINER 1 | |
146 #define _DW_TREE_TYPE_TREE 2 | |
147 #define _DW_TREE_TYPE_LISTBOX 3 | |
148 #define _DW_TREE_TYPE_COMBOBOX 4 | |
144 | 149 |
145 /* Signal forwarder prototypes */ | 150 /* Signal forwarder prototypes */ |
146 static gint _button_press_event(GtkWidget *widget, GdkEventButton *event, gpointer data); | 151 static gint _button_press_event(GtkWidget *widget, GdkEventButton *event, gpointer data); |
147 static gint _button_release_event(GtkWidget *widget, GdkEventButton *event, gpointer data); | 152 static gint _button_release_event(GtkWidget *widget, GdkEventButton *event, gpointer data); |
148 static gint _motion_notify_event(GtkWidget *widget, GdkEventMotion *event, gpointer data); | 153 static gint _motion_notify_event(GtkWidget *widget, GdkEventMotion *event, gpointer data); |
1445 { | 1450 { |
1446 DWExpose exp; | 1451 DWExpose exp; |
1447 int (*exposefunc)(HWND, DWExpose *, void *) = work.func; | 1452 int (*exposefunc)(HWND, DWExpose *, void *) = work.func; |
1448 | 1453 |
1449 exp.x = exp.y = 0; | 1454 exp.x = exp.y = 0; |
1450 exp.width = egtk_widget_get_allocated_width(widget); | 1455 exp.width = gtk_widget_get_allocated_width(widget); |
1451 exp.height = gtk_widget_get_allocated_height(widget); | 1456 exp.height = gtk_widget_get_allocated_height(widget); |
1452 retval = exposefunc(work.window, &exp, work.data); | 1457 retval = exposefunc(work.window, &exp, work.data); |
1453 } | 1458 } |
1454 return retval; | 1459 return retval; |
1455 } | 1460 } |
1518 if(widget && GTK_IS_TREE_VIEW(widget)) | 1523 if(widget && GTK_IS_TREE_VIEW(widget)) |
1519 { | 1524 { |
1520 GtkTreeSelection *sel = gtk_tree_view_get_selection(GTK_TREE_VIEW(widget)); | 1525 GtkTreeSelection *sel = gtk_tree_view_get_selection(GTK_TREE_VIEW(widget)); |
1521 GtkTreeIter iter; | 1526 GtkTreeIter iter; |
1522 | 1527 |
1523 if(sel && gtk_tree_selection_get_selected(sel, NULL, &iter)) | 1528 if(sel && gtk_tree_selection_get_mode(sel) != GTK_SELECTION_MULTIPLE && |
1529 gtk_tree_selection_get_selected(sel, NULL, &iter)) | |
1524 { | 1530 { |
1525 GtkTreeModel *store = (GtkTreeModel *)gtk_tree_view_get_model(GTK_TREE_VIEW(widget)); | 1531 GtkTreeModel *store = (GtkTreeModel *)gtk_tree_view_get_model(GTK_TREE_VIEW(widget)); |
1526 gtk_tree_model_get(store, &iter, 0, &text, 2, &itemdata, -1); | 1532 |
1533 if(g_object_get_data(G_OBJECT(widget), "_dw_tree_type") == GINT_TO_POINTER(_DW_TREE_TYPE_TREE)) | |
1534 { | |
1535 gtk_tree_model_get(store, &iter, 0, &text, 2, &itemdata, -1); | |
1536 } | |
1537 else | |
1538 { | |
1539 gtk_tree_model_get(store, &iter, 0, &text, -1); | |
1540 } | |
1527 } | 1541 } |
1528 } | 1542 } |
1529 | 1543 |
1530 retval = contextfunc(work.window, text, event->x, event->y, work.data, itemdata); | 1544 retval = contextfunc(work.window, text, event->x, event->y, work.data, itemdata); |
1531 } | 1545 } |
3514 gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(tmp), tree); | 3528 gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(tmp), tree); |
3515 g_object_set_data(G_OBJECT(tmp), "_dw_user", (gpointer)tree); | 3529 g_object_set_data(G_OBJECT(tmp), "_dw_user", (gpointer)tree); |
3516 return tree; | 3530 return tree; |
3517 } | 3531 } |
3518 | 3532 |
3519 #define _DW_TREE_TYPE_CONTAINER 1 | |
3520 #define _DW_TREE_TYPE_TREE 2 | |
3521 #define _DW_TREE_TYPE_LISTBOX 3 | |
3522 #define _DW_TREE_TYPE_COMBOBOX 4 | |
3523 | |
3524 /* | 3533 /* |
3525 * Create a container object to be packed. | 3534 * Create a container object to be packed. |
3526 * Parameters: | 3535 * Parameters: |
3527 * id: An ID to be used for getting the resource from the | 3536 * id: An ID to be used for getting the resource from the |
3528 * resource file. | 3537 * resource file. |
3566 return 0; | 3575 return 0; |
3567 } | 3576 } |
3568 store = gtk_tree_store_new(4, G_TYPE_STRING, GDK_TYPE_PIXBUF, G_TYPE_POINTER, G_TYPE_POINTER); | 3577 store = gtk_tree_store_new(4, G_TYPE_STRING, GDK_TYPE_PIXBUF, G_TYPE_POINTER, G_TYPE_POINTER); |
3569 tree = _tree_setup(tmp, GTK_TREE_MODEL(store)); | 3578 tree = _tree_setup(tmp, GTK_TREE_MODEL(store)); |
3570 g_object_set_data(G_OBJECT(tmp), "_dw_tree_type", (gpointer)_DW_TREE_TYPE_TREE); | 3579 g_object_set_data(G_OBJECT(tmp), "_dw_tree_type", (gpointer)_DW_TREE_TYPE_TREE); |
3580 g_object_set_data(G_OBJECT(tree), "_dw_tree_type", (gpointer)_DW_TREE_TYPE_TREE); | |
3571 col = gtk_tree_view_column_new(); | 3581 col = gtk_tree_view_column_new(); |
3572 | 3582 |
3573 rend = gtk_cell_renderer_pixbuf_new(); | 3583 rend = gtk_cell_renderer_pixbuf_new(); |
3574 gtk_tree_view_column_pack_start(col, rend, FALSE); | 3584 gtk_tree_view_column_pack_start(col, rend, FALSE); |
3575 gtk_tree_view_column_add_attribute(col, rend, "pixbuf", 1); | 3585 gtk_tree_view_column_add_attribute(col, rend, "pixbuf", 1); |
3723 */ | 3733 */ |
3724 HWND dw_combobox_new(char *text, unsigned long id) | 3734 HWND dw_combobox_new(char *text, unsigned long id) |
3725 { | 3735 { |
3726 GtkWidget *tmp; | 3736 GtkWidget *tmp; |
3727 GtkListStore *store; | 3737 GtkListStore *store; |
3728 GtkCellRenderer *renderer; | 3738 int _locked_by_me = FALSE; |
3729 int sigid, _locked_by_me = FALSE; | |
3730 gint cid; | |
3731 | 3739 |
3732 DW_MUTEX_LOCK; | 3740 DW_MUTEX_LOCK; |
3733 store = gtk_list_store_new(1, G_TYPE_STRING); | 3741 store = gtk_list_store_new(1, G_TYPE_STRING); |
3734 tmp = gtk_combo_box_new_with_model_and_entry(GTK_TREE_MODEL(store)); | 3742 tmp = gtk_combo_box_new_with_model_and_entry(GTK_TREE_MODEL(store)); |
3735 gtk_combo_box_set_entry_text_column(GTK_COMBO_BOX(tmp), 0); | 3743 gtk_combo_box_set_entry_text_column(GTK_COMBO_BOX(tmp), 0); |
4044 return 0; | 4052 return 0; |
4045 } | 4053 } |
4046 store = gtk_list_store_new(1, G_TYPE_STRING); | 4054 store = gtk_list_store_new(1, G_TYPE_STRING); |
4047 tree = _tree_setup(tmp, GTK_TREE_MODEL(store)); | 4055 tree = _tree_setup(tmp, GTK_TREE_MODEL(store)); |
4048 g_object_set_data(G_OBJECT(tmp), "_dw_tree_type", (gpointer)_DW_TREE_TYPE_LISTBOX); | 4056 g_object_set_data(G_OBJECT(tmp), "_dw_tree_type", (gpointer)_DW_TREE_TYPE_LISTBOX); |
4057 g_object_set_data(G_OBJECT(tree), "_dw_tree_type", (gpointer)_DW_TREE_TYPE_LISTBOX); | |
4049 | 4058 |
4050 col = gtk_tree_view_column_new(); | 4059 col = gtk_tree_view_column_new(); |
4051 rend = gtk_cell_renderer_text_new(); | 4060 rend = gtk_cell_renderer_text_new(); |
4052 gtk_tree_view_column_pack_start(col, rend, TRUE); | 4061 gtk_tree_view_column_pack_start(col, rend, TRUE); |
4053 gtk_tree_view_column_add_attribute(col, rend, "text", 0); | 4062 gtk_tree_view_column_add_attribute(col, rend, "text", 0); |
5336 static int _dw_container_setup(HWND handle, unsigned long *flags, char **titles, int count, int separator, int extra) | 5345 static int _dw_container_setup(HWND handle, unsigned long *flags, char **titles, int count, int separator, int extra) |
5337 { | 5346 { |
5338 int z; | 5347 int z; |
5339 GtkWidget *tree; | 5348 GtkWidget *tree; |
5340 GtkListStore *store; | 5349 GtkListStore *store; |
5341 GtkTreeViewColumn *col; | 5350 GtkTreeViewColumn *col, *expander = NULL; |
5342 GtkCellRenderer *rend; | 5351 GtkCellRenderer *rend; |
5343 GtkTreeSelection *sel; | 5352 GtkTreeSelection *sel; |
5344 int _locked_by_me = FALSE; | 5353 int _locked_by_me = FALSE; |
5345 GType *array = calloc(count, sizeof(gint)); | 5354 GType *array = calloc(count + 2, sizeof(gint)); |
5346 | 5355 unsigned long *newflags = calloc(count, sizeof(unsigned long)); |
5347 DW_MUTEX_LOCK; | 5356 |
5357 memcpy(newflags, flags, count * sizeof(unsigned long)); | |
5358 | |
5359 DW_MUTEX_LOCK; | |
5360 /* Save some of the info so it is easily accessible */ | |
5361 g_object_set_data(G_OBJECT(handle), "_dw_cont_col_flags", (gpointer)newflags); | |
5362 g_object_set_data(G_OBJECT(handle), "_dw_cont_columns", GINT_TO_POINTER(count)); | |
5363 | |
5364 /* First param is row title/data */ | |
5365 array[0] = G_TYPE_POINTER; | |
5348 /* First loop... create array to create the store */ | 5366 /* First loop... create array to create the store */ |
5349 for(z=0;z<count;z++) | 5367 for(z=0;z<count;z++) |
5350 { | 5368 { |
5351 if(flags[z] & DW_CFA_BITMAPORICON) | 5369 if(flags[z] & DW_CFA_BITMAPORICON) |
5352 { | 5370 { |
5353 array[z] = GDK_TYPE_PIXBUF; | 5371 array[z+1] = GDK_TYPE_PIXBUF; |
5354 } | 5372 } |
5355 else if(flags[z] & DW_CFA_STRING) | 5373 else if(flags[z] & DW_CFA_STRING) |
5356 { | 5374 { |
5357 array[z] = G_TYPE_STRING; | 5375 array[z+1] = G_TYPE_STRING; |
5358 } | 5376 } |
5359 else if(flags[z] & DW_CFA_ULONG) | 5377 else if(flags[z] & DW_CFA_ULONG) |
5360 { | 5378 { |
5361 array[z] = G_TYPE_ULONG; | 5379 array[z+1] = G_TYPE_ULONG; |
5362 } | 5380 } |
5363 else if(flags[z] & DW_CFA_TIME) | 5381 else if(flags[z] & DW_CFA_TIME) |
5364 { | 5382 { |
5365 array[z] = G_TYPE_STRING; | 5383 array[z+1] = G_TYPE_STRING; |
5366 } | 5384 } |
5367 else if(flags[z] & DW_CFA_DATE) | 5385 else if(flags[z] & DW_CFA_DATE) |
5368 { | 5386 { |
5369 array[z] = G_TYPE_STRING; | 5387 array[z+1] = G_TYPE_STRING; |
5370 } | 5388 } |
5371 } | 5389 } |
5372 /* Create the store and then the tree */ | 5390 /* Create the store and then the tree */ |
5373 store = gtk_list_store_newv(count, array); | 5391 store = gtk_list_store_newv(count+1, array); |
5374 tree = _tree_setup(handle, GTK_TREE_MODEL(store)); | 5392 tree = _tree_setup(handle, GTK_TREE_MODEL(store)); |
5393 g_object_set_data(G_OBJECT(tree), "_dw_tree_type", (gpointer)_DW_TREE_TYPE_CONTAINER); | |
5375 /* Second loop... create the columns */ | 5394 /* Second loop... create the columns */ |
5376 for(z=0;z<count;z++) | 5395 for(z=0;z<count;z++) |
5377 { | 5396 { |
5378 col = gtk_tree_view_column_new(); | 5397 col = gtk_tree_view_column_new(); |
5379 if(flags[z] & DW_CFA_BITMAPORICON) | 5398 if(flags[z] & DW_CFA_BITMAPORICON) |
5380 { | 5399 { |
5381 rend = gtk_cell_renderer_pixbuf_new(); | 5400 rend = gtk_cell_renderer_pixbuf_new(); |
5382 gtk_tree_view_column_pack_start(col, rend, FALSE); | 5401 gtk_tree_view_column_pack_start(col, rend, FALSE); |
5383 gtk_tree_view_column_add_attribute(col, rend, "pixbuf", z); | 5402 gtk_tree_view_column_add_attribute(col, rend, "pixbuf", z+1); |
5384 } | 5403 } |
5385 else if(flags[z] & DW_CFA_STRING) | 5404 else if(flags[z] & DW_CFA_STRING) |
5386 { | 5405 { |
5406 if(!expander) | |
5407 { | |
5408 expander = col; | |
5409 } | |
5387 rend = gtk_cell_renderer_text_new(); | 5410 rend = gtk_cell_renderer_text_new(); |
5388 gtk_tree_view_column_pack_start(col, rend, TRUE); | 5411 gtk_tree_view_column_pack_start(col, rend, TRUE); |
5389 gtk_tree_view_column_add_attribute(col, rend, "text", z); | 5412 gtk_tree_view_column_add_attribute(col, rend, "text", z+1); |
5390 } | 5413 } |
5391 else if(flags[z] & DW_CFA_ULONG) | 5414 else if(flags[z] & DW_CFA_ULONG) |
5392 { | 5415 { |
5393 rend = gtk_cell_renderer_text_new(); | 5416 rend = gtk_cell_renderer_text_new(); |
5394 gtk_tree_view_column_pack_start(col, rend, TRUE); | 5417 gtk_tree_view_column_pack_start(col, rend, TRUE); |
5395 gtk_tree_view_column_add_attribute(col, rend, "text", z); | 5418 gtk_tree_view_column_add_attribute(col, rend, "text", z+1); |
5396 } | 5419 } |
5397 else if(flags[z] & DW_CFA_TIME) | 5420 else if(flags[z] & DW_CFA_TIME) |
5398 { | 5421 { |
5399 rend = gtk_cell_renderer_text_new(); | 5422 rend = gtk_cell_renderer_text_new(); |
5400 gtk_tree_view_column_pack_start(col, rend, TRUE); | 5423 gtk_tree_view_column_pack_start(col, rend, TRUE); |
5401 gtk_tree_view_column_add_attribute(col, rend, "text", z); | 5424 gtk_tree_view_column_add_attribute(col, rend, "text", z+1); |
5402 } | 5425 } |
5403 else if(flags[z] & DW_CFA_DATE) | 5426 else if(flags[z] & DW_CFA_DATE) |
5404 { | 5427 { |
5405 rend = gtk_cell_renderer_text_new(); | 5428 rend = gtk_cell_renderer_text_new(); |
5406 gtk_tree_view_column_pack_start(col, rend, TRUE); | 5429 gtk_tree_view_column_pack_start(col, rend, TRUE); |
5407 gtk_tree_view_column_add_attribute(col, rend, "text", z); | 5430 gtk_tree_view_column_add_attribute(col, rend, "text", z+1); |
5408 } | 5431 } |
5432 gtk_tree_view_column_set_title(col, titles[z]); | |
5409 gtk_tree_view_append_column(GTK_TREE_VIEW (tree), col); | 5433 gtk_tree_view_append_column(GTK_TREE_VIEW (tree), col); |
5410 gtk_tree_view_set_expander_column(GTK_TREE_VIEW(tree), col); | 5434 gtk_tree_view_set_expander_column(GTK_TREE_VIEW(tree), col); |
5411 } | 5435 } |
5412 /* Finish up */ | 5436 /* Finish up */ |
5413 gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(tree), TRUE); | 5437 gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(tree), TRUE); |
5452 int dw_filesystem_setup(HWND handle, unsigned long *flags, char **titles, int count) | 5476 int dw_filesystem_setup(HWND handle, unsigned long *flags, char **titles, int count) |
5453 { | 5477 { |
5454 char **newtitles = malloc(sizeof(char *) * (count + 2)); | 5478 char **newtitles = malloc(sizeof(char *) * (count + 2)); |
5455 unsigned long *newflags = malloc(sizeof(unsigned long) * (count + 2)); | 5479 unsigned long *newflags = malloc(sizeof(unsigned long) * (count + 2)); |
5456 | 5480 |
5457 newtitles[0] = "Filename"; | 5481 newtitles[0] = "Icon"; |
5458 newflags[0] = DW_CFA_STRINGANDICON | DW_CFA_LEFT | DW_CFA_HORZSEPARATOR; | 5482 newflags[0] = DW_CFA_BITMAPORICON | DW_CFA_LEFT | DW_CFA_HORZSEPARATOR; |
5483 newtitles[1] = "Filename"; | |
5484 newflags[1] = DW_CFA_STRING | DW_CFA_LEFT | DW_CFA_HORZSEPARATOR; | |
5459 | 5485 |
5460 memcpy(&newtitles[2], titles, sizeof(char *) * count); | 5486 memcpy(&newtitles[2], titles, sizeof(char *) * count); |
5461 memcpy(&newflags[2], flags, sizeof(unsigned long) * count); | 5487 memcpy(&newflags[2], flags, sizeof(unsigned long) * count); |
5462 | 5488 |
5463 _dw_container_setup(handle, newflags, newtitles, count + 1, 1, 1); | 5489 _dw_container_setup(handle, newflags, newtitles, count + 1, 1, 1); |
6190 GtkWidget *colorw, *ok_button, *cancel_button; | 6216 GtkWidget *colorw, *ok_button, *cancel_button; |
6191 int _locked_by_me = FALSE; | 6217 int _locked_by_me = FALSE; |
6192 DWDialog *dwwait; | 6218 DWDialog *dwwait; |
6193 GtkColorSelection *colorsel; | 6219 GtkColorSelection *colorsel; |
6194 GdkColor color = _internal_color(value); | 6220 GdkColor color = _internal_color(value); |
6195 GObject *part; | |
6196 unsigned long dw_color; | 6221 unsigned long dw_color; |
6197 | 6222 |
6198 DW_MUTEX_LOCK; | 6223 DW_MUTEX_LOCK; |
6199 | 6224 |
6200 /* The DW mutex should be sufficient for | 6225 /* The DW mutex should be sufficient for |
8572 else if(GTK_IS_COMBO_BOX(handle2)) | 8597 else if(GTK_IS_COMBO_BOX(handle2)) |
8573 store = (GtkListStore *)gtk_combo_box_get_model(GTK_COMBO_BOX(handle2)); | 8598 store = (GtkListStore *)gtk_combo_box_get_model(GTK_COMBO_BOX(handle2)); |
8574 | 8599 |
8575 if(store) | 8600 if(store) |
8576 { | 8601 { |
8577 GtkTreeSelection *sel = gtk_tree_view_get_selection(GTK_TREE_VIEW(handle2)); | 8602 if(GTK_IS_TREE_VIEW(handle2)) |
8578 GList *list = gtk_tree_selection_get_selected_rows(sel, NULL); | |
8579 if(list) | |
8580 { | 8603 { |
8581 GtkTreePath *path = g_list_nth_data(list, 0); | 8604 GtkTreeSelection *sel = gtk_tree_view_get_selection(GTK_TREE_VIEW(handle2)); |
8582 gint *indices = gtk_tree_path_get_indices(path); | 8605 GList *list = gtk_tree_selection_get_selected_rows(sel, NULL); |
8606 if(list) | |
8607 { | |
8608 GtkTreePath *path = g_list_nth_data(list, 0); | |
8609 gint *indices = gtk_tree_path_get_indices(path); | |
8610 | |
8611 if(indices) | |
8612 { | |
8613 retval = indices[0]; | |
8614 } | |
8615 | |
8616 g_list_foreach(list, (GFunc) gtk_tree_path_free, NULL); | |
8617 g_list_free(list); | |
8618 } | |
8619 } | |
8620 else | |
8621 { | |
8622 GtkTreeIter iter; | |
8623 GtkTreePath *path; | |
8624 gint *indices; | |
8583 | 8625 |
8626 gtk_combo_box_get_active_iter(GTK_COMBO_BOX(handle2), &iter); | |
8627 path = gtk_tree_model_get_path(GTK_TREE_MODEL(store), &iter); | |
8628 indices = gtk_tree_path_get_indices(path); | |
8629 | |
8584 if(indices) | 8630 if(indices) |
8585 { | 8631 { |
8586 retval = indices[0]; | 8632 retval = indices[0]; |
8587 } | 8633 } |
8588 | 8634 gtk_tree_path_free(path); |
8589 g_list_foreach(list, (GFunc) gtk_tree_path_free, NULL); | |
8590 g_list_free(list); | |
8591 } | 8635 } |
8592 } | 8636 } |
8593 } | 8637 } |
8594 DW_MUTEX_UNLOCK; | 8638 DW_MUTEX_UNLOCK; |
8595 return retval; | 8639 return retval; |
8638 gtk_tree_selection_select_iter(sel, &iter); | 8682 gtk_tree_selection_select_iter(sel, &iter); |
8639 } | 8683 } |
8640 else | 8684 else |
8641 { | 8685 { |
8642 /* Deselect the item */ | 8686 /* Deselect the item */ |
8643 gtk_tree_selection_deselect_iter(sel, &iter); | 8687 gtk_tree_selection_unselect_iter(sel, &iter); |
8644 } | 8688 } |
8645 } | 8689 } |
8646 } | 8690 } |
8647 } | 8691 } |
8648 DW_MUTEX_UNLOCK; | 8692 DW_MUTEX_UNLOCK; |
8669 handle2 = tmp; | 8713 handle2 = tmp; |
8670 } | 8714 } |
8671 if(handle2) | 8715 if(handle2) |
8672 { | 8716 { |
8673 /* Make sure it is the correct tree type */ | 8717 /* Make sure it is the correct tree type */ |
8674 if(GTK_IS_TREE_VIEW(handle2) && g_object_get_data(G_OBJECT(handle2), "_dw_tree_type") == _DW_TREE_TYPE_LISTBOX) | 8718 if(GTK_IS_TREE_VIEW(handle2) && g_object_get_data(G_OBJECT(handle2), "_dw_tree_type") == GINT_TO_POINTER(_DW_TREE_TYPE_LISTBOX)) |
8675 store = (GtkTreeStore *)gtk_tree_view_get_model(GTK_TREE_VIEW(handle2)); | 8719 store = (GtkListStore *)gtk_tree_view_get_model(GTK_TREE_VIEW(handle2)); |
8676 else if(GTK_IS_COMBO_BOX(handle2)) | 8720 else if(GTK_IS_COMBO_BOX(handle2)) |
8677 store = (GtkTreeStore *)gtk_combo_box_get_model(GTK_COMBO_BOX(handle2)); | 8721 store = (GtkListStore *)gtk_combo_box_get_model(GTK_COMBO_BOX(handle2)); |
8678 | 8722 |
8679 if(store) | 8723 if(store) |
8680 { | 8724 { |
8681 GtkTreeIter iter; | 8725 GtkTreeIter iter; |
8682 | 8726 |