Changeset 86 for trunk/src


Ignore:
Timestamp:
May 31, 2008, 12:42:05 AM (17 years ago)
Author:
lpino
Message:

(Control.java) - Varios fixes and changes to make pop ups work

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/plugins/org.eclipse.swt/Eclipse SWT/pm/org/eclipse/swt/widgets/Control.java

    r74 r86  
    33/*
    44 * OS/2 version.
    5  * Copyright (c) 2002, 2004 EclipseOS2 Team.
     5 * Copyright (c) 2002, 2008 EclipseOS2 Team.
    66 */
    77
     
    472472
    473473//@@TODO (dmik): debug code, remove when no more necessary
    474 //System.out.println (
    475 //    "Control.createHandle(): Window has been created:\n" +
    476 //    "    hwnd = " + Integer.toHexString (handle) + "\n" +
    477 //    "    hwnd.parent = hwnd.owner = " + Integer.toHexString (parent.handle) + "\n" +
    478 //    "    class = " + windowClass() + "\n" +
    479 //    "    style = " + Integer.toHexString (widgetStyle())
    480 //);
     474System.out.println (
     475    "Control.createHandle(): Window has been created:\n" +
     476    "    hwnd = " + Integer.toHexString (handle) + "\n" +
     477    "    hwnd.parent = hwnd.owner = " + Integer.toHexString (parent.handle) + "\n" +
     478    "    class = " + windowClass() + "\n" +
     479    "    style = " + Integer.toHexString (widgetStyle())
     480);
    481481
    482482//@@TODO(dmik): DBCS handling?
     
    23202320 * </ul>
    23212321 */
    2322 //@@TODO(dmik)
     2322
    23232323public void setMenu (Menu menu) {
    23242324    checkWidget ();
     
    29492949        case OS.WM_COMMAND: result = WM_COMMAND (mp1, mp2); break;
    29502950//@@TODO (dmik): later
    2951 //        case OS.WM_CONTEXTMENU: result = WM_CONTEXTMENU (wParam, lParam); break;
     2951        case OS.WM_CONTEXTMENU: result = WM_CONTEXTMENU (mp1, mp2); break;
    29522952        case OS.WM_CONTROL: result = WM_CONTROL (mp1, mp2); break;
    29532953//@@TODO (dmik): later       
     
    29692969//        case OS.WM_IME_CHAR: result = WM_IME_CHAR (wParam, lParam); break;
    29702970//        case OS.WM_IME_COMPOSITION: result = WM_IME_COMPOSITION (wParam, lParam); break;
    2971 //        case OS.WM_INITMENUPOPUP: result = WM_INITMENUPOPUP (wParam, lParam); break;
     2971        case OS.WM_INITMENU: result = WM_INITMENU (mp1, mp2); break;
    29722972//        case OS.WM_GETFONT: result = WM_GETFONT (wParam, lParam); break;
    29732973//        case OS.WM_GETOBJECT: result = WM_GETOBJECT (wParam, lParam); break;
     
    29822982        case OS.WM_MEASUREITEM: result = WM_MEASUREITEM (mp1, mp2); break;
    29832983//        case OS.WM_MENUCHAR: result = WM_MENUCHAR (wParam, lParam); break;
    2984 //        case OS.WM_MENUSELECT: result = WM_MENUSELECT (wParam, lParam); break;
     2984        case OS.WM_MENUEND: result = WM_MENUEND (mp1, mp2); break;
     2985        case OS.WM_MENUSELECT: result = WM_MENUSELECT (mp1, mp2); break;
    29852986//        case OS.WM_MOUSEACTIVATE: result = WM_MOUSEACTIVATE (wParam, lParam); break;
    29862987//        case OS.WM_MOUSEHOVER: result = WM_MOUSEHOVER (wParam, lParam); break;
     
    30353036    boolean keyUp = (OS.SHORT1FROMMP (mp1) & OS.KC_KEYUP) != 0;
    30363037//@@TODO (dmik): debug, remove   
    3037 //System.out.println("WM_CHAR ("+this+"): vk="+OS.SHORT2FROMMP (mp2)+" keyup="+keyUp);
     3038System.out.println("WM_CHAR ("+this+"): vk="+OS.SHORT2FROMMP (mp2)+" keyup="+keyUp);
    30383039    sendKeyEvent (keyUp ? SWT.KeyUp : SWT.KeyDown, OS.WM_CHAR, mp1, mp2);
    30393040    return null;
     
    30873088}
    30883089
    3089 ////@@TODO (dmik): later
    3090 //LRESULT WM_CONTEXTMENU (int wParam, int lParam) {
    3091 //      /*
    3092 //      * Because context menus can be shared between controls
    3093 //      * and the parent of all menus is the shell, the menu may
    3094 //      * have been destroyed but not removed from the control.
    3095 //      */
    3096 //      if (wParam != handle) return null;
     3090MRESULT WM_CONTEXTMENU (int mp1, int mp2) {
     3091      /*
     3092      * Because context menus can be shared between controls
     3093      * and the parent of all menus is the shell, the menu may
     3094      * have been destroyed but not removed from the control.
     3095      */
     3096//      if (mp2 != handle) return null;
     3097    //@@TODO(lpino) Remove debug msg
     3098//      System.out.println("Control:WM_CONTEXTMENU - HANDLE = " + Integer.toHexString (handle));
     3099      short flOptions = OS.PU_HCONSTRAIN | OS.PU_VCONSTRAIN | OS.PU_MOUSEBUTTON1DOWN | OS.PU_KEYBOARD | OS.PU_MOUSEBUTTON1;
     3100      boolean rc = OS.WinPopupMenu(handle, handle, menu.handle, 0, OS.SHORT1FROMMP(mp1), OS.SHORT2FROMMP(mp1), flOptions);
    30973101//      if (menu != null && !menu.isDisposed ()) {
    30983102//              menu.setVisible (true);
    3099 //              return LRESULT.ZERO;
     3103//              return MRESULT.ZERO;
    31003104//      }
    3101 //      return null;
    3102 //}
     3105      return MRESULT.TRUE;
     3106}
    31033107
    31043108MRESULT WM_CONTROL (int mp1, int mp2) {
     
    32273231//}
    32283232//
    3229 //LRESULT WM_INITMENUPOPUP (int wParam, int lParam) {
    3230 //
    3231 //      /* Ignore WM_INITMENUPOPUP for an accelerator */
    3232 //      Display display = getDisplay ();
    3233 //      if (display.accelKeyHit) return null;
    3234 //
     3233MRESULT WM_INITMENU (int mp1, int mp2) {
     3234
     3235      /* Ignore WM_INITMENU for an accelerator */
     3236      Display display = getDisplay ();
     3237      if (display.accelKeyHit) return null;
     3238      System.out.println("Control:WM_INITMENU " + OS.WinIsWindowVisible(mp2));
    32353239//      /*
    32363240//      * If the high order word of LPARAM is non-zero,
     
    33013305//              // widget could be disposed at this point
    33023306//      }
    3303 //      return null;
    3304 //}
     3307      return null;
     3308}
    33053309
    33063310//@@TODO (dmik): later
     
    34613465//}
    34623466//
    3463 //LRESULT WM_MENUSELECT (int wParam, int lParam) {
     3467MRESULT WM_MENUSELECT (int mp1, int mp2) {
     3468    System.out.println("Control:WM_MENUSELECT");
    34643469//      int code = wParam >> 16;
    34653470//      Shell shell = getShell ();
     
    35433548//              if (item != null) item.sendEvent (SWT.Arm);
    35443549//      }
    3545 //      return null;
    3546 //}
     3550      return null;
     3551}
    35473552//
    35483553//LRESULT WM_MOUSEACTIVATE (int wParam, int lParam) {
     
    37983803   
    37993804    return MRESULT.ZERO;
     3805}
     3806
     3807MRESULT WM_MENUEND (int mp1, int mp2) {
     3808    System.out.println("Control:WM_MENUEND");
     3809      return null;
    38003810}
    38013811
Note: See TracChangeset for help on using the changeset viewer.