Mercurial > dwindows
comparison win/dw.c @ 321:be76b984620a
Make sure dw_tree_item_select() does not cause a DW_SIGNAL_ITEM_SELECT.
author | bsmith@81767d24-ef19-dc11-ae90-00e081727c95 |
---|---|
date | Thu, 03 Apr 2003 10:13:42 +0000 |
parents | f452ef00e193 |
children | e00aff2b899e |
comparison
equal
deleted
inserted
replaced
320:ae5b1eecea12 | 321:be76b984620a |
---|---|
1485 | 1485 |
1486 if(strnicmp(tmpbuf, WC_TREEVIEW, strlen(WC_TREEVIEW))==0) | 1486 if(strnicmp(tmpbuf, WC_TREEVIEW, strlen(WC_TREEVIEW))==0) |
1487 { | 1487 { |
1488 if(tem->hdr.code == TVN_SELCHANGED && tmp->message == TVN_SELCHANGED) | 1488 if(tem->hdr.code == TVN_SELCHANGED && tmp->message == TVN_SELCHANGED) |
1489 { | 1489 { |
1490 if(tmp->window == tem->hdr.hwndFrom) | 1490 if(tmp->window == tem->hdr.hwndFrom && !dw_window_get_data(tmp->window, "_dw_select_item")) |
1491 { | 1491 { |
1492 int (*treeselectfunc)(HWND, HWND, char *, void *, void *) = tmp->signalfunction; | 1492 int (*treeselectfunc)(HWND, HWND, char *, void *, void *) = tmp->signalfunction; |
1493 TVITEM tvi; | 1493 TVITEM tvi; |
1494 void **ptrs; | 1494 void **ptrs; |
1495 | 1495 |
5866 * handle: Handle to the tree window (widget) to be selected. | 5866 * handle: Handle to the tree window (widget) to be selected. |
5867 * item: Handle to the item to be selected. | 5867 * item: Handle to the item to be selected. |
5868 */ | 5868 */ |
5869 void API dw_tree_item_select(HWND handle, HWND item) | 5869 void API dw_tree_item_select(HWND handle, HWND item) |
5870 { | 5870 { |
5871 dw_window_set_data(handle, "_dw_select_item", (void *)1); | |
5871 TreeView_SelectItem(handle, (HTREEITEM)item); | 5872 TreeView_SelectItem(handle, (HTREEITEM)item); |
5873 dw_window_set_data(handle, "_dw_select_item", (void *)0); | |
5872 } | 5874 } |
5873 | 5875 |
5874 /* Delete all tree subitems */ | 5876 /* Delete all tree subitems */ |
5875 void _dw_tree_delete_recursive(HWND handle, HTREEITEM node) | 5877 void _dw_tree_delete_recursive(HWND handle, HTREEITEM node) |
5876 { | 5878 { |