home *** CD-ROM | disk | FTP | other *** search
- package java.awt;
-
- import java.awt.event.ItemEvent;
- import java.awt.event.ItemListener;
- import java.awt.peer.ChoicePeer;
- import java.io.IOException;
- import java.io.ObjectInputStream;
- import java.io.ObjectOutputStream;
- import java.util.Vector;
-
- public class Choice extends Component implements ItemSelectable {
- Vector pItems;
- int selectedIndex = -1;
- transient ItemListener itemListener;
- private static final String base = "choice";
- private static int nameCounter;
- private static final long serialVersionUID = -4075310674757313071L;
- private int choiceSerializedDataVersion = 1;
-
- public Choice() {
- super.name = "choice" + nameCounter++;
- this.pItems = new Vector();
- }
-
- public void addNotify() {
- Object var1 = ((Component)this).getTreeLock();
- synchronized(var1){}
-
- try {
- if (super.peer == null) {
- super.peer = ((Component)this).getToolkit().createChoice(this);
- }
-
- super.addNotify();
- } catch (Throwable var3) {
- throw var3;
- }
-
- }
-
- public int getItemCount() {
- return this.countItems();
- }
-
- /** @deprecated */
- public int countItems() {
- return this.pItems.size();
- }
-
- public String getItem(int var1) {
- return (String)this.pItems.elementAt(var1);
- }
-
- public synchronized void add(String var1) {
- this.addItem(var1);
- }
-
- public synchronized void addItem(String var1) {
- if (var1 == null) {
- throw new NullPointerException("cannot add null item to Choice");
- } else {
- this.pItems.addElement(var1);
- ChoicePeer var2 = (ChoicePeer)super.peer;
- if (var2 != null) {
- var2.addItem(var1, this.pItems.size() - 1);
- }
-
- if (this.selectedIndex < 0) {
- this.select(0);
- }
-
- }
- }
-
- public synchronized void insert(String var1, int var2) {
- if (var2 < 0) {
- throw new IllegalArgumentException("index less than zero.");
- } else {
- int var3 = this.getItemCount();
- Vector var4 = new Vector();
-
- for(int var5 = var2; var5 < var3; ++var5) {
- var4.addElement(this.getItem(var2));
- this.remove(var2);
- }
-
- this.add(var1);
-
- for(int var6 = 0; var6 < var4.size(); ++var6) {
- this.add((String)var4.elementAt(var6));
- }
-
- }
- }
-
- public synchronized void remove(String var1) {
- int var2 = this.pItems.indexOf(var1);
- if (var2 < 0) {
- throw new IllegalArgumentException("item " + var1 + " not found in choice");
- } else {
- this.remove(var2);
- }
- }
-
- public synchronized void remove(int var1) {
- this.pItems.removeElementAt(var1);
- ChoicePeer var2 = (ChoicePeer)super.peer;
- if (var2 != null) {
- var2.remove(var1);
- }
-
- if (this.pItems.size() == 0) {
- this.selectedIndex = -1;
- } else {
- if (this.selectedIndex == var1) {
- this.select(0);
- }
-
- }
- }
-
- public synchronized void removeAll() {
- int var1 = this.getItemCount();
-
- for(int var2 = 0; var2 < var1; ++var2) {
- this.remove(0);
- }
-
- }
-
- public synchronized String getSelectedItem() {
- return this.selectedIndex >= 0 ? this.getItem(this.selectedIndex) : null;
- }
-
- public synchronized Object[] getSelectedObjects() {
- if (this.selectedIndex >= 0) {
- Object[] var1 = new Object[]{this.getItem(this.selectedIndex)};
- return var1;
- } else {
- return null;
- }
- }
-
- public int getSelectedIndex() {
- return this.selectedIndex;
- }
-
- public synchronized void select(int var1) {
- if (var1 >= this.pItems.size()) {
- throw new IllegalArgumentException("illegal Choice item position: " + var1);
- } else {
- if (this.pItems.size() > 0) {
- this.selectedIndex = var1;
- ChoicePeer var2 = (ChoicePeer)super.peer;
- if (var2 != null) {
- var2.select(var1);
- }
- }
-
- }
- }
-
- public synchronized void select(String var1) {
- int var2 = this.pItems.indexOf(var1);
- if (var2 >= 0) {
- this.select(var2);
- }
-
- }
-
- public synchronized void addItemListener(ItemListener var1) {
- this.itemListener = AWTEventMulticaster.add(this.itemListener, var1);
- super.newEventsOnly = true;
- }
-
- public synchronized void removeItemListener(ItemListener var1) {
- this.itemListener = AWTEventMulticaster.remove(this.itemListener, var1);
- }
-
- boolean eventEnabled(AWTEvent var1) {
- if (var1.id == 701) {
- return (super.eventMask & 512L) != 0L || this.itemListener != null;
- } else {
- return super.eventEnabled(var1);
- }
- }
-
- protected void processEvent(AWTEvent var1) {
- if (var1 instanceof ItemEvent) {
- this.processItemEvent((ItemEvent)var1);
- } else {
- super.processEvent(var1);
- }
- }
-
- protected void processItemEvent(ItemEvent var1) {
- if (this.itemListener != null) {
- this.itemListener.itemStateChanged(var1);
- }
-
- }
-
- protected String paramString() {
- return super.paramString() + ",current=" + this.getSelectedItem();
- }
-
- private void writeObject(ObjectOutputStream var1) throws IOException {
- var1.defaultWriteObject();
- AWTEventMulticaster.save(var1, "itemL", this.itemListener);
- var1.writeObject((Object)null);
- }
-
- private void readObject(ObjectInputStream var1) throws ClassNotFoundException, IOException {
- var1.defaultReadObject();
-
- Object var2;
- while((var2 = var1.readObject()) != null) {
- String var3 = ((String)var2).intern();
- if (var3 == "itemL") {
- this.addItemListener((ItemListener)var1.readObject());
- } else {
- var1.readObject();
- }
- }
-
- }
- }
-