Changeset 141 for trunk/src


Ignore:
Timestamp:
May 22, 2009, 6:25:13 PM (16 years ago)
Author:
lpino
Message:

setEnabled and setItemEnabled implementations

File:
1 edited

Legend:

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

    r138 r141  
    837837
    838838//@@TODO(dmik): what to do with TrimEnabled?
    839 //public void setEnabled (boolean enabled) {
    840 //      checkWidget ();
    841 //      if (!display.TrimEnabled) {
    842 //              super.setEnabled (enabled);
    843 //      } else {
    844 //              state &= ~DISABLED;
    845 //              if (!enabled) state |= DISABLED;
    846 //              if (isActive ()) setItemEnabled (OS.SC_CLOSE, enabled);
    847 //      }
    848 //}
     839public void setEnabled (boolean enabled) {
     840        checkWidget ();
     841        if (!display.TrimEnabled) {
     842                super.setEnabled (enabled);
     843        } else {
     844                state &= ~DISABLED;
     845                if (!enabled) state |= DISABLED;
     846                if (isActive ()) setItemEnabled (OS.SC_CLOSE, enabled);
     847        }
     848}
    849849
    850850/**
     
    902902//}
    903903
    904 //@@TODO(dmik)
    905 //void setItemEnabled (int cmd, boolean enabled) {
    906 //      int hMenu = OS.GetSystemMenu (handle, false);
    907 //      if (hMenu == 0) return;
    908 //      int flags = OS.MF_ENABLED;
    909 //      if (!enabled) flags = OS.MF_DISABLED | OS.MF_GRAYED;
    910 //      OS.EnableMenuItem (hMenu, cmd, OS.MF_BYCOMMAND | flags);
    911 //}
     904void setItemEnabled (int cmd, boolean enabled) {
     905        int hMenu = OS.WinWindowFromID(frameHandle, OS.FID_SYSMENU);
     906        if (hMenu == 0) return;
     907        OS.WinSendMsg(hMenu, OS.MM_SETITEMATTR, OS.MPFROM2SHORT((short)cmd, (short)OS.TRUE), OS.MPFROM2SHORT((short)OS.MIA_DISABLED, (short)(enabled ? 0 : OS.MIA_DISABLED)));
     908}
    912909
    913910void setParent () {
     
    10501047void updateModal () {
    10511048//@@TODO(dmik)
    1052 //      if (!display.TrimEnabled) return;
    1053 //      setItemEnabled (OS.SC_CLOSE, isActive ());
     1049        if (!display.TrimEnabled) return;
     1050        setItemEnabled (OS.SC_CLOSE, isActive ());
    10541051}
    10551052
Note: See TracChangeset for help on using the changeset viewer.