Mercurial > dwindows
diff os2/dw.c @ 346:81fae15885d7
Implemented switch-page on OS/2, and changed the signal prototype to
unsigned long instead of int. Also dw_notebook_page_query should
return unsigned long as well.
author | bsmith@81767d24-ef19-dc11-ae90-00e081727c95 |
---|---|
date | Fri, 11 Apr 2003 13:35:50 +0000 |
parents | 4029240b5e63 |
children | 0137c30f485e |
line wrap: on
line diff
--- a/os2/dw.c Fri Apr 11 12:26:54 2003 +0000 +++ b/os2/dw.c Fri Apr 11 13:35:50 2003 +0000 @@ -94,7 +94,7 @@ } SignalList; /* List of signals and their equivilent OS/2 message */ -#define SIGNALMAX 14 +#define SIGNALMAX 15 SignalList SignalTranslate[SIGNALMAX] = { { WM_SIZE, DW_SIGNAL_CONFIGURE }, @@ -110,7 +110,8 @@ { LN_SELECT, DW_SIGNAL_LIST_SELECT }, { CN_EMPHASIS, DW_SIGNAL_ITEM_SELECT }, { WM_SETFOCUS, DW_SIGNAL_SET_FOCUS }, - { SLN_SLIDERTRACK, DW_SIGNAL_VALUE_CHANGED } + { SLN_SLIDERTRACK, DW_SIGNAL_VALUE_CHANGED }, + { BKN_PAGESELECTED,DW_SIGNAL_SWITCH_PAGE } }; /* This function adds a signal handler callback into the linked list. @@ -2295,7 +2296,19 @@ } } } - + break; + case BKN_PAGESELECTED: + { + PAGESELECTNOTIFY *psn = (PAGESELECTNOTIFY *)mp2; + + if(psn && tmp->window == psn->hwndBook) + { + int (* API switchpagefunc)(HWND, unsigned long, void *) = (int (* API)(HWND, unsigned long, void *))tmp->signalfunction; + + result = switchpagefunc(tmp->window, psn->ulPageIdNew, tmp->data); + tmp = NULL; + } + } break; } } @@ -5036,9 +5049,9 @@ * Parameters: * handle: Handle to the notebook widget. */ -unsigned int API dw_notebook_page_query(HWND handle) -{ - return (int)WinSendMsg(handle, BKM_QUERYPAGEID,0L, MPFROM2SHORT(BKA_TOP, BKA_MAJOR)); +unsigned long API dw_notebook_page_query(HWND handle) +{ + return (unsigned long)WinSendMsg(handle, BKM_QUERYPAGEID,0L, MPFROM2SHORT(BKA_TOP, BKA_MAJOR)); } /*