src/solaris/classes/sun/awt/X11/XCheckboxPeer.java

Print this page




 155           case MouseEvent.MOUSE_RELEASED:
 156               mouseReleased(e);
 157               break;
 158           case MouseEvent.MOUSE_ENTERED:
 159               mouseEntered(e);
 160               break;
 161           case MouseEvent.MOUSE_EXITED:
 162               mouseExited(e);
 163               break;
 164           case MouseEvent.MOUSE_CLICKED:
 165               mouseClicked(e);
 166               break;
 167         }
 168     }
 169 
 170     public void mousePressed(MouseEvent e) {
 171         if (XToolkit.isLeftMouseButton(e)) {
 172             Checkbox cb = (Checkbox) e.getSource();
 173 
 174             if (cb.contains(e.getX(), e.getY())) {
 175                 if (log.isLoggable(PlatformLogger.FINER)) {
 176                     log.finer("mousePressed() on " + target.getName() + " : armed = " + armed + ", pressed = " + pressed
 177                               + ", selected = " + selected + ", enabled = " + isEnabled());
 178                 }
 179                 if (!isEnabled()) {
 180                     // Disabled buttons ignore all input...
 181                     return;
 182                 }
 183                 if (!armed) {
 184                     armed = true;
 185                 }
 186                 pressed = true;
 187                 repaint();
 188             }
 189         }
 190     }
 191 
 192     public void mouseReleased(MouseEvent e) {
 193         if (log.isLoggable(PlatformLogger.FINER)) {
 194             log.finer("mouseReleased() on " + target.getName() + ": armed = " + armed + ", pressed = " + pressed
 195                       + ", selected = " + selected + ", enabled = " + isEnabled());
 196         }
 197         boolean sendEvent = false;
 198         if (XToolkit.isLeftMouseButton(e)) {
 199             // TODO: Multiclick Threshold? - see BasicButtonListener.java
 200             if (armed) {
 201                 //selected = !selected;
 202                 // send action event
 203                 //action(e.getWhen(),e.getModifiers());
 204                 sendEvent = true;
 205             }
 206             pressed = false;
 207             armed = false;
 208             if (sendEvent) {
 209                 action(!selected);  // Also gets repaint in action()
 210             }
 211             else {
 212                 repaint();
 213             }
 214         }
 215     }
 216 
 217     public void mouseEntered(MouseEvent e) {
 218         if (log.isLoggable(PlatformLogger.FINER)) {
 219             log.finer("mouseEntered() on " + target.getName() + ": armed = " + armed + ", pressed = " + pressed
 220                       + ", selected = " + selected + ", enabled = " + isEnabled());
 221         }
 222         if (pressed) {
 223             armed = true;
 224             repaint();
 225         }
 226     }
 227 
 228     public void mouseExited(MouseEvent e) {
 229         if (log.isLoggable(PlatformLogger.FINER)) {
 230             log.finer("mouseExited() on " + target.getName() + ": armed = " + armed + ", pressed = " + pressed
 231                       + ", selected = " + selected + ", enabled = " + isEnabled());
 232         }
 233         if (armed) {
 234             armed = false;
 235             repaint();
 236         }
 237     }
 238 
 239     public void mouseClicked(MouseEvent e) {}
 240 
 241     public Dimension getMinimumSize() {
 242         /*
 243          * Spacing (number of pixels between check mark and label text) is
 244          * currently set to 0, but in case it ever changes we have to add
 245          * it. 8 is a heuristic number. Indicator size depends on font
 246          * height, so we don't need to include it in checkbox's height
 247          * calculation.
 248          */
 249         FontMetrics fm = getFontMetrics(getPeerFont());




 155           case MouseEvent.MOUSE_RELEASED:
 156               mouseReleased(e);
 157               break;
 158           case MouseEvent.MOUSE_ENTERED:
 159               mouseEntered(e);
 160               break;
 161           case MouseEvent.MOUSE_EXITED:
 162               mouseExited(e);
 163               break;
 164           case MouseEvent.MOUSE_CLICKED:
 165               mouseClicked(e);
 166               break;
 167         }
 168     }
 169 
 170     public void mousePressed(MouseEvent e) {
 171         if (XToolkit.isLeftMouseButton(e)) {
 172             Checkbox cb = (Checkbox) e.getSource();
 173 
 174             if (cb.contains(e.getX(), e.getY())) {
 175                 if (log.isLoggable(PlatformLogger.Level.FINER)) {
 176                     log.finer("mousePressed() on " + target.getName() + " : armed = " + armed + ", pressed = " + pressed
 177                               + ", selected = " + selected + ", enabled = " + isEnabled());
 178                 }
 179                 if (!isEnabled()) {
 180                     // Disabled buttons ignore all input...
 181                     return;
 182                 }
 183                 if (!armed) {
 184                     armed = true;
 185                 }
 186                 pressed = true;
 187                 repaint();
 188             }
 189         }
 190     }
 191 
 192     public void mouseReleased(MouseEvent e) {
 193         if (log.isLoggable(PlatformLogger.Level.FINER)) {
 194             log.finer("mouseReleased() on " + target.getName() + ": armed = " + armed + ", pressed = " + pressed
 195                       + ", selected = " + selected + ", enabled = " + isEnabled());
 196         }
 197         boolean sendEvent = false;
 198         if (XToolkit.isLeftMouseButton(e)) {
 199             // TODO: Multiclick Threshold? - see BasicButtonListener.java
 200             if (armed) {
 201                 //selected = !selected;
 202                 // send action event
 203                 //action(e.getWhen(),e.getModifiers());
 204                 sendEvent = true;
 205             }
 206             pressed = false;
 207             armed = false;
 208             if (sendEvent) {
 209                 action(!selected);  // Also gets repaint in action()
 210             }
 211             else {
 212                 repaint();
 213             }
 214         }
 215     }
 216 
 217     public void mouseEntered(MouseEvent e) {
 218         if (log.isLoggable(PlatformLogger.Level.FINER)) {
 219             log.finer("mouseEntered() on " + target.getName() + ": armed = " + armed + ", pressed = " + pressed
 220                       + ", selected = " + selected + ", enabled = " + isEnabled());
 221         }
 222         if (pressed) {
 223             armed = true;
 224             repaint();
 225         }
 226     }
 227 
 228     public void mouseExited(MouseEvent e) {
 229         if (log.isLoggable(PlatformLogger.Level.FINER)) {
 230             log.finer("mouseExited() on " + target.getName() + ": armed = " + armed + ", pressed = " + pressed
 231                       + ", selected = " + selected + ", enabled = " + isEnabled());
 232         }
 233         if (armed) {
 234             armed = false;
 235             repaint();
 236         }
 237     }
 238 
 239     public void mouseClicked(MouseEvent e) {}
 240 
 241     public Dimension getMinimumSize() {
 242         /*
 243          * Spacing (number of pixels between check mark and label text) is
 244          * currently set to 0, but in case it ever changes we have to add
 245          * it. 8 is a heuristic number. Indicator size depends on font
 246          * height, so we don't need to include it in checkbox's height
 247          * calculation.
 248          */
 249         FontMetrics fm = getFontMetrics(getPeerFont());