45 }
46
47 // This way we avoiding invocation of the setters twice
48 protected void initialize(MenuItem target) {
49 if (!isSeparator()) {
50 setLabel(target.getLabel());
51 setEnabled(target.isEnabled());
52 }
53 }
54
55 private boolean isSeparator() {
56 String label = ((MenuItem)getTarget()).getLabel();
57 return (label != null && label.equals("-"));
58 }
59
60 @Override
61 protected long createModel() {
62 CMenuComponent parent = (CMenuComponent)LWToolkit.targetToPeer(getTarget().getParent());
63 return nativeCreate(parent.getModel(), isSeparator());
64 }
65
66 public void setLabel(String label, char keyChar, int keyCode, int modifiers) {
67 int keyMask = modifiers;
68 if (keyCode == KeyEvent.VK_UNDEFINED) {
69 MenuShortcut shortcut = ((MenuItem)getTarget()).getShortcut();
70
71 if (shortcut != null) {
72 keyCode = shortcut.getKey();
73 keyMask |= InputEvent.META_MASK;
74
75 if (shortcut.usesShiftModifier()) {
76 keyMask |= InputEvent.SHIFT_MASK;
77 }
78 }
79 }
80
81 if (label == null) {
82 label = "";
83 }
84
85 // <rdar://problem/3654824>
|
45 }
46
47 // This way we avoiding invocation of the setters twice
48 protected void initialize(MenuItem target) {
49 if (!isSeparator()) {
50 setLabel(target.getLabel());
51 setEnabled(target.isEnabled());
52 }
53 }
54
55 private boolean isSeparator() {
56 String label = ((MenuItem)getTarget()).getLabel();
57 return (label != null && label.equals("-"));
58 }
59
60 @Override
61 protected long createModel() {
62 CMenuComponent parent = (CMenuComponent)LWToolkit.targetToPeer(getTarget().getParent());
63 return nativeCreate(parent.getModel(), isSeparator());
64 }
65 @SuppressWarnings("deprecation")
66 public void setLabel(String label, char keyChar, int keyCode, int modifiers) {
67 int keyMask = modifiers;
68 if (keyCode == KeyEvent.VK_UNDEFINED) {
69 MenuShortcut shortcut = ((MenuItem)getTarget()).getShortcut();
70
71 if (shortcut != null) {
72 keyCode = shortcut.getKey();
73 keyMask |= InputEvent.META_MASK;
74
75 if (shortcut.usesShiftModifier()) {
76 keyMask |= InputEvent.SHIFT_MASK;
77 }
78 }
79 }
80
81 if (label == null) {
82 label = "";
83 }
84
85 // <rdar://problem/3654824>
|