diff options
author | Bryce McKinlay <bryce@waitaki.otago.ac.nz> | 2002-08-09 04:26:17 +0000 |
---|---|---|
committer | Bryce McKinlay <bryce@gcc.gnu.org> | 2002-08-09 05:26:17 +0100 |
commit | 7bde45b2eb84502b62e77e46d947e46dcbd333d6 (patch) | |
tree | cdf9958b411887bead2263ea8ef0bdfc8eae6319 /libjava/javax/swing/AbstractListModel.java | |
parent | 097684ce62b505168739fc98e952f92a8719a1fa (diff) | |
download | gcc-7bde45b2eb84502b62e77e46d947e46dcbd333d6.zip gcc-7bde45b2eb84502b62e77e46d947e46dcbd333d6.tar.gz gcc-7bde45b2eb84502b62e77e46d947e46dcbd333d6.tar.bz2 |
AWT/Swing merge from GNU Classpath.
From-SVN: r56147
Diffstat (limited to 'libjava/javax/swing/AbstractListModel.java')
-rw-r--r-- | libjava/javax/swing/AbstractListModel.java | 204 |
1 files changed, 204 insertions, 0 deletions
diff --git a/libjava/javax/swing/AbstractListModel.java b/libjava/javax/swing/AbstractListModel.java new file mode 100644 index 0000000..13518ca --- /dev/null +++ b/libjava/javax/swing/AbstractListModel.java @@ -0,0 +1,204 @@ +/* AbstractListModel.java -- + Copyright (C) 2002 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., 59 Temple Place, Suite 330, Boston, MA +02111-1307 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 javax.swing; + +// Imports +import java.io.*; +import java.util.*; +import javax.swing.event.*; + +/** + * AbstractListModel + * A2uthor Ronald Veldema + * @author Andrew Selkirk + * @version 1.0 + */ +public abstract class AbstractListModel implements ListModel, Serializable { + + //------------------------------------------------------------- + // Variables -------------------------------------------------- + //------------------------------------------------------------- + + /** + * listenerList + */ + protected EventListenerList listenerList = new EventListenerList(); + + + //------------------------------------------------------------- + // Initialization --------------------------------------------- + //------------------------------------------------------------- + + /** + * Constructor AbstractListModel + */ + public AbstractListModel() { + } // AbstractListModel() + + + //------------------------------------------------------------- + // Methods ---------------------------------------------------- + //------------------------------------------------------------- + + /** + * addListDataListener + * @param listener TODO + */ + public void addListDataListener(ListDataListener listener) { + listenerList.add(ListDataListener.class, (EventListener) listener); + } // addListDataListener() + + /** + * removeListDataListener + * @param listener TODO + */ + public void removeListDataListener(ListDataListener listener) { + listenerList.remove(ListDataListener.class, (EventListener) listener); + } // removeListDataListener() + + /** + * fireContentsChanged + * @param source TODO + * @param startIndex TODO + * @param endIndex TODO + */ + protected void fireContentsChanged(Object source, int startIndex, int endIndex) { + + // Variables + ListDataEvent event; + EventListener[] listeners; + ListDataListener listener; + int index; + + // Create Event + event = new ListDataEvent(source, ListDataEvent.CONTENTS_CHANGED, + startIndex, endIndex); + + // Get Listeners + listeners = listenerList.getListeners(ListDataListener.class); + + // Process Listeners + for (index = 0; index < listeners.length; index++) { + listener = (ListDataListener) listeners[index]; + listener.contentsChanged(event); + } // for + + } // fireContentsChanged() + + /** + * fireIntervalAdded + * @param source TODO + * @param startIndex TODO + * @param endIndex TODO + */ + protected void fireIntervalAdded(Object source, int startIndex, int endIndex) { + + // Variables + ListDataEvent event; + EventListener[] listeners; + ListDataListener listener; + int index; + + // Create Event + event = new ListDataEvent(source, ListDataEvent.INTERVAL_ADDED, + startIndex, endIndex); + + // Get Listeners + listeners = listenerList.getListeners(ListDataListener.class); + + // Process Listeners + for (index = 0; index < listeners.length; index++) { + listener = (ListDataListener) listeners[index]; + listener.intervalAdded(event); + } // for + + } // fireIntervalAdded() + + /** + * fireIntervalRemoved + * @param source TODO + * @param startIndex TODO + * @param endIndex TODO + */ + protected void fireIntervalRemoved(Object source, int startIndex, int endIndex) { + + // Variables + ListDataEvent event; + EventListener[] listeners; + ListDataListener listener; + int index; + + // Create Event + event = new ListDataEvent(source, ListDataEvent.INTERVAL_REMOVED, + startIndex, endIndex); + + // Get Listeners + listeners = listenerList.getListeners(ListDataListener.class); + + // Process Listeners + for (index = 0; index < listeners.length; index++) { + listener = (ListDataListener) listeners[index]; + listener.intervalRemoved(event); + } // for + + } // fireIntervalRemoved() + + /** + * getListeners + * @param listenerType TODO + * @returns EventListener[] + */ + public EventListener[] getListeners(Class listenerType) { + return listenerList.getListeners(listenerType); + } // getListeners() + + /** + * getElementAt + * @param index TODO + * @returns Object + */ + public abstract Object getElementAt(int index); + + /** + * getSize + * @returns int + */ + public abstract int getSize(); + + +} // AbstractListModel |