comparison win/dw.c @ 68:8d6100960adf

Minor tab changes on OS/2 and Windows.
author bsmith@81767d24-ef19-dc11-ae90-00e081727c95
date Tue, 22 Jan 2002 23:45:01 +0000
parents ab9b0fa6c66e
children 9510897c0b03
comparison
equal deleted inserted replaced
67:ab9b0fa6c66e 68:8d6100960adf
263 else 263 else
264 { 264 {
265 SignalHandler *prev = NULL, *tmp = Root; 265 SignalHandler *prev = NULL, *tmp = Root;
266 while(tmp) 266 while(tmp)
267 { 267 {
268 if(tmp->message == message &&
269 tmp->window == window &&
270 tmp->signalfunction == signalfunction)
271 {
272 tmp->data = data;
273 free(new);
274 return;
275 }
268 prev = tmp; 276 prev = tmp;
269 tmp = tmp->next; 277 tmp = tmp->next;
270 } 278 }
271 if(prev) 279 if(prev)
272 prev->next = new; 280 prev->next = new;
330 strnicmp(tmpbuf, BUTTONCLASSNAME, strlen(BUTTONCLASSNAME)+1)==0 || /* Button */ 338 strnicmp(tmpbuf, BUTTONCLASSNAME, strlen(BUTTONCLASSNAME)+1)==0 || /* Button */
331 strnicmp(tmpbuf, COMBOBOXCLASSNAME, strlen(COMBOBOXCLASSNAME)+1)==0 || /* Combobox */ 339 strnicmp(tmpbuf, COMBOBOXCLASSNAME, strlen(COMBOBOXCLASSNAME)+1)==0 || /* Combobox */
332 strnicmp(tmpbuf, LISTBOXCLASSNAME, strlen(LISTBOXCLASSNAME)+1)==0 || /* List box */ 340 strnicmp(tmpbuf, LISTBOXCLASSNAME, strlen(LISTBOXCLASSNAME)+1)==0 || /* List box */
333 strnicmp(tmpbuf, UPDOWN_CLASS, strlen(UPDOWN_CLASS)+1)==0 || /* Spinbutton */ 341 strnicmp(tmpbuf, UPDOWN_CLASS, strlen(UPDOWN_CLASS)+1)==0 || /* Spinbutton */
334 strnicmp(tmpbuf, TRACKBAR_CLASS, strlen(TRACKBAR_CLASS)+1)==0 || /* Slider */ 342 strnicmp(tmpbuf, TRACKBAR_CLASS, strlen(TRACKBAR_CLASS)+1)==0 || /* Slider */
335 strnicmp(tmpbuf, WC_LISTVIEW, strlen(WC_LISTVIEW)+1)== 0) /* Container */ 343 strnicmp(tmpbuf, WC_LISTVIEW, strlen(WC_LISTVIEW)+1)== 0 || /* Container */
344 strnicmp(tmpbuf, WC_TREEVIEW, strlen(WC_TREEVIEW)+1)== 0) /* Tree */
336 return 1; 345 return 1;
337 return 0; 346 return 0;
338 } 347 }
339 348
340 HWND _normalize_handle(HWND handle) 349 HWND _normalize_handle(HWND handle)
2071 if(!cinfo || !cinfo->pOldProc) 2080 if(!cinfo || !cinfo->pOldProc)
2072 return DefWindowProc(hWnd, msg, mp1, mp2); 2081 return DefWindowProc(hWnd, msg, mp1, mp2);
2073 return CallWindowProc(cinfo->pOldProc, hWnd, msg, mp1, mp2); 2082 return CallWindowProc(cinfo->pOldProc, hWnd, msg, mp1, mp2);
2074 } 2083 }
2075 2084
2085 BOOL CALLBACK _treewndproc(HWND hWnd, UINT msg, WPARAM mp1, LPARAM mp2)
2086 {
2087 ContainerInfo *cinfo;
2088
2089 cinfo = (ContainerInfo *)GetWindowLong(hWnd, GWL_USERDATA);
2090
2091 switch( msg )
2092 {
2093 case WM_CHAR:
2094 if(LOWORD(mp1) == '\t')
2095 {
2096 if(GetAsyncKeyState(VK_SHIFT))
2097 _shift_focus_back(hWnd);
2098 else
2099 _shift_focus(hWnd);
2100 return FALSE;
2101 }
2102 break;
2103 }
2104
2105 if(!cinfo || !cinfo->pOldProc)
2106 return DefWindowProc(hWnd, msg, mp1, mp2);
2107 return CallWindowProc(cinfo->pOldProc, hWnd, msg, mp1, mp2);
2108 }
2109
2076 void _changebox(Box *thisbox, int percent, int type) 2110 void _changebox(Box *thisbox, int percent, int type)
2077 { 2111 {
2078 int z; 2112 int z;
2079 2113
2080 for(z=0;z<thisbox->count;z++) 2114 for(z=0;z<thisbox->count;z++)
3540 DestroyWindow(tmp); 3574 DestroyWindow(tmp);
3541 return NULL; 3575 return NULL;
3542 } 3576 }
3543 3577
3544 cinfo->pOldProc = (WNDPROC)SubclassWindow(tmp, _containerwndproc); 3578 cinfo->pOldProc = (WNDPROC)SubclassWindow(tmp, _containerwndproc);
3579 cinfo->cinfo.fore = cinfo->cinfo.back = -1;
3545 3580
3546 SetWindowLong(tmp, GWL_USERDATA, (ULONG)cinfo); 3581 SetWindowLong(tmp, GWL_USERDATA, (ULONG)cinfo);
3547 dw_window_set_font(tmp, DefaultFont); 3582 dw_window_set_font(tmp, DefaultFont);
3548 return tmp; 3583 return tmp;
3549 } 3584 }
3564 0,0,2000,1000, 3599 0,0,2000,1000,
3565 DW_HWND_OBJECT, 3600 DW_HWND_OBJECT,
3566 (HMENU)id, 3601 (HMENU)id,
3567 NULL, 3602 NULL,
3568 NULL); 3603 NULL);
3604 ContainerInfo *cinfo = (ContainerInfo *)calloc(1, sizeof(ContainerInfo));
3569 TreeView_SetItemHeight(tmp, 16); 3605 TreeView_SetItemHeight(tmp, 16);
3606
3607 if(!cinfo)
3608 {
3609 DestroyWindow(tmp);
3610 return NULL;
3611 }
3612
3613 cinfo->pOldProc = (WNDPROC)SubclassWindow(tmp, _treewndproc);
3614 cinfo->cinfo.fore = cinfo->cinfo.back = -1;
3615
3616 SetWindowLong(tmp, GWL_USERDATA, (ULONG)cinfo);
3570 dw_window_set_font(tmp, DefaultFont); 3617 dw_window_set_font(tmp, DefaultFont);
3571 return tmp; 3618 return tmp;
3572 } 3619 }
3573 3620
3574 /* 3621 /*
3659 0,0,2000,1000, 3706 0,0,2000,1000,
3660 DW_HWND_OBJECT, 3707 DW_HWND_OBJECT,
3661 (HMENU)id, 3708 (HMENU)id,
3662 NULL, 3709 NULL,
3663 NULL); 3710 NULL);
3711 ContainerInfo *cinfo = (ContainerInfo *)calloc(1, sizeof(ContainerInfo));
3712
3713 if(!cinfo)
3714 {
3715 DestroyWindow(tmp);
3716 return NULL;
3717 }
3718
3719 cinfo->pOldProc = (WNDPROC)SubclassWindow(tmp, _treewndproc);
3720 cinfo->cinfo.fore = cinfo->cinfo.back = -1;
3721
3722 SetWindowLong(tmp, GWL_USERDATA, (ULONG)cinfo);
3664 dw_window_set_font(tmp, DefaultFont); 3723 dw_window_set_font(tmp, DefaultFont);
3665 return tmp; 3724 return tmp;
3666 } 3725 }
3667 3726
3668 /* 3727 /*