Changeset 90 for trunk/src


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

(Menu.java) - Various 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/Menu.java

    r76 r90  
    233233                                                        0               /* presentation parameters */
    234234                                                        );
    235 //System.out.println (
    236 //    "Menu.createHandle(): FID_MENU window has been created:\n" +
    237 //    "    hwnd = " + Integer.toHexString (handle) + "\n" +
    238 //    "    hwnd.parent = hwnd.owner = " + Integer.toHexString (handle) + "\n" +
    239 //    "    class = WC_MENU\n" +
    240 //    "    style = MS_ACTIONBAR"
    241 //);
    242         } else  if ((style & SWT.POP_UP) != 0) {
    243             short flOptions = OS.PU_MOUSEBUTTON1DOWN | OS.PU_KEYBOARD | OS.PU_MOUSEBUTTON1;
    244             handle = OS.WinCreateWindow (OS.HWND_DESKTOP,       /* parent window */
    245                                                         PSZ.getAtom (OS.WC_MENU),       /* class name */
    246                                                         null,   /* window text */
    247                                                         0,      /* window style */
    248                                                         0, 0, 0, 0, /* size and position */
    249                                                         OS.HWND_DESKTOP,        /* owner window */
    250                                                         OS.HWND_TOP, /* sibling window */
    251                                                         OS.FID_MENU,    /* ID */
    252                                                         OS.NULLHANDLE,  /* control data */
    253                                                         0               /* presentation parameters */
    254                                                         );
    255           boolean rc = OS.WinPopupMenu(OS.HWND_DESKTOP, OS.HWND_DESKTOP, handle, 0, 0, 0, flOptions);
    256235System.out.println (
    257236    "Menu.createHandle(): FID_MENU window has been created:\n" +
     
    260239    "    class = WC_MENU\n" +
    261240    "    style = MS_ACTIONBAR"
     241);
     242        } else  if ((style & SWT.POP_UP) != 0) {
     243//            short flOptions = OS.PU_MOUSEBUTTON1DOWN | OS.PU_KEYBOARD | OS.PU_MOUSEBUTTON1;
     244            handle = OS.WinCreateWindow (OS.HWND_DESKTOP,       /* parent window */
     245                                                        PSZ.getAtom (OS.WC_MENU),       /* class name */
     246                                                        null,   /* window text */
     247                                                        0,      /* window style */
     248                                                        0, 0, 0, 0, /* size and position */
     249                                                        OS.NULLHANDLE,  /* owner window */
     250                                                        OS.HWND_TOP, /* sibling window */
     251                                                        0,      /* ID */
     252                                                        OS.NULLHANDLE,  /* control data */
     253                                                        0               /* presentation parameters */
     254                                                        );
     255//          boolean rc = OS.WinPopupMenu(OS.HWND_DESKTOP, OS.HWND_DESKTOP, handle, 0, 0, 0, flOptions);
     256System.out.println (
     257    "Menu.createHandle(): POPUP menu window has been created:\n" +
     258    "    hwnd = " + Integer.toHexString (handle) + "\n" +
     259    "    hwnd.parent = hwnd.owner = " + Integer.toHexString (parent.handle) + "\n" +
     260    "    class = WC_MENU\n" +
     261    "    style = 0"
    262262);
    263263             
     
    291291        parent.add (item);
    292292        boolean success = false;
    293 
     293       
    294294        MENUITEM info = new MENUITEM();
    295295        info.iPosition = OS.MIT_END;
     
    335335void destroyItem (MenuItem item) {
    336336    int count = GetMenuItemCount (handle);
    337     System.out.println("ITEMS antes de destroy = " + count);
    338337    int rc = OS.WinSendMsg (handle, OS.MM_DELETEITEM,  OS.MPFROM2SHORT ((short)item.id, (short)OS.TRUE), 0);
    339338                if (rc == count) {
     
    665664void redraw () {
    666665        if ((style & SWT.BAR) != 0) {
    667 //            OS.WinSendMsg (frameHandle, OS.WM_UPDATEFRAME, OS.FCF_MENU, 0);
     666            OS.WinSendMsg (parent.frameHandle, OS.WM_UPDATEFRAME, OS.FCF_MENU, 0);
    668667//              OS.DrawMenuBar (parent.handle);
    669668                return;
     
    878877        * the menu is zero and issue a fake WM_MENUSELECT.
    879878        */
     879         System.out.println("Menu:setVisible - HANDLE = " + Integer.toHexString (handle));
     880         short flOptions = OS.PU_MOUSEBUTTON1DOWN | OS.PU_KEYBOARD | OS.PU_MOUSEBUTTON1;
     881         boolean success = OS.WinPopupMenu(OS.HWND_DESKTOP, parent.handle, handle, 0, 0, 0, flOptions);
    880882//      boolean success = OS.TrackPopupMenu (handle, flags, nX, nY, 0, hwndParent, null);
    881883//      if (!success && GetMenuItemCount (handle) == 0) {
Note: See TracChangeset for help on using the changeset viewer.