diff options
author | Michael Koch <konqueror@gmx.de> | 2003-03-02 14:01:40 +0000 |
---|---|---|
committer | Michael Koch <mkoch@gcc.gnu.org> | 2003-03-02 14:01:40 +0000 |
commit | e589ede6fdc3f0f3f70be950bdd85d996eb19eca (patch) | |
tree | 9009d19b2288a0d97ad1295a9a9cf0e04c193766 /libjava/java/awt/Component.java | |
parent | 37db829b936aa6483eff60a7522e34ad6dcecb79 (diff) | |
download | gcc-e589ede6fdc3f0f3f70be950bdd85d996eb19eca.zip gcc-e589ede6fdc3f0f3f70be950bdd85d996eb19eca.tar.gz gcc-e589ede6fdc3f0f3f70be950bdd85d996eb19eca.tar.bz2 |
2003-03-02 Michael Koch <konqueror@gmx.de>
* java/awt/Component.java
(eventTypeEnabled): New method.
(dispatchEventImpl): Moved checks for event to eventTypeEnabled.
* java/awt/Container.java
(changeSupport): New member variable.
(addPropertyChangeListener): New methods.
* java/awt/ContainerOrderFocusTraversalPolicy.java
(ContainerOrderFocusTraversalPolicy): Added comment.
(getComponentAfter): Throw exception, documentation added.
(getComponentBefore): Throw exception, documentation added.
(getFirstComponent): Throw exception, documentation added.
(getLastComponent): Throw exception, documentation added.
(getDefaultComponent): Throw exception, documentation added.
* java/awt/EventQueue.java: Reindented.
* java/awt/FocusTraversalPolicy.java:
(FocusTraversalPolicy): Added comment.
(getComponentAfter): Documentation added.
(getComponentBefore): Documentation added.
(getFirstComponent): Documentation added.
(getLastComponent): Documentation added.
(getDefaultComponent): Documentation added.
(getInitialComponent): Documentation added.
* java/awt/ScrollPane.java
(wheelScrollingEnabled): New member variable.
(ScrollPane): Initialize wheelScollingEnabled.
(eventTypeEnabled): New method.
(isWheelScrollingEnabled): New method.
(setWheelScrollingEnabled): New method.
From-SVN: r63663
Diffstat (limited to 'libjava/java/awt/Component.java')
-rw-r--r-- | libjava/java/awt/Component.java | 88 |
1 files changed, 52 insertions, 36 deletions
diff --git a/libjava/java/awt/Component.java b/libjava/java/awt/Component.java index 88f9181..c9afaa1 100644 --- a/libjava/java/awt/Component.java +++ b/libjava/java/awt/Component.java @@ -4075,46 +4075,62 @@ p * <li>the set of backward traversal keys */ void dispatchEventImpl(AWTEvent e) { - // Make use of event id's in order to avoid multiple instanceof tests. - if (e.id <= ComponentEvent.COMPONENT_LAST - && e.id >= ComponentEvent.COMPONENT_FIRST - && (componentListener != null - || (eventMask & AWTEvent.COMPONENT_EVENT_MASK) != 0)) - processEvent(e); - else if (e.id <= KeyEvent.KEY_LAST - && e.id >= KeyEvent.KEY_FIRST - && (keyListener != null - || (eventMask & AWTEvent.KEY_EVENT_MASK) != 0)) - processEvent(e); - else if (e.id <= MouseEvent.MOUSE_LAST - && e.id >= MouseEvent.MOUSE_FIRST - && (mouseListener != null - || mouseMotionListener != null - || (eventMask & AWTEvent.MOUSE_EVENT_MASK) != 0)) - processEvent(e); - else if (e.id <= FocusEvent.FOCUS_LAST - && e.id >= FocusEvent.FOCUS_FIRST - && (focusListener != null - || (eventMask & AWTEvent.FOCUS_EVENT_MASK) != 0)) - processEvent(e); - else if (e.id <= InputMethodEvent.INPUT_METHOD_LAST - && e.id >= InputMethodEvent.INPUT_METHOD_FIRST - && (inputMethodListener != null - || (eventMask & AWTEvent.INPUT_METHOD_EVENT_MASK) != 0)) - processEvent(e); - else if (e.id <= HierarchyEvent.HIERARCHY_LAST - && e.id >= HierarchyEvent.HIERARCHY_FIRST - && (hierarchyListener != null - || hierarchyBoundsListener != null - || (eventMask & AWTEvent.HIERARCHY_EVENT_MASK) != 0)) - processEvent(e); - else if (e.id <= PaintEvent.PAINT_LAST - && e.id >= PaintEvent.PAINT_FIRST - && (eventMask & AWTEvent.PAINT_EVENT_MASK) != 0) + if (eventTypeEnabled (e.id)) processEvent(e); } /** + * Tells wether or not an event type is enabled. + */ + boolean eventTypeEnabled (int type) + { + if (type > AWTEvent.RESERVED_ID_MAX) + return true; + + switch (type) + { + case ComponentEvent.COMPONENT_HIDDEN: + case ComponentEvent.COMPONENT_MOVED: + case ComponentEvent.COMPONENT_RESIZED: + case ComponentEvent.COMPONENT_SHOWN: + return (componentListener != null + || (eventMask & AWTEvent.COMPONENT_EVENT_MASK) != 0); + + case KeyEvent.KEY_PRESSED: + case KeyEvent.KEY_RELEASED: + case KeyEvent.KEY_TYPED: + return (keyListener != null + || (eventMask & AWTEvent.KEY_EVENT_MASK) != 0); + + case MouseEvent.MOUSE_CLICKED: + case MouseEvent.MOUSE_ENTERED: + case MouseEvent.MOUSE_EXITED: + case MouseEvent.MOUSE_PRESSED: + case MouseEvent.MOUSE_RELEASED: + return (mouseListener != null + || mouseMotionListener != null + || (eventMask & AWTEvent.MOUSE_EVENT_MASK) != 0); + + case FocusEvent.FOCUS_GAINED: + case FocusEvent.FOCUS_LOST: + return (focusListener != null + || (eventMask & AWTEvent.FOCUS_EVENT_MASK) != 0); + + case InputMethodEvent.INPUT_METHOD_TEXT_CHANGED: + case InputMethodEvent.CARET_POSITION_CHANGED: + return (inputMethodListener != null + || (eventMask & AWTEvent.INPUT_METHOD_EVENT_MASK) != 0); + + case PaintEvent.PAINT: + case PaintEvent.UPDATE: + return (eventMask & AWTEvent.PAINT_EVENT_MASK) != 0; + + default: + return false; + } + } + + /** * Coalesce paint events. Current heuristic is: Merge if the union of * areas is less than twice that of the sum of the areas. The X server * tend to create a lot of paint events that are adjacent but not |