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.EventListener;
- import java.util.Vector;
- import javax.accessibility.Accessible;
- import javax.accessibility.AccessibleContext;
-
- public class Choice extends Component implements ItemSelectable, Accessible {
- Vector pItems = new Vector();
- int selectedIndex = -1;
- transient ItemListener itemListener;
- private static final String base = "choice";
- private static int nameCounter = 0;
- private static final long serialVersionUID = -4075310674757313071L;
- private int choiceSerializedDataVersion = 1;
- // $FF: synthetic field
- static Class class$java$awt$event$ItemListener;
-
- String constructComponentName() {
- Class var1 = this.getClass();
- synchronized(var1) {
- String var2 = "choice" + nameCounter++;
- return var2;
- }
- }
-
- public void addNotify() {
- Object var1 = ((Component)this).getTreeLock();
- synchronized(var1) {
- if (super.peer == null) {
- super.peer = ((Component)this).getToolkit().createChoice(this);
- }
-
- super.addNotify();
- }
- }
-
- public int getItemCount() {
- return this.countItems();
- }
-
- public int countItems() {
- return this.pItems.size();
- }
-
- public String getItem(int var1) {
- return this.getItemImpl(var1);
- }
-
- final String getItemImpl(int var1) {
- return (String)this.pItems.elementAt(var1);
- }
-
- public void add(String var1) {
- this.addItem(var1);
- }
-
- public void addItem(String var1) {
- synchronized(this) {
- this.addItemNoInvalidate(var1);
- }
-
- if (super.valid) {
- ((Component)this).invalidate();
- }
-
- }
-
- private void addItemNoInvalidate(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 void insert(String var1, int var2) {
- synchronized(this) {
- if (var2 < 0) {
- throw new IllegalArgumentException("index less than zero.");
- }
-
- int var4 = this.getItemCount();
- Vector var5 = new Vector();
-
- for(int var6 = var2; var6 < var4; ++var6) {
- var5.addElement(this.getItem(var2));
- this.removeNoInvalidate(var2);
- }
-
- this.addItemNoInvalidate(var1);
-
- for(int var7 = 0; var7 < var5.size(); ++var7) {
- this.addItemNoInvalidate((String)var5.elementAt(var7));
- }
- }
-
- if (super.valid) {
- ((Component)this).invalidate();
- }
-
- }
-
- public void remove(String var1) {
- synchronized(this) {
- int var3 = this.pItems.indexOf(var1);
- if (var3 < 0) {
- throw new IllegalArgumentException("item " + var1 + " not found in choice");
- }
-
- this.removeNoInvalidate(var3);
- }
-
- if (super.valid) {
- ((Component)this).invalidate();
- }
-
- }
-
- public void remove(int var1) {
- synchronized(this) {
- this.removeNoInvalidate(var1);
- }
-
- if (super.valid) {
- ((Component)this).invalidate();
- }
-
- }
-
- private void removeNoInvalidate(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);
- } else if (this.selectedIndex > var1) {
- this.select(this.selectedIndex - 1);
- }
-
- }
-
- public void removeAll() {
- synchronized(this) {
- if (super.peer != null) {
- ((ChoicePeer)super.peer).removeAll();
- }
-
- this.pItems.removeAllElements();
- this.selectedIndex = -1;
- }
-
- if (super.valid) {
- ((Component)this).invalidate();
- }
-
- }
-
- 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() && var1 >= 0) {
- if (this.pItems.size() > 0) {
- this.selectedIndex = var1;
- ChoicePeer var2 = (ChoicePeer)super.peer;
- if (var2 != null) {
- var2.select(var1);
- }
- }
-
- } else {
- throw new IllegalArgumentException("illegal Choice item position: " + 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) {
- if (var1 != null) {
- this.itemListener = AWTEventMulticaster.add(this.itemListener, var1);
- super.newEventsOnly = true;
- }
- }
-
- public synchronized void removeItemListener(ItemListener var1) {
- if (var1 != null) {
- this.itemListener = AWTEventMulticaster.remove(this.itemListener, var1);
- }
- }
-
- public EventListener[] getListeners(Class var1) {
- Object var2 = null;
- if (var1 == (class$java$awt$event$ItemListener == null ? (class$java$awt$event$ItemListener = class$("java.awt.event.ItemListener")) : class$java$awt$event$ItemListener)) {
- ItemListener var3 = this.itemListener;
- return AWTEventMulticaster.getListeners(var3, var1);
- } else {
- return super.getListeners(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(null != (var2 = var1.readObject())) {
- String var3 = ((String)var2).intern();
- if ("itemL" == var3) {
- this.addItemListener((ItemListener)var1.readObject());
- } else {
- var1.readObject();
- }
- }
-
- }
-
- public AccessibleContext getAccessibleContext() {
- if (super.accessibleContext == null) {
- super.accessibleContext = new AccessibleAWTChoice(this);
- }
-
- return super.accessibleContext;
- }
-
- // $FF: synthetic method
- static Class class$(String var0) {
- try {
- return Class.forName(var0);
- } catch (ClassNotFoundException var2) {
- throw new NoClassDefFoundError(((Throwable)var2).getMessage());
- }
- }
- }
-