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 {