Ignore:
Timestamp:
Jul 19, 1999, 3:58:39 PM (26 years ago)
Author:
sandervl
Message:

Menus now work

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/user32/new/pmwindow.cpp

    r329 r338  
    1 /* $Id: pmwindow.cpp,v 1.10 1999-07-18 14:56:36 sandervl Exp $ */
     1/* $Id: pmwindow.cpp,v 1.11 1999-07-19 13:58:38 sandervl Exp $ */
    22/*
    33 * Win32 Window Managment Code for OS/2
     
    9999    //internal messages
    100100    case WM_WIN32_POSTMESSAGEA:
    101         postmsg = (POSTMSG_PACKET *)mp1;
    102         if(postmsg == NULL) {
    103                 dprintf(("WM_WIN32_POSTMESSAGEA, postmsg NULL!!"));
    104                 break;
    105         }
    106         win32wnd->SendMessageA(postmsg->Msg, postmsg->wParam, postmsg->lParam);
    107         free(postmsg);
    108                 break;
    109        
     101        postmsg = (POSTMSG_PACKET *)mp1;
     102        if(postmsg == NULL) {
     103            dprintf(("WM_WIN32_POSTMESSAGEA, postmsg NULL!!"));
     104            break;
     105        }
     106        win32wnd->SendMessageA(postmsg->Msg, postmsg->wParam, postmsg->lParam);
     107        free(postmsg);
     108        break;
     109
    110110    case WM_WIN32_POSTMESSAGEW:
    111         postmsg = (POSTMSG_PACKET *)mp1;
    112         if(postmsg == NULL) {
    113                 dprintf(("WM_WIN32_POSTMESSAGEW, postmsg NULL!!"));
    114                 break;
    115         }
    116         win32wnd->SendMessageW(postmsg->Msg, postmsg->wParam, postmsg->lParam);
    117         free(postmsg);
    118         break;
     111        postmsg = (POSTMSG_PACKET *)mp1;
     112        if(postmsg == NULL) {
     113            dprintf(("WM_WIN32_POSTMESSAGEW, postmsg NULL!!"));
     114            break;
     115        }
     116        win32wnd->SendMessageW(postmsg->Msg, postmsg->wParam, postmsg->lParam);
     117        free(postmsg);
     118        break;
    119119
    120120    //OS/2 msgs
    121121    case WM_CREATE:
    122122        //Processing is done in after WinCreateWindow returns
    123         dprintf(("OS2: WM_CREATE %x", hwnd));
    124         RestoreOS2TIB();
    125         return (MRESULT)FALSE;
     123        dprintf(("OS2: WM_CREATE %x", hwnd));
     124        RestoreOS2TIB();
     125        return (MRESULT)FALSE;
    126126
    127127    case WM_QUIT:
    128         dprintf(("OS2: WM_QUIT %x", hwnd));
     128        dprintf(("OS2: WM_QUIT %x", hwnd));
    129129        if(win32wnd->MsgQuit()) {
    130130                goto RunDefWndProc;
     
    133133
    134134    case WM_CLOSE:
    135         dprintf(("OS2: WM_CLOSE %x", hwnd));
     135        dprintf(("OS2: WM_CLOSE %x", hwnd));
    136136        if(win32wnd->MsgClose()) {
    137137                goto RunDefWndProc;
     
    140140
    141141    case WM_DESTROY:
    142         dprintf(("OS2: WM_DESTROY %x", hwnd));
     142        dprintf(("OS2: WM_DESTROY %x", hwnd));
    143143        if(win32wnd->MsgDestroy()) {
    144144                goto RunDefWndProc;
     
    147147
    148148    case WM_ENABLE:
    149         dprintf(("OS2: WM_ENABLE %x", hwnd));
     149        dprintf(("OS2: WM_ENABLE %x", hwnd));
    150150        if(win32wnd->MsgEnable((ULONG)mp1)) {
    151151                goto RunDefWndProc;
     
    154154
    155155    case WM_SHOW:
    156         dprintf(("OS2: WM_SHOW %x", hwnd));
     156        dprintf(("OS2: WM_SHOW %x", hwnd));
    157157        if(win32wnd->MsgShow((ULONG)mp1)) {
    158158                goto RunDefWndProc;
     
    165165      ULONG x, y;
    166166
    167         dprintf(("OS2: WM_MOVE %x", hwnd));
    168 
    169         WinQueryWindowRect(hwnd, (PRECTL)&rectChild);
     167        dprintf(("OS2: WM_MOVE %x", hwnd));
     168
     169        WinQueryWindowRect(hwnd, (PRECTL)&rectChild);
    170170
    171171        //Calculate position relative to parent window (real window or desktop)
     
    181181    case WM_WINDOWPOSCHANGED:
    182182    {
    183         dprintf(("OS2: WM_WINDOWPOSCHANGED %x", hwnd));
     183        dprintf(("OS2: WM_WINDOWPOSCHANGED %x", hwnd));
    184184    }
    185185
    186186    case WM_ADJUSTWINDOWPOS:
    187187    {
    188         dprintf(("OS2: WM_ADJUSTWINDOWPOS %x", hwnd));
     188        dprintf(("OS2: WM_ADJUSTWINDOWPOS %x", hwnd));
    189189//          if(win32wnd->MsgWindowPosChanging(0, 0)) {
    190190                goto RunDefWndProc;
     
    197197     HPS hps;
    198198
    199         dprintf(("OS2: WM_ERASEBACKGROUND %x", hwnd));
     199        dprintf(("OS2: WM_ERASEBACKGROUND %x", hwnd));
    200200        hps = WinGetPS(hwnd);
    201201        if(!win32wnd->MsgEraseBackGround((ULONG)hps))
     
    215215     SWP swp;
    216216
    217         dprintf(("OS2: WM_SIZE %x", hwnd));
     217        dprintf(("OS2: WM_SIZE %x", hwnd));
    218218        rc = WinQueryWindowPos(hwnd, &swp);
    219219        if(rc == FALSE) {
     
    234234      HWND hwndActivate = (HWND)mp1;
    235235
    236         dprintf(("OS2: WM_ACTIVATE %x", hwnd));
     236        dprintf(("OS2: WM_ACTIVATE %x", hwnd));
    237237        if(WinQueryWindowULong(hwndActivate, OFFSET_WIN32PM_MAGIC) != WIN32PM_MAGIC) {
    238238                //another (non-win32) application's window
     
    246246    }
    247247    case WM_FOCUSCHANGE:
    248         dprintf(("OS2: WM_FOCUSCHANGE %x", hwnd));
     248        dprintf(("OS2: WM_FOCUSCHANGE %x", hwnd));
    249249        goto RunDefWndProc;
    250250
     
    253253      HWND hwndFocus = (HWND)mp1;
    254254
    255         dprintf(("OS2: WM_SETFOCUS %x", hwnd));
     255        dprintf(("OS2: WM_SETFOCUS %x", hwnd));
    256256        if(WinQueryWindowULong(hwndFocus, OFFSET_WIN32PM_MAGIC) != WIN32PM_MAGIC) {
    257257                //another (non-win32) application's window
     
    272272    //**************************************************************************
    273273    case WM_BUTTON1DOWN:
    274         dprintf(("OS2: WM_BUTTON1DOWN %x", hwnd));
     274        dprintf(("OS2: WM_BUTTON1DOWN %x", hwnd));
    275275        if(win32wnd->MsgButton(BUTTON_LEFTDOWN, (*(POINTS *)&mp1).x, MapOS2ToWin32Y(hwnd, (*(POINTS *)&mp1).y))) {
    276276                goto RunDefWndProc;
     
    278278        break;
    279279    case WM_BUTTON1UP:
    280         dprintf(("OS2: WM_BUTTON1UP %x", hwnd));
     280        dprintf(("OS2: WM_BUTTON1UP %x", hwnd));
    281281        if(win32wnd->MsgButton(BUTTON_LEFTUP, (*(POINTS *)&mp1).x, MapOS2ToWin32Y(hwnd, (*(POINTS *)&mp1).y))) {
    282282                goto RunDefWndProc;
     
    332332    case WM_MOUSEMOVE:
    333333    {
    334                 ULONG keystate = 0;
    335                 if(WinGetKeyState(HWND_DESKTOP, VK_BUTTON1))
    336                         keystate |= WMMOVE_LBUTTON;
    337                 if(WinGetKeyState(HWND_DESKTOP, VK_BUTTON2))
    338                         keystate |= WMMOVE_MBUTTON;
    339                 if(WinGetKeyState(HWND_DESKTOP, VK_BUTTON3))
    340                         keystate |= WMMOVE_RBUTTON;
    341                 if(WinGetKeyState(HWND_DESKTOP, VK_SHIFT))
    342                         keystate |= WMMOVE_SHIFT;
    343                 if(WinGetKeyState(HWND_DESKTOP, VK_CTRL))
    344                         keystate |= WMMOVE_CTRL;
    345                        
     334        ULONG keystate = 0;
     335        if(WinGetKeyState(HWND_DESKTOP, VK_BUTTON1))
     336            keystate |= WMMOVE_LBUTTON;
     337        if(WinGetKeyState(HWND_DESKTOP, VK_BUTTON2))
     338            keystate |= WMMOVE_MBUTTON;
     339        if(WinGetKeyState(HWND_DESKTOP, VK_BUTTON3))
     340            keystate |= WMMOVE_RBUTTON;
     341        if(WinGetKeyState(HWND_DESKTOP, VK_SHIFT))
     342            keystate |= WMMOVE_SHIFT;
     343        if(WinGetKeyState(HWND_DESKTOP, VK_CTRL))
     344            keystate |= WMMOVE_CTRL;
     345
    346346        if(!win32wnd->MsgMouseMove(keystate, (*(POINTS *)&mp1).x, MapOS2ToWin32Y(hwnd, (*(POINTS *)&mp1).y))) {
    347347                goto RunDefWndProc;
     
    359359
    360360    case WM_COMMAND:
     361        if(SHORT1FROMMP(mp2) == CMDSRC_MENU) {
     362            win32wnd->MsgCommand(CMD_MENU, SHORT1FROMMP(mp1), 0);
     363        }
     364        //todo controls + accelerators
     365        break;
     366
    361367    case WM_SYSCOMMAND:
    362368
     
    369375
    370376    case WM_TIMER:
    371         goto RunDefWndProc;
    372                
     377        goto RunDefWndProc;
     378
    373379    case WM_SETWINDOWPARAMS:
    374380    {
    375381      WNDPARAMS *wndParams = (WNDPARAMS *)mp1;
    376382
    377         dprintf(("OS2: WM_SETWINDOWPARAMS %x", hwnd));
    378         if(wndParams->fsStatus & WPM_TEXT) {
     383        dprintf(("OS2: WM_SETWINDOWPARAMS %x", hwnd));
     384        if(wndParams->fsStatus & WPM_TEXT) {
    379385            if(win32wnd->MsgSetText(wndParams->pszText, wndParams->cchText)) {
    380386                    goto RunDefWndProc;
    381387            }
    382         }
    383         goto RunDefWndProc;
     388        }
     389        goto RunDefWndProc;
    384390    }
    385391
    386392    case WM_PAINT:
    387         dprintf(("OS2: WM_PAINT %x", hwnd));
     393        dprintf(("OS2: WM_PAINT %x", hwnd));
    388394        if(win32wnd->MsgPaint(0, 0)) {
    389395                goto RunDefWndProc;
     
    395401                goto RunDefWndProc;
    396402        }
    397         break;
    398        
     403        break;
     404
    399405    case WM_SYSCOLORCHANGE:
    400406    case WM_SYSVALUECHANGED:
     
    420426    case WM_SEMANTICEVENT:
    421427    default:
    422         dprintf(("OS2: RunDefWndProc msg %x for %x", msg, hwnd));
     428        dprintf(("OS2: RunDefWndProc msg %x for %x", msg, hwnd));
    423429        RestoreOS2TIB();
    424430        return WinDefWindowProc( hwnd, msg, mp1, mp2 );
Note: See TracChangeset for help on using the changeset viewer.