diff options
| author | fnasser <fnasser@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-01-05 21:18:06 +0000 |
|---|---|---|
| committer | fnasser <fnasser@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-01-05 21:18:06 +0000 |
| commit | 70c2647f1e8cbb06cc8004c651344ab09281a8c4 (patch) | |
| tree | 3b896cc9aa5303dfe9b469323979c8ef4746d208 /libjava/java | |
| parent | c7ed85c9040308feec4bb428ddc6657a6d0c068e (diff) | |
| download | ppe42-gcc-70c2647f1e8cbb06cc8004c651344ab09281a8c4.tar.gz ppe42-gcc-70c2647f1e8cbb06cc8004c651344ab09281a8c4.zip | |
2004-01-05 Fernando Nasser <fnasser@redhat.com>
* java/awt/Choice.java (add): Leave posting of ItemEvents to peer.
(insert): Ditto.
(remove): Ditto. Also, Check for valid argument.
(removeAll): Use peer interface method.
* gnu/java/awt/peer/gtk/GtkChoicePeer.java (nativeAdd): New name for
native add function.
(nativeRemove): New name for native remove function.
(getHistory): New native function.
(constructor): Generate ItemEvent.
(add): Ditto, if selection is changed.
(remove): Ditto, ditto.
(removeAll): Add implementation.
(handleEvent): Remove. Dead code.
(choicePostItemEvent): Add comment.
* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkChoicePeer.c
(Java_gnu_java_awt_peer_gtk_GtkChoicePeer_append): Add comments.
(Java_gnu_java_awt_peer_gtk_GtkChoicePeer_add): Rename to...
(Java_gnu_java_awt_peer_gtk_GtkChoicePeer_nativeAdd): New name. Add
comments and fix condition to change selection.
(Java_gnu_java_awt_peer_gtk_GtkChoicePeer_remove): Rename to...
(Java_gnu_java_awt_peer_gtk_GtkChoicePeer_nativeRemove): New name. Add
remove all capability.
(Java_gnu_java_awt_peer_gtk_GtkChoicePeer_getHistory): New function.
(item_activate): Add cast to remove compiler warning.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@75443 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/java')
| -rw-r--r-- | libjava/java/awt/Choice.java | 58 |
1 files changed, 9 insertions, 49 deletions
diff --git a/libjava/java/awt/Choice.java b/libjava/java/awt/Choice.java index 863888c5b37..d1f601f777d 100644 --- a/libjava/java/awt/Choice.java +++ b/libjava/java/awt/Choice.java @@ -169,17 +169,6 @@ add(String item) ChoicePeer cp = (ChoicePeer) peer; cp.add (item, i); } - - if (i == 0) - { - selectedIndex = 0; - // We must generate an ItemEvent here - Toolkit.getDefaultToolkit().getSystemEventQueue().postEvent ( - new ItemEvent ((ItemSelectable)this, - ItemEvent.ITEM_STATE_CHANGED, - getItem(0), - ItemEvent.SELECTED)); - } } /*************************************************************************/ @@ -229,17 +218,6 @@ insert(String item, int index) ChoicePeer cp = (ChoicePeer) peer; cp.add (item, index); } - - if (getItemCount () == 1 || selectedIndex >= index) - { - select (0); - // We must generate an ItemEvent here - Toolkit.getDefaultToolkit().getSystemEventQueue().postEvent ( - new ItemEvent ((ItemSelectable)this, - ItemEvent.ITEM_STATE_CHANGED, - getItem(0), - ItemEvent.SELECTED)); - } } /*************************************************************************/ @@ -273,6 +251,9 @@ remove(String item) public synchronized void remove(int index) { + if ((index < 0) || (index > getItemCount())) + throw new IllegalArgumentException("Bad index: " + index); + pItems.removeElementAt(index); if (peer != null) @@ -281,17 +262,7 @@ remove(int index) cp.remove (index); } - if ((index == selectedIndex) && (getItemCount() > 0)) - { - select (0); - // We must generate an ItemEvent here - Toolkit.getDefaultToolkit().getSystemEventQueue().postEvent ( - new ItemEvent ((ItemSelectable)this, - ItemEvent.ITEM_STATE_CHANGED, - getItem(0), - ItemEvent.SELECTED)); - } - else if (selectedIndex > index) + if (selectedIndex > index) --selectedIndex; } @@ -303,26 +274,15 @@ remove(int index) public synchronized void removeAll() { - int count = getItemCount(); - - if (count <= 0) + if (getItemCount() <= 0) return; - ChoicePeer cp = (ChoicePeer) peer; - - // Select the first item to prevent an spurious ItemEvent to be generated - if (cp != null) - { - cp.select (0); - selectedIndex = 0; // Just to keep consistent - } + pItems.removeAllElements (); - for (int i = (count - 1); i >= 0; i--) + if (peer != null) { - // Always remove the last to avoid generation of ItemEvents. - pItems.removeElementAt(i); - if (cp != null) - cp.remove (i); + ChoicePeer cp = (ChoicePeer) peer; + cp.removeAll (); } selectedIndex = -1; |

