comparison os2/dw.c @ 166:fb2987817924

Optimize disabling of controls... if already disabled do nothing.
author bsmith@81767d24-ef19-dc11-ae90-00e081727c95
date Tue, 19 Nov 2002 20:27:45 +0000
parents c555d06b6c93
children 0b3debaa9c6c
comparison
equal deleted inserted replaced
165:d03716228b7f 166:fb2987817924
4351 */ 4351 */
4352 void dw_window_disable(HWND handle) 4352 void dw_window_disable(HWND handle)
4353 { 4353 {
4354 char tmpbuf[100]; 4354 char tmpbuf[100];
4355 4355
4356 if(dw_window_get_data(handle, "_dw_disabled"))
4357 return;
4358
4356 WinQueryClassName(handle, 99, tmpbuf); 4359 WinQueryClassName(handle, 99, tmpbuf);
4360 dw_window_set_data(handle, "_dw_disabled", (void *)1);
4357 4361
4358 if(tmpbuf[0] == '#') 4362 if(tmpbuf[0] == '#')
4359 { 4363 {
4360 int val = atoi(&tmpbuf[1]); 4364 int val = atoi(&tmpbuf[1]);
4361 HWND hwnd; 4365 HWND hwnd;
4370 hwnd = _find_entryfield(handle); 4374 hwnd = _find_entryfield(handle);
4371 _dw_window_set_color(hwnd ? hwnd : handle, DW_CLR_BLACK, DW_CLR_PALEGRAY); 4375 _dw_window_set_color(hwnd ? hwnd : handle, DW_CLR_BLACK, DW_CLR_PALEGRAY);
4372 dw_signal_connect(hwnd ? hwnd : handle, "key_press_event", DW_SIGNAL_FUNC(_null_key), (void *)100); 4376 dw_signal_connect(hwnd ? hwnd : handle, "key_press_event", DW_SIGNAL_FUNC(_null_key), (void *)100);
4373 if(val == 2) 4377 if(val == 2)
4374 dw_signal_connect(handle, "button_press_event", DW_SIGNAL_FUNC(_null_key), (void *)100); 4378 dw_signal_connect(handle, "button_press_event", DW_SIGNAL_FUNC(_null_key), (void *)100);
4375 dw_window_set_data(handle, "_dw_disabled", (void *)1);
4376 if(hwnd) 4379 if(hwnd)
4377 dw_window_set_data(hwnd, "_dw_disabled", (void *)1); 4380 dw_window_set_data(hwnd, "_dw_disabled", (void *)1);
4378 return; 4381 return;
4379 case 3: 4382 case 3:
4380 _dw_window_set_color(handle, DW_CLR_DARKGRAY, DW_CLR_PALEGRAY); 4383 _dw_window_set_color(handle, DW_CLR_DARKGRAY, DW_CLR_PALEGRAY);
4381 dw_signal_connect(handle, "key_press_event", DW_SIGNAL_FUNC(_null_key), (void *)100); 4384 dw_signal_connect(handle, "key_press_event", DW_SIGNAL_FUNC(_null_key), (void *)100);
4382 dw_signal_connect(handle, "button_press_event", DW_SIGNAL_FUNC(_null_key), (void *)100); 4385 dw_signal_connect(handle, "button_press_event", DW_SIGNAL_FUNC(_null_key), (void *)100);
4383 dw_window_set_data(handle, "_dw_disabled", (void *)1);
4384 return; 4386 return;
4385 } 4387 }
4386 } 4388 }
4387 WinEnableWindow(handle, FALSE); 4389 WinEnableWindow(handle, FALSE);
4388 } 4390 }