< prev index next >

src/java.desktop/share/classes/com/sun/java/swing/plaf/motif/MotifDesktopIconUI.java

Print this page




  19  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  20  *
  21  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  22  * or visit www.oracle.com if you need additional information or have any
  23  * questions.
  24  */
  25 
  26 package com.sun.java.swing.plaf.motif;
  27 
  28 import sun.swing.SwingUtilities2;
  29 import java.awt.*;
  30 import java.awt.event.*;
  31 import javax.swing.*;
  32 import javax.swing.border.*;
  33 import javax.swing.plaf.*;
  34 import javax.swing.plaf.basic.*;
  35 import java.beans.*;
  36 import java.util.EventListener;
  37 import java.io.Serializable;
  38 


  39 
  40 /**
  41  * Motif rendition of the component.
  42  *
  43  * @author Thomas Ball
  44  * @author Rich Schiavi
  45  */
  46 public class MotifDesktopIconUI extends BasicDesktopIconUI
  47 {
  48     protected DesktopIconActionListener desktopIconActionListener;
  49     protected DesktopIconMouseListener  desktopIconMouseListener;
  50 
  51     protected Icon       defaultIcon;
  52     protected IconButton iconButton;
  53     protected IconLabel  iconLabel;
  54 
  55     // This is only used for its system menu, but we need a reference to it so
  56     // we can remove its listeners.
  57     private MotifInternalFrameTitlePane sysMenuTitlePane;
  58 


 221             addMouseListener(new MouseListener() {
 222                 public void mouseClicked(MouseEvent e) {
 223                     forwardEventToParent(e);
 224                 }
 225                 public void mousePressed(MouseEvent e) {
 226                     forwardEventToParent(e);
 227                 }
 228                 public void mouseReleased(MouseEvent e) {
 229                     forwardEventToParent(e);
 230                 }
 231                 public void mouseEntered(MouseEvent e) {
 232                     forwardEventToParent(e);
 233                 }
 234                 public void mouseExited(MouseEvent e) {
 235                     forwardEventToParent(e);
 236                 }
 237             });
 238         }
 239         @SuppressWarnings("deprecation")
 240         void forwardEventToParent(MouseEvent e) {
 241             getParent().dispatchEvent(new MouseEvent(
 242                 getParent(), e.getID(), e.getWhen(), e.getModifiers(),
 243                 e.getX(), e.getY(), e.getXOnScreen(),
 244                 e.getYOnScreen(), e.getClickCount(),
 245                 e.isPopupTrigger(), MouseEvent.NOBUTTON));




 246         }
 247 
 248         @SuppressWarnings("deprecation")
 249         public boolean isFocusTraversable() {
 250             return false;
 251         }
 252 
 253         public Dimension getMinimumSize() {
 254             return new Dimension(defaultIcon.getIconWidth() + 1,
 255                                  LABEL_HEIGHT + LABEL_DIVIDER);
 256         }
 257 
 258         public Dimension getPreferredSize() {
 259             String title = frame.getTitle();
 260             FontMetrics fm = frame.getFontMetrics(defaultTitleFont);
 261             int w = 4;
 262             if (title != null) {
 263                 w += SwingUtilities2.stringWidth(frame, fm, title);
 264             }
 265             return new Dimension(w, LABEL_HEIGHT + LABEL_DIVIDER);


 314                     forwardEventToParent(e);
 315                 }
 316                 public void mousePressed(MouseEvent e) {
 317                     forwardEventToParent(e);
 318                 }
 319                 public void mouseReleased(MouseEvent e) {
 320                     if (!systemMenu.isShowing()) {
 321                         forwardEventToParent(e);
 322                     }
 323                 }
 324                 public void mouseEntered(MouseEvent e) {
 325                     forwardEventToParent(e);
 326                 }
 327                 public void mouseExited(MouseEvent e) {
 328                     forwardEventToParent(e);
 329                 }
 330             });
 331         }
 332         @SuppressWarnings("deprecation")
 333         void forwardEventToParent(MouseEvent e) {
 334             getParent().dispatchEvent(new MouseEvent(
 335                 getParent(), e.getID(), e.getWhen(), e.getModifiers(),
 336                 e.getX(), e.getY(), e.getXOnScreen(), e.getYOnScreen(),
 337                 e.getClickCount(), e.isPopupTrigger(), MouseEvent.NOBUTTON ));




 338         }
 339 
 340         @SuppressWarnings("deprecation")
 341         public boolean isFocusTraversable() {
 342             return false;
 343         }
 344     }
 345 
 346 
 347     protected class DesktopIconActionListener implements ActionListener {
 348         public void actionPerformed(ActionEvent e){
 349             systemMenu.show(iconButton, 0, getDesktopIcon().getHeight());
 350         }
 351     }
 352 
 353     protected class DesktopIconMouseListener extends MouseAdapter {
 354         // if we drag or move we should deengage the popup
 355         public void mousePressed(MouseEvent e){
 356             if (e.getClickCount() > 1) {
 357                 try {


  19  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  20  *
  21  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  22  * or visit www.oracle.com if you need additional information or have any
  23  * questions.
  24  */
  25 
  26 package com.sun.java.swing.plaf.motif;
  27 
  28 import sun.swing.SwingUtilities2;
  29 import java.awt.*;
  30 import java.awt.event.*;
  31 import javax.swing.*;
  32 import javax.swing.border.*;
  33 import javax.swing.plaf.*;
  34 import javax.swing.plaf.basic.*;
  35 import java.beans.*;
  36 import java.util.EventListener;
  37 import java.io.Serializable;
  38 
  39 import sun.awt.AWTAccessor;
  40 import sun.awt.AWTAccessor.MouseEventAccessor;
  41 
  42 /**
  43  * Motif rendition of the component.
  44  *
  45  * @author Thomas Ball
  46  * @author Rich Schiavi
  47  */
  48 public class MotifDesktopIconUI extends BasicDesktopIconUI
  49 {
  50     protected DesktopIconActionListener desktopIconActionListener;
  51     protected DesktopIconMouseListener  desktopIconMouseListener;
  52 
  53     protected Icon       defaultIcon;
  54     protected IconButton iconButton;
  55     protected IconLabel  iconLabel;
  56 
  57     // This is only used for its system menu, but we need a reference to it so
  58     // we can remove its listeners.
  59     private MotifInternalFrameTitlePane sysMenuTitlePane;
  60 


 223             addMouseListener(new MouseListener() {
 224                 public void mouseClicked(MouseEvent e) {
 225                     forwardEventToParent(e);
 226                 }
 227                 public void mousePressed(MouseEvent e) {
 228                     forwardEventToParent(e);
 229                 }
 230                 public void mouseReleased(MouseEvent e) {
 231                     forwardEventToParent(e);
 232                 }
 233                 public void mouseEntered(MouseEvent e) {
 234                     forwardEventToParent(e);
 235                 }
 236                 public void mouseExited(MouseEvent e) {
 237                     forwardEventToParent(e);
 238                 }
 239             });
 240         }
 241         @SuppressWarnings("deprecation")
 242         void forwardEventToParent(MouseEvent e) {
 243             MouseEvent newEvent = new MouseEvent(
 244                 getParent(), e.getID(), e.getWhen(), e.getModifiers(),
 245                 e.getX(), e.getY(), e.getXOnScreen(),
 246                 e.getYOnScreen(), e.getClickCount(),
 247                 e.isPopupTrigger(), MouseEvent.NOBUTTON);
 248             MouseEventAccessor meAccessor = AWTAccessor.getMouseEventAccessor();
 249             meAccessor.setCausedByTouchEvent(newEvent,
 250                 meAccessor.isCausedByTouchEvent(e));
 251             getParent().dispatchEvent(newEvent);
 252         }
 253 
 254         @SuppressWarnings("deprecation")
 255         public boolean isFocusTraversable() {
 256             return false;
 257         }
 258 
 259         public Dimension getMinimumSize() {
 260             return new Dimension(defaultIcon.getIconWidth() + 1,
 261                                  LABEL_HEIGHT + LABEL_DIVIDER);
 262         }
 263 
 264         public Dimension getPreferredSize() {
 265             String title = frame.getTitle();
 266             FontMetrics fm = frame.getFontMetrics(defaultTitleFont);
 267             int w = 4;
 268             if (title != null) {
 269                 w += SwingUtilities2.stringWidth(frame, fm, title);
 270             }
 271             return new Dimension(w, LABEL_HEIGHT + LABEL_DIVIDER);


 320                     forwardEventToParent(e);
 321                 }
 322                 public void mousePressed(MouseEvent e) {
 323                     forwardEventToParent(e);
 324                 }
 325                 public void mouseReleased(MouseEvent e) {
 326                     if (!systemMenu.isShowing()) {
 327                         forwardEventToParent(e);
 328                     }
 329                 }
 330                 public void mouseEntered(MouseEvent e) {
 331                     forwardEventToParent(e);
 332                 }
 333                 public void mouseExited(MouseEvent e) {
 334                     forwardEventToParent(e);
 335                 }
 336             });
 337         }
 338         @SuppressWarnings("deprecation")
 339         void forwardEventToParent(MouseEvent e) {
 340             MouseEvent newEvent = new MouseEvent(
 341                 getParent(), e.getID(), e.getWhen(), e.getModifiers(),
 342                 e.getX(), e.getY(), e.getXOnScreen(), e.getYOnScreen(),
 343                 e.getClickCount(), e.isPopupTrigger(), MouseEvent.NOBUTTON );
 344             MouseEventAccessor meAccessor = AWTAccessor.getMouseEventAccessor();
 345             meAccessor.setCausedByTouchEvent(newEvent,
 346                 meAccessor.isCausedByTouchEvent(e));
 347             getParent().dispatchEvent(newEvent);
 348         }
 349 
 350         @SuppressWarnings("deprecation")
 351         public boolean isFocusTraversable() {
 352             return false;
 353         }
 354     }
 355 
 356 
 357     protected class DesktopIconActionListener implements ActionListener {
 358         public void actionPerformed(ActionEvent e){
 359             systemMenu.show(iconButton, 0, getDesktopIcon().getHeight());
 360         }
 361     }
 362 
 363     protected class DesktopIconMouseListener extends MouseAdapter {
 364         // if we drag or move we should deengage the popup
 365         public void mousePressed(MouseEvent e){
 366             if (e.getClickCount() > 1) {
 367                 try {
< prev index next >