/* * setMaximizedMenuConfig - set up main menu in the maximized configuration */ static void setMaximizedMenuConfig( HWND hwnd ) { #ifndef __OS2_PM__ HMENU menu; HMENU sys_menu; if( insertedItems ) { SetSystemMenu( hwnd ); } else { getMenuBitmaps(); menu = _wpi_getmenu( mdiInfo.root ); insertedItems = TRUE; sys_menu = generateSystemMenu( hwnd ); if( sys_menu != NULL ) { InsertMenu( menu, 0, MF_POPUP | MF_BYPOSITION | MF_BITMAP, (UINT)sys_menu, (LPVOID)closeBitmap ); } else { InsertMenu( menu, 0, MF_BYPOSITION | MF_BITMAP, -1, (LPVOID)closeBitmap ); } InsertMenu( menu, -1, MF_HELP | MF_BYPOSITION | MF_BITMAP, SC_RESTORE, (LPVOID)restoreBitmap ); _wpi_drawmenubar( mdiInfo.root ); } #else hwnd = hwnd; #endif } /* setMaximizedMenuConfig */
/* * doMaximizeAll - maximize all children */ static void doMaximizeAll( HWND first ) { mdi_data *md; bool was_max; was_max = childrenMaximized; childrenMaximized = TRUE; doMaximize( first ); if( !was_max ) { md = mdiHead; while( md != NULL ) { if( md->hwnd != first ) { if( _wpi_isiconic( md->hwnd ) ) { doMaximize( md->hwnd ); } } md = md->next; } } SetSystemMenu( first ); } /* doMaximizeAll */
MRESULT EXPENTRY fnwpModemOutStatusDlg(HWND hwnd,USHORT msg,MPARAM mp1,MPARAM mp2) { static ULONG idTimer; char szCaption[80]; switch (msg) { case WM_INITDLG: SetSystemMenu(hwnd); WinSendDlgItemMsg(hwnd,HWS_DTR,EM_SETREADONLY,MPFROMSHORT(TRUE),(MPARAM)NULL); WinSendDlgItemMsg(hwnd,HWS_RTS,EM_SETREADONLY,MPFROMSHORT(TRUE),(MPARAM)NULL); // CenterDlgBox(hwnd); idTimer = 0L; break; case UM_INITLS: if (!bMOstatusActivated) { bMOstatusActivated = TRUE; if (lStatusWindowCount++ <= 0) MenuItemEnable(hwndFrame,IDM_SURFACE_THIS,TRUE); if (stCFG.bLoadWindowPosition && (hProfileInstance != NULL) && (stCFG.ptlMOstatusPos.y > -40)) WinSetWindowPos(hwnd,HWND_TOP,stCFG.ptlMOstatusPos.x,stCFG.ptlMOstatusPos.y,0L,0L,SWP_MOVE); else MousePosDlgBox(hwnd); WinShowWindow(hwnd,TRUE); WinSetFocus(HWND_DESKTOP,hwnd); } UpdateModemOutputStatusDlg(hwnd); idTimer = WinStartTimer(habAnchorBlock, hwnd, TID_STATMDMOUT, stCFG.wUpdateDelay); case UM_RESET_NAME: sprintf(szCaption,"%s - Modem Out",stCFG.szPortName); WinSetWindowText(hwnd,szCaption); break; case WM_CLOSE: case UM_KILL_MONITOR: bMOstatusActivated = FALSE; if (--lStatusWindowCount <= 0) MenuItemEnable(hwndFrame,IDM_SURFACE_THIS,FALSE); if (idTimer) { WinStopTimer(habAnchorBlock, hwnd, idTimer); idTimer = 0L; } return(WinDefDlgProc(hwnd,msg,mp1,mp2)); case UM_RESETTIMER: if (idTimer != 0L) idTimer = WinStartTimer(habAnchorBlock, hwnd, idTimer, stCFG.wUpdateDelay); break; case WM_TIMER: UpdateModemOutputStatusDlg(hwnd); return(FALSE); case WM_ACTIVATE: if (bMOstatusActivated) WinSetFocus(HWND_DESKTOP,hwnd); break; default: return(WinDefDlgProc(hwnd,msg,mp1,mp2)); } return FALSE; }
MRESULT EXPENTRY fnwpRcvBufferStatusDlg(HWND hwnd,USHORT msg,MPARAM mp1,MPARAM mp2) { static ULONG idTimer; char szCaption[80]; static SHORT sCurrentFocus; switch (msg) { case WM_INITDLG: SetSystemMenu(hwnd); WinSendDlgItemMsg(hwnd,HWS_BUFLEV,EM_SETREADONLY,MPFROMSHORT(TRUE),(MPARAM)NULL); WinSendDlgItemMsg(hwnd,HWS_BUFLEN,EM_SETREADONLY,MPFROMSHORT(TRUE),(MPARAM)NULL); // CenterDlgBox(hwnd); idTimer = 0L; break; case UM_INITLS: if (!bRBstatusActivated) { bRBstatusActivated = TRUE; if (lStatusWindowCount++ <= 0) MenuItemEnable(hwndFrame,IDM_SURFACE_THIS,TRUE); if (stCFG.bLoadWindowPosition && (hProfileInstance != NULL) && (stCFG.ptlRBstatusPos.y > -40)) WinSetWindowPos(hwnd,HWND_TOP,stCFG.ptlRBstatusPos.x,stCFG.ptlRBstatusPos.y,0L,0L,SWP_MOVE); else MousePosDlgBox(hwnd); WinShowWindow(hwnd,TRUE); WinSetFocus(HWND_DESKTOP,hwnd); stCFG.fTraceEvent |= CSFUNC_TRACE_RX_BUFF_LEVEL; if (bCOMscopeEnabled && (hCom != 0xffffffff)) EnableCOMscope(hwnd,hCom,&ulCOMscopeBufferSize,stCFG.fTraceEvent); ResetHighWater(); } UpdateRcvBufferStatusDlg(hwnd); idTimer = WinStartTimer(habAnchorBlock, hwnd, TID_STATRCVBUF, stCFG.wUpdateDelay); sCurrentFocus = 0; case UM_RESET_NAME: sprintf(szCaption,"%s - Receive Buffer",stCFG.szPortName); WinSetWindowText(hwnd,szCaption); break; case WM_CLOSE: case UM_KILL_MONITOR: bRBstatusActivated = FALSE; stCFG.fTraceEvent &= ~CSFUNC_TRACE_RX_BUFF_LEVEL; if (bCOMscopeEnabled && (hCom != 0xffffffff)) EnableCOMscope(hwnd,hCom,&ulCOMscopeBufferSize,stCFG.fTraceEvent); if (--lStatusWindowCount <= 0) MenuItemEnable(hwndFrame,IDM_SURFACE_THIS,FALSE); if (idTimer) { WinStopTimer(habAnchorBlock, hwnd, idTimer); idTimer = 0L; } return(WinDefDlgProc(hwnd,msg,mp1,mp2)); case UM_RESETTIMER: if (idTimer != 0L) idTimer = WinStartTimer(habAnchorBlock, hwnd, idTimer, stCFG.wUpdateDelay); break; case WM_TIMER: UpdateRcvBufferStatusDlg(hwnd); return(FALSE); case WM_CHAR: if ((sCurrentFocus != 0) && (SHORT1FROMMP(mp1) & KC_CHAR) && (SHORT1FROMMP(mp2) == ' ')) ResetHighWater(); else return(WinDefDlgProc(hwnd,msg,mp1,mp2)); break; case WM_BUTTON1UP: if (sCurrentFocus != 0) ResetHighWater(); else return(WinDefDlgProc(hwnd,msg,mp1,mp2)); break; case WM_CONTROL: switch (SHORT2FROMMP(mp1)) { case EN_SETFOCUS: if (SHORT1FROMMP(mp1) == HWS_BUFHIGH) sCurrentFocus = SHORT1FROMMP(mp1); break; case EN_KILLFOCUS: sCurrentFocus = 0; break; } break; case WM_ACTIVATE: if (bRBstatusActivated) WinSetFocus(HWND_DESKTOP,hwnd); break; default: return(WinDefDlgProc(hwnd,msg,mp1,mp2)); } return FALSE; }
MRESULT EXPENTRY fnwpDeviceStatusDlg(HWND hwnd,USHORT msg,MPARAM mp1,MPARAM mp2) { USHORT idDlg; PFNWP pfnDlgProc; static ULONG idTimer; char szStatus[80]; WORD wStatus; static BOOL bShowingBits; static SHORT sCurrentFocus; switch (msg) { case WM_INITDLG: SetSystemMenu(hwnd); WinSendDlgItemMsg(hwnd,HWS_COMST,EM_SETREADONLY,MPFROMSHORT(TRUE),(MPARAM)NULL); WinSendDlgItemMsg(hwnd,HWS_COMERROR,EM_SETREADONLY,MPFROMSHORT(TRUE),(MPARAM)NULL); WinSendDlgItemMsg(hwnd,HWS_COMEVENT,EM_SETREADONLY,MPFROMSHORT(TRUE),(MPARAM)NULL); WinSendDlgItemMsg(hwnd,HWS_XMITST,EM_SETREADONLY,MPFROMSHORT(TRUE),(MPARAM)NULL); idTimer = 0L; bShowingBits = FALSE; sCurrentFocus = 0; CenterDlgBox(hwnd); break; case UM_INITLS: if (!bDDstatusActivated) { bDDstatusActivated = TRUE; if (lStatusWindowCount++ <= 0) MenuItemEnable(hwndFrame,IDM_SURFACE_THIS,TRUE); if (stCFG.bLoadWindowPosition && (hProfileInstance != NULL) && (stCFG.ptlDDstatusPos.y > -40)) WinSetWindowPos(hwnd,HWND_TOP,stCFG.ptlDDstatusPos.x,stCFG.ptlDDstatusPos.y,0L,0L,SWP_MOVE); else MousePosDlgBox(hwnd); WinShowWindow(hwnd,TRUE); WinSetFocus(HWND_DESKTOP,hwnd); } UpdateDeviceStatusDlg(hwnd); idTimer = WinStartTimer(habAnchorBlock, hwnd, TID_STATDEV, stCFG.wUpdateDelay); case UM_RESET_NAME: sprintf(szStatus,"%s - Device Driver Status",stCFG.szPortName); WinSetWindowText(hwnd,szStatus); break; case WM_CLOSE: case UM_KILL_MONITOR: bDDstatusActivated = FALSE; if (--lStatusWindowCount <= 0) MenuItemEnable(hwndFrame,IDM_SURFACE_THIS,FALSE); if (idTimer) { WinStopTimer(habAnchorBlock, hwnd, idTimer); idTimer = 0L; } return(WinDefDlgProc(hwnd,msg,mp1,mp2)); case UM_RESETTIMER: if (idTimer != 0L) idTimer = WinStartTimer(habAnchorBlock, hwnd, idTimer, stCFG.wUpdateDelay); break; case WM_CHAR: if ((sCurrentFocus != 0) && (!bShowingBits) && (SHORT1FROMMP(mp1) & KC_CHAR) && (SHORT1FROMMP(mp2) == ' ')) { WinPostMsg(hwnd,UM_SHOWBITS,MPFROMSHORT(sCurrentFocus),(MPARAM)0L); bShowingBits = TRUE; } else return(WinDefDlgProc(hwnd,msg,mp1,mp2)); break; case WM_BUTTON1UP: if ((sCurrentFocus != 0) && (!bShowingBits)) { WinPostMsg(hwnd,UM_SHOWBITS,MPFROMSHORT(sCurrentFocus),(MPARAM)0L); bShowingBits = TRUE; } else return(WinDefDlgProc(hwnd,msg,mp1,mp2)); break; case WM_CONTROL: if (!bShowingBits) { switch (SHORT2FROMMP(mp1)) { case EN_SETFOCUS: sCurrentFocus = SHORT1FROMMP(mp1); break; case EN_KILLFOCUS: sCurrentFocus = 0; break; } } break; case UM_SHOWBITS: switch(SHORT1FROMMP(mp1)) { case HWS_COMERROR: idDlg = CER_DLG; pfnDlgProc = (PFNWP)fnwpCOMerrorStatesDlg; WinQueryDlgItemText(hwnd,HWS_COMERROR,sizeof(szStatus),szStatus); break; case HWS_COMEVENT: idDlg = CEV_DLG; pfnDlgProc = (PFNWP)fnwpCOMeventStatesDlg; WinQueryDlgItemText(hwnd,HWS_COMEVENT,sizeof(szStatus),szStatus); break; case HWS_COMST: idDlg = CST_DLG; pfnDlgProc = (PFNWP)fnwpCOMstatusStatesDlg; WinQueryDlgItemText(hwnd,HWS_COMST,sizeof(szStatus),szStatus); break; case HWS_XMITST: idDlg = TST_DLG; pfnDlgProc = (PFNWP)fnwpXmitStatusStatesDlg; WinQueryDlgItemText(hwnd,HWS_XMITST,sizeof(szStatus),szStatus); break; default: return(FALSE); } wStatus = (WORD)ASCIItoBin(szStatus,16); WinDlgBox(HWND_DESKTOP, hwnd, pfnDlgProc, NULLHANDLE, idDlg, &wStatus); WinSetFocus(HWND_DESKTOP,hwnd); bShowingBits = FALSE; break; case WM_TIMER: UpdateDeviceStatusDlg(hwnd); break; case WM_ACTIVATE: if (bDDstatusActivated) WinSetFocus(HWND_DESKTOP,hwnd); break; default: return(WinDefDlgProc(hwnd,msg,mp1,mp2)); } return FALSE; }