summaryrefslogtreecommitdiff
path: root/libjava/classpath/gnu/java/awt/peer/gtk/GtkChoicePeer.java
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/classpath/gnu/java/awt/peer/gtk/GtkChoicePeer.java')
-rw-r--r--libjava/classpath/gnu/java/awt/peer/gtk/GtkChoicePeer.java142
1 files changed, 0 insertions, 142 deletions
diff --git a/libjava/classpath/gnu/java/awt/peer/gtk/GtkChoicePeer.java b/libjava/classpath/gnu/java/awt/peer/gtk/GtkChoicePeer.java
deleted file mode 100644
index 59cacf0b66a..00000000000
--- a/libjava/classpath/gnu/java/awt/peer/gtk/GtkChoicePeer.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/* GtkChoicePeer.java -- Implements ChoicePeer with GTK
- Copyright (C) 1998, 1999, 2005 Free Software Foundation, Inc.
-
-This file is part of GNU Classpath.
-
-GNU Classpath is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GNU Classpath is distributed in the hope that it will be useful, but
-WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GNU Classpath; see the file COPYING. If not, write to the
-Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-02110-1301 USA.
-
-Linking this library statically or dynamically with other modules is
-making a combined work based on this library. Thus, the terms and
-conditions of the GNU General Public License cover the whole
-combination.
-
-As a special exception, the copyright holders of this library give you
-permission to link this library with independent modules to produce an
-executable, regardless of the license terms of these independent
-modules, and to copy and distribute the resulting executable under
-terms of your choice, provided that you also meet, for each linked
-independent module, the terms and conditions of the license of that
-module. An independent module is a module which is not derived from
-or based on this library. If you modify this library, you may extend
-this exception to your version of the library, but you are not
-obligated to do so. If you do not wish to do so, delete this
-exception statement from your version. */
-
-
-package gnu.java.awt.peer.gtk;
-
-import java.awt.Choice;
-import java.awt.AWTEvent;
-import java.awt.event.ItemEvent;
-import java.awt.peer.ChoicePeer;
-
-public class GtkChoicePeer extends GtkComponentPeer
- implements ChoicePeer
-{
- private int selected;
-
- public GtkChoicePeer (Choice c)
- {
- super (c);
-
- int count = c.getItemCount ();
- if (count > 0)
- {
- for (int i = 0; i < count; i++)
- add(c.getItem(i), i);
-
- selected = c.getSelectedIndex();
- if (selected >= 0)
- select( selected );
- }
- else
- selected = -1;
- }
-
- native void create ();
-
- native int nativeGetSelected ();
-
- native void connectSignals ();
-
- native void selectNative (int position);
-
- native void selectNativeUnlocked (int position);
-
- public native void add (String item, int index);
-
- native void nativeRemove(int index);
-
- native void nativeRemoveAll();
-
- public void select (int position)
- {
- if (Thread.currentThread() == GtkMainThread.mainThread)
- selectNativeUnlocked (position);
- else
- selectNative (position);
- }
-
- public void remove( int index )
- {
- // Ensure the triggering of an event when removing item zero if zero is the
- // selected item, even though the selected index doesn't change.
- if( index == 0 && selected == 0 )
- selected = -1;
- nativeRemove( index );
- }
-
- public void removeAll()
- {
- selected = -1; // we do not want to trigger a select event here.
- nativeRemoveAll();
- }
-
- public void addItem (String item, int position)
- {
- add (item, position);
- }
-
- /**
- * Callback from the native side on an item-select event,
- * which posts an event. The event is only posted if it represents an actual
- * change. Selected is set to the peer's state initially, so that the
- * first call to select(int) from the constructor will not trigger an event.
- * (it should not)
- */
- protected void postChoiceItemEvent ( int index )
- {
- if( selected != index )
- {
- selected = index;
- postItemEvent (((Choice) awtComponent).getItem( selected ),
- ItemEvent.SELECTED);
- }
- }
-
- /**
- * Catches the event and calls Choice.select() if the component state
- * needs updating.
- */
- public void handleEvent (AWTEvent event)
- {
- super.handleEvent (event);
- if (event instanceof ItemEvent)
- if (((ItemEvent)event).getItemSelectable() == awtComponent
- && ((ItemEvent)event).getStateChange() == ItemEvent.SELECTED)
- ((Choice)awtComponent).select( selected );
- }
-}