This is the mail archive of the java-patches@gcc.gnu.org mailing list for the Java project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

FYI: Patch: javax.swing


Hello list,


I just commited the attached patch to trunk to implement some swing stuff.


Michael


2004-01-23  Michael Koch  <konqueror@gmx.de>

	* javax/swing/AbstractAction.java: Reformated.
	(getPropertyChangeListeners): New method.
	* javax/swing/AbstractCellEditor.java: Reformated.
	(getCellEditorListeners): New method.
	* javax/swing/DefaultListSelectionModel.java
	(listenerList): New field.
	(listeners): Removed.
	(get_listeners): Removed.
	(addListSelectionListener): Rewritten.
	(removeListSelectionListener): Rewritten.
	(getListSelectionListeners): New method.
	(getListeners): New method.
	* javax/swing/JComboBox.java: Imports reworked.
	(addActionListener): Implemented.
	(removeActionListener): Implemented.
	(addItemListener): Implemented.
	(removeItemListener): Implemented.
	(addPopupMenuListener): Implemented.
	(removePopupMenuListener): Implemented.
	(getActionListeners): New method.
	(getItemListeners): New method.
	(getPopupMenuListeners): New method.

Index: javax/swing/AbstractAction.java
===================================================================
RCS file: /cvs/gcc/gcc/libjava/javax/swing/AbstractAction.java,v
retrieving revision 1.4
diff -u -b -B -r1.4 AbstractAction.java
--- javax/swing/AbstractAction.java	9 Jan 2004 10:18:47 -0000	1.4
+++ javax/swing/AbstractAction.java	23 Jan 2004 12:41:38 -0000
@@ -56,10 +56,6 @@
 {
   static final long serialVersionUID = -6803159439231523484L;
 
-	//-------------------------------------------------------------
-	// Variables --------------------------------------------------
-	//-------------------------------------------------------------
-
 	/**
 	 * enabled
 	 */
@@ -76,11 +72,6 @@
 	 */
 	private transient HashMap store = new HashMap();
 
-
-	//-------------------------------------------------------------
-	// Initialization ---------------------------------------------
-	//-------------------------------------------------------------
-
 	/**
 	 * Constructor AbstractAction
 	 */
@@ -106,11 +97,6 @@
 		putValue(SMALL_ICON, icon);
 	} // AbstractAction()
 
-
-	//-------------------------------------------------------------
-	// Methods ----------------------------------------------------
-	//-------------------------------------------------------------
-
 	/**
 	 * readObject
 	 * @param stream TODO
@@ -185,28 +171,46 @@
 
 	/**
 	 * firePropertyChange
+   *
 	 * @param propertyName TODO
 	 * @param oldValue TODO
 	 * @param newValue TODO
 	 */
-	protected void firePropertyChange(String propertyName,
-			Object oldValue, Object newValue) {
+  protected void firePropertyChange(String propertyName, Object oldValue,
+                                    Object newValue)
+  {
 		changeSupport.firePropertyChange(propertyName, oldValue, newValue);
-	} // firePropertyChange()
+  }
 
 	/**
 	 * addPropertyChangeListener
-	 * @param listener TODO
+   *
+   * @param listener the listener to add
 	 */
-	public synchronized void addPropertyChangeListener(PropertyChangeListener listener) {
+  public void addPropertyChangeListener(PropertyChangeListener listener)
+  {
 		changeSupport.addPropertyChangeListener(listener);
-	} // addPropertyChangeListener()
+  }
 
 	/**
 	 * removePropertyChangeListener
-	 * @param listener TODO
+   *
+   * @param listener the listener to remove
 	 */
-	public synchronized void removePropertyChangeListener(PropertyChangeListener listener) {
+  public void removePropertyChangeListener(PropertyChangeListener listener)
+  {
 		changeSupport.removePropertyChangeListener(listener);
-	} // removePropertyChangeListener()
+  }
+
+  /**
+   * Returns all registered listeners.
+   *
+   * @return array of listeners.
+   * 
+   * @since 1.4
+   */
+  public PropertyChangeListener[] getPropertyChangeListeners()
+  {
+    return changeSupport.getPropertyChangeListeners();
+  }
 }
Index: javax/swing/AbstractCellEditor.java
===================================================================
RCS file: /cvs/gcc/gcc/libjava/javax/swing/AbstractCellEditor.java,v
retrieving revision 1.3
diff -u -b -B -r1.3 AbstractCellEditor.java
--- javax/swing/AbstractCellEditor.java	11 Jun 2003 13:20:39 -0000	1.3
+++ javax/swing/AbstractCellEditor.java	23 Jan 2004 12:41:38 -0000
@@ -54,10 +54,6 @@
 {
   static final long serialVersionUID = -1048006551406220959L;
 
-	//-------------------------------------------------------------
-	// Variables --------------------------------------------------
-	//-------------------------------------------------------------
-
 	/**
 	 * listenerList
 	 */
@@ -68,11 +64,6 @@
 	 */
 	protected transient ChangeEvent changeEvent;
 
-
-	//-------------------------------------------------------------
-	// Initialization ---------------------------------------------
-	//-------------------------------------------------------------
-
 	/**
 	 * Constructor AbstractCellEditor
 	 */
@@ -80,11 +71,6 @@
 		// TODO
 	} // AbstractCellEditor()
 
-
-	//-------------------------------------------------------------
-	// Methods ----------------------------------------------------
-	//-------------------------------------------------------------
-
 	/**
 	 * isCellEditable
 	 * @param event TODO
@@ -119,40 +105,66 @@
 	} // cancelCellEditing()
 
 	/**
+	 * getCellEditorValue
+	 * @returns Object
+	 */
+	public abstract Object getCellEditorValue();
+
+  /**
 	 * addCellEditorListener
-	 * @param listener TODO
+   *
+   * @param listener The listener to add
 	 */
-	public void addCellEditorListener(CellEditorListener listener) {
-		// TODO
-	} // addCellEditorListener()
+  public void addCellEditorListener (CellEditorListener listener)
+  {
+    listenerList.add (CellEditorListener.class, listener);
+  }
 
 	/**
 	 * removeCellEditorListener
-	 * @param listener TODO
+   *
+   * @param listener The listener to remove
 	 */
-	public void removeCellEditorListener(CellEditorListener listener) {
-		// TODO
-	} // removeCellEditorListener()
+  public void removeCellEditorListener (CellEditorListener listener)
+  {
+    listenerList.remove (CellEditorListener.class, listener);
+  }
+	
+  /**
+   * getCellEditorListeners
+   *
+   * @since 1.4
+   */
+  public CellEditorListener[] getCellEditorListeners()
+  {
+    return (CellEditorListener[]) listenerList.getListeners (CellEditorListener.class);
+  }
 
 	/**
 	 * fireEditingStopped
 	 */
-	protected void fireEditingStopped() {
-		// TODO
-	} // fireEditingStopped()
+  protected void fireEditingStopped()
+  {
+    CellEditorListener[] listeners = getCellEditorListeners();
+
+    for (int index = 0; index < listeners.length; index++)
+      {
+	listeners [index].editingStopped (changeEvent);
+      }
+  }
 
 	/**
 	 * fireEditingCanceled
 	 */
-	protected void fireEditingCanceled() {
-		// TODO
-	} // fireEditingCanceled()
-
-	/**
-	 * getCellEditorValue
-	 * @returns Object
-	 */
-	public abstract Object getCellEditorValue();
+  protected void fireEditingCanceled()
+  {
+    CellEditorListener[] listeners = getCellEditorListeners();
+
+    for (int index = 0; index < listeners.length; index++)
+      {
+	listeners [index].editingCanceled (changeEvent);
+      }
+  }
 
 
 } // AbstractCellEditor
Index: javax/swing/DefaultListSelectionModel.java
===================================================================
RCS file: /cvs/gcc/gcc/libjava/javax/swing/DefaultListSelectionModel.java,v
retrieving revision 1.2
diff -u -b -B -r1.2 DefaultListSelectionModel.java
--- javax/swing/DefaultListSelectionModel.java	11 Jun 2003 13:20:39 -0000	1.2
+++ javax/swing/DefaultListSelectionModel.java	23 Jan 2004 12:41:38 -0000
@@ -42,32 +42,18 @@
 import java.util.EventListener;
 import java.util.Vector;
 import javax.swing.event.EventListenerList;
+import javax.swing.event.ListSelectionEvent;
 import javax.swing.event.ListSelectionListener;
 
 public class DefaultListSelectionModel implements Cloneable, ListSelectionModel, Serializable
 {
+  private EventListenerList listenerList = new EventListenerList();
+  
     int mode = SINGLE_SELECTION;
 
     Vector sel = new Vector();
 
-    Vector listeners;
-
-    Vector get_listeners()
-    {
-	if (listeners == null)
-	    listeners = new Vector();
-	return listeners;
-    }
-    
-
-    public void addListSelectionListener(ListSelectionListener listener)
     {
-	get_listeners().addElement(listener);
-    }
-
-    public void removeListSelectionListener(ListSelectionListener listener)
-    {
-	get_listeners().removeElement(listener);
     }
     
     class Range
@@ -182,4 +168,24 @@
 
 	sel.addElement(new Range(index0, index1));
     }
+
+  public void addListSelectionListener(ListSelectionListener listener)
+  {
+    listenerList.add (ListSelectionListener.class, listener);
+  }
+
+  public void removeListSelectionListener(ListSelectionListener listener)
+  {
+    listenerList.remove (ListSelectionListener.class, listener);
+  }
+
+  public ListSelectionListener[] getListSelectionListeners()
+  {
+    return (ListSelectionListener[]) getListeners (ListSelectionListener.class);
+  }
+  
+  public EventListener[] getListeners (Class listenerType)
+  {
+    return listenerList.getListeners (listenerType);
+  }
 }
Index: javax/swing/JComboBox.java
===================================================================
RCS file: /cvs/gcc/gcc/libjava/javax/swing/JComboBox.java,v
retrieving revision 1.3
diff -u -b -B -r1.3 JComboBox.java
--- javax/swing/JComboBox.java	12 Oct 2003 13:20:49 -0000	1.3
+++ javax/swing/JComboBox.java	23 Jan 2004 12:41:38 -0000
@@ -38,14 +38,27 @@
 
 package javax.swing;
 
-import java.awt.*;
-import java.awt.event.*;
-import java.beans.*;
-import java.io.*;
-import java.util.*;
-import javax.accessibility.*;
-import javax.swing.event.*;
-import javax.swing.plaf.*;
+import java.awt.ItemSelectable;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.ItemEvent;
+import java.awt.event.ItemListener;
+import java.awt.event.KeyEvent;
+import java.beans.PropertyChangeListener;
+import java.io.IOException;
+import java.io.ObjectOutputStream;
+import java.util.Vector;
+import javax.accessibility.Accessible;
+import javax.accessibility.AccessibleContext;
+import javax.accessibility.AccessibleAction;
+import javax.accessibility.AccessibleRole;
+import javax.accessibility.AccessibleSelection;
+import javax.swing.event.MenuEvent;
+import javax.swing.event.MenuListener;
+import javax.swing.event.ListDataEvent;
+import javax.swing.event.ListDataListener;
+import javax.swing.event.PopupMenuListener;
+import javax.swing.plaf.ComboBoxUI;
 
 /**
  * JComboBox
@@ -580,38 +593,6 @@
 	} // isPopupVisible()
 
 	/**
-	 * addItemListener
-	 * @param value0 TODO
-	 */
-	public void addItemListener(ItemListener value0) {
-		// TODO
-	} // addItemListener()
-
-	/**
-	 * removeItemListener
-	 * @param value0 TODO
-	 */
-	public void removeItemListener(ItemListener value0) {
-		// TODO
-	} // removeItemListener()
-
-	/**
-	 * addActionListener
-	 * @param value0 TODO
-	 */
-	public void addActionListener(ActionListener value0) {
-		// TODO
-	} // addActionListener()
-
-	/**
-	 * removeActionListener
-	 * @param value0 TODO
-	 */
-	public void removeActionListener(ActionListener value0) {
-		// TODO
-	} // removeActionListener()
-
-	/**
 	 * setActionCommand
 	 * @param value0 TODO
 	 */
@@ -834,6 +815,73 @@
 		} // if
 		return accessibleContext;
 	} // getAccessibleContext()
+  /**
+   * addActionListener
+   * @param listener TODO
+   */
+  public void addActionListener (ActionListener listener)
+  {
+    listenerList.add (ActionListener.class, listener);
+  }
+
+  /**
+   * removeActionListener
+   * @param listener TODO
+   */
+  public void removeActionListener (ActionListener listener)
+  {
+    listenerList.remove (ActionListener.class, listener);
+  }
+
+  /**
+   * @since 1.4
+   */
+  public ActionListener[] getActionListeners()
+  {
+    return (ActionListener[]) getListeners (ActionListener.class);
+  }
+
+  /**
+   * addItemListener
+   * @param listener TODO
+   */
+  public void addItemListener(ItemListener listener)
+  {
+    listenerList.add (ItemListener.class, listener);
+  }
+
+  /**
+   * removeItemListener
+   * @param listener TODO
+   */
+  public void removeItemListener(ItemListener listener)
+  {
+    listenerList.remove (ItemListener.class, listener);
+  }
 
+  /**
+   * @since 1.4
+   */
+  public ItemListener[] getItemListeners()
+  {
+    return (ItemListener[]) getListeners (ItemListener.class);
+  }
+
+  public void addPopupMenuListener (PopupMenuListener listener)
+  {
+    listenerList.add (PopupMenuListener.class, listener);
+  }
 
-} // JComboBox
+  public void removePopupMenuListener (PopupMenuListener listener)
+  {
+    listenerList.remove (PopupMenuListener.class, listener);
+  }
+
+  /**
+   * @since 1.4
+   */
+  public PopupMenuListener[] getPopupMenuListeners()
+  {
+    return (PopupMenuListener[]) getListeners (PopupMenuListener.class);
+  }
+}

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]