< prev index next >

src/java.desktop/macosx/classes/com/apple/laf/ScreenMenu.java

Print this page




 212                 // Send a mouseExited to the previously hilited item, if it wasn't 0.
 213                 if (target != fLastMouseEventTarget) {
 214                     if (fLastMouseEventTarget != null) {
 215                         LWToolkit.postEvent(new MouseEvent(fLastMouseEventTarget, MouseEvent.MOUSE_EXITED, when, modifiers, x - fLastTargetRect.x, y - fLastTargetRect.y, 0, false));
 216                     }
 217                     // Send a mouseEntered to the current hilited item, if it wasn't 0.
 218                     if (target != null) {
 219                         LWToolkit.postEvent(new MouseEvent(target, MouseEvent.MOUSE_ENTERED, when, modifiers, x - targetRect.x, y - targetRect.y, 0, false));
 220                     }
 221                     fLastMouseEventTarget = target;
 222                     fLastTargetRect = targetRect;
 223                 }
 224                 // Post a mouse event to the current item.
 225                 if (target == null) return;
 226                 LWToolkit.postEvent(new MouseEvent(target, kind, when, modifiers, x - targetRect.x, y - targetRect.y, 0, false));
 227             }
 228         });
 229     }
 230 
 231     @Override

 232     public void addNotify() {
 233         synchronized (getTreeLock()) {
 234             super.addNotify();
 235             if (fModelPtr == 0) {
 236                 fInvoker.addContainerListener(this);
 237                 fInvoker.addComponentListener(this);
 238                 fPropertyListener = new ScreenMenuPropertyListener(this);
 239                 fInvoker.addPropertyChangeListener(fPropertyListener);
 240 
 241                 final Icon icon = fInvoker.getIcon();
 242                 if (icon != null) {
 243                     setIcon(icon);
 244                 }
 245 
 246                 final String tooltipText = fInvoker.getToolTipText();
 247                 if (tooltipText != null) {
 248                     setToolTipText(tooltipText);
 249                 }
 250                 final MenuComponentPeer peer = getPeer();
 251                 if (peer instanceof CMenu) {


 337                 final ScreenMenu sm = (ScreenMenu)parent;
 338                 sm.setChildVisible(fInvoker, b);
 339             }
 340         }
 341     }
 342 
 343     @Override
 344     public void setChildVisible(final JMenuItem child, final boolean b) {
 345         fItems.remove(child);
 346         updateItems();
 347     }
 348 
 349     @Override
 350     public void setAccelerator(final KeyStroke ks) {}
 351 
 352     // only check and radio items can be indeterminate
 353     @Override
 354     public void setIndeterminate(boolean indeterminate) { }
 355 
 356     @Override

 357     public void setToolTipText(final String text) {
 358         final MenuComponentPeer peer = getPeer();
 359         if (!(peer instanceof CMenuItem)) return;
 360 
 361         final CMenuItem cmi = (CMenuItem)peer;
 362         cmi.setToolTipText(text);
 363     }
 364 
 365     @Override

 366     public void setIcon(final Icon i) {
 367         final MenuComponentPeer peer = getPeer();
 368         if (!(peer instanceof CMenuItem)) return;
 369 
 370         final CMenuItem cmi = (CMenuItem)peer;
 371         Image img = null;
 372 
 373         if (i != null) {
 374             if (i.getIconWidth() > 0 && i.getIconHeight() > 0) {
 375                 img = AquaIcon.getImageForIcon(i);
 376             }
 377         }
 378         cmi.setImage(img);
 379     }
 380 
 381 
 382     /**
 383      * Gets a hashCode for a JMenu or JMenuItem or subclass so that we can compare for
 384      * changes in the Menu.
 385      */




 212                 // Send a mouseExited to the previously hilited item, if it wasn't 0.
 213                 if (target != fLastMouseEventTarget) {
 214                     if (fLastMouseEventTarget != null) {
 215                         LWToolkit.postEvent(new MouseEvent(fLastMouseEventTarget, MouseEvent.MOUSE_EXITED, when, modifiers, x - fLastTargetRect.x, y - fLastTargetRect.y, 0, false));
 216                     }
 217                     // Send a mouseEntered to the current hilited item, if it wasn't 0.
 218                     if (target != null) {
 219                         LWToolkit.postEvent(new MouseEvent(target, MouseEvent.MOUSE_ENTERED, when, modifiers, x - targetRect.x, y - targetRect.y, 0, false));
 220                     }
 221                     fLastMouseEventTarget = target;
 222                     fLastTargetRect = targetRect;
 223                 }
 224                 // Post a mouse event to the current item.
 225                 if (target == null) return;
 226                 LWToolkit.postEvent(new MouseEvent(target, kind, when, modifiers, x - targetRect.x, y - targetRect.y, 0, false));
 227             }
 228         });
 229     }
 230 
 231     @Override
 232     @SuppressWarnings("deprecation")
 233     public void addNotify() {
 234         synchronized (getTreeLock()) {
 235             super.addNotify();
 236             if (fModelPtr == 0) {
 237                 fInvoker.addContainerListener(this);
 238                 fInvoker.addComponentListener(this);
 239                 fPropertyListener = new ScreenMenuPropertyListener(this);
 240                 fInvoker.addPropertyChangeListener(fPropertyListener);
 241 
 242                 final Icon icon = fInvoker.getIcon();
 243                 if (icon != null) {
 244                     setIcon(icon);
 245                 }
 246 
 247                 final String tooltipText = fInvoker.getToolTipText();
 248                 if (tooltipText != null) {
 249                     setToolTipText(tooltipText);
 250                 }
 251                 final MenuComponentPeer peer = getPeer();
 252                 if (peer instanceof CMenu) {


 338                 final ScreenMenu sm = (ScreenMenu)parent;
 339                 sm.setChildVisible(fInvoker, b);
 340             }
 341         }
 342     }
 343 
 344     @Override
 345     public void setChildVisible(final JMenuItem child, final boolean b) {
 346         fItems.remove(child);
 347         updateItems();
 348     }
 349 
 350     @Override
 351     public void setAccelerator(final KeyStroke ks) {}
 352 
 353     // only check and radio items can be indeterminate
 354     @Override
 355     public void setIndeterminate(boolean indeterminate) { }
 356 
 357     @Override
 358     @SuppressWarnings("deprecation")
 359     public void setToolTipText(final String text) {
 360         final MenuComponentPeer peer = getPeer();
 361         if (!(peer instanceof CMenuItem)) return;
 362 
 363         final CMenuItem cmi = (CMenuItem)peer;
 364         cmi.setToolTipText(text);
 365     }
 366 
 367     @Override
 368     @SuppressWarnings("deprecation")
 369     public void setIcon(final Icon i) {
 370         final MenuComponentPeer peer = getPeer();
 371         if (!(peer instanceof CMenuItem)) return;
 372 
 373         final CMenuItem cmi = (CMenuItem)peer;
 374         Image img = null;
 375 
 376         if (i != null) {
 377             if (i.getIconWidth() > 0 && i.getIconHeight() > 0) {
 378                 img = AquaIcon.getImageForIcon(i);
 379             }
 380         }
 381         cmi.setImage(img);
 382     }
 383 
 384 
 385     /**
 386      * Gets a hashCode for a JMenu or JMenuItem or subclass so that we can compare for
 387      * changes in the Menu.
 388      */


< prev index next >