fixes for host gcc 4.6.1
[zpugcc/jano.git] / toolchain / gcc / libjava / javax / swing / AbstractAction.java
blob4141dd30e06d7d5a38afbd74c13e5c8dc28ff461
1 /* AbstractAction.java --
2 Copyright (C) 2002, 2004 Free Software Foundation, Inc.
4 This file is part of GNU Classpath.
6 GNU Classpath is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 2, or (at your option)
9 any later version.
11 GNU Classpath is distributed in the hope that it will be useful, but
12 WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 General Public License for more details.
16 You should have received a copy of the GNU General Public License
17 along with GNU Classpath; see the file COPYING. If not, write to the
18 Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
19 02111-1307 USA.
21 Linking this library statically or dynamically with other modules is
22 making a combined work based on this library. Thus, the terms and
23 conditions of the GNU General Public License cover the whole
24 combination.
26 As a special exception, the copyright holders of this library give you
27 permission to link this library with independent modules to produce an
28 executable, regardless of the license terms of these independent
29 modules, and to copy and distribute the resulting executable under
30 terms of your choice, provided that you also meet, for each linked
31 independent module, the terms and conditions of the license of that
32 module. An independent module is a module which is not derived from
33 or based on this library. If you modify this library, you may extend
34 this exception to your version of the library, but you are not
35 obligated to do so. If you do not wish to do so, delete this
36 exception statement from your version. */
39 package javax.swing;
41 import java.beans.PropertyChangeListener;
42 import java.io.IOException;
43 import java.io.ObjectInputStream;
44 import java.io.ObjectOutputStream;
45 import java.io.Serializable;
46 import java.util.HashMap;
47 import javax.swing.event.SwingPropertyChangeSupport;
49 /**
50 * AbstractAction
51 * @author Andrew Selkirk
52 * @version 1.0
54 public abstract class AbstractAction
55 implements Action, Cloneable, Serializable
57 static final long serialVersionUID = -6803159439231523484L;
59 //-------------------------------------------------------------
60 // Variables --------------------------------------------------
61 //-------------------------------------------------------------
63 /**
64 * enabled
66 protected boolean enabled = true;
68 /**
69 * changeSupport
71 protected SwingPropertyChangeSupport changeSupport =
72 new SwingPropertyChangeSupport(this);
74 /**
75 * store
77 private transient HashMap store = new HashMap();
80 //-------------------------------------------------------------
81 // Initialization ---------------------------------------------
82 //-------------------------------------------------------------
84 /**
85 * Constructor AbstractAction
87 public AbstractAction() {
88 this(""); // TODO: default name
89 } // AbstractAction()
91 /**
92 * Constructor AbstractAction
93 * @param name TODO
95 public AbstractAction(String name) {
96 this(name, null); // TODO: default icon??
97 } // AbstractAction()
99 /**
100 * Constructor AbstractAction
101 * @param name TODO
102 * @param icon TODO
104 public AbstractAction(String name, Icon icon) {
105 putValue(NAME, name);
106 putValue(SMALL_ICON, icon);
107 } // AbstractAction()
110 //-------------------------------------------------------------
111 // Methods ----------------------------------------------------
112 //-------------------------------------------------------------
115 * readObject
116 * @param stream TODO
117 * @exception ClassNotFoundException TODO
118 * @exception IOException TODO
120 private void readObject(ObjectInputStream stream)
121 throws ClassNotFoundException, IOException {
122 // TODO
123 } // readObject()
126 * writeObject
127 * @param stream TODO
128 * @exception IOException TODO
130 private void writeObject(ObjectOutputStream stream) throws IOException {
131 // TODO
132 } // writeObject()
135 * clone
136 * @exception CloneNotSupportedException TODO
137 * @returns Object
139 protected Object clone() throws CloneNotSupportedException {
140 // What to do??
141 return null;
142 } // clone()
145 * getValue
146 * @param key TODO
147 * @returns Object
149 public Object getValue(String key) {
150 return store.get(key);
151 } // getValue()
154 * putValue
155 * @param key TODO
156 * @param value TODO
158 public void putValue(String key, Object value) {
159 store.put(key, value);
160 } // putValue()
163 * isEnabled
164 * @returns boolean
166 public boolean isEnabled() {
167 return enabled;
168 } // isEnabled()
171 * setEnabled
172 * @param enabled TODO
174 public void setEnabled(boolean enabled) {
175 this.enabled = enabled;
176 } // setEnabled()
179 * getKeys
180 * @returns Object[]
182 public Object[] getKeys() {
183 return store.keySet().toArray();
184 } // getKeys()
187 * firePropertyChange
188 * @param propertyName TODO
189 * @param oldValue TODO
190 * @param newValue TODO
192 protected void firePropertyChange(String propertyName,
193 Object oldValue, Object newValue) {
194 changeSupport.firePropertyChange(propertyName, oldValue, newValue);
195 } // firePropertyChange()
198 * addPropertyChangeListener
199 * @param listener TODO
201 public synchronized void addPropertyChangeListener(PropertyChangeListener listener) {
202 changeSupport.addPropertyChangeListener(listener);
203 } // addPropertyChangeListener()
206 * removePropertyChangeListener
207 * @param listener TODO
209 public synchronized void removePropertyChangeListener(PropertyChangeListener listener) {
210 changeSupport.removePropertyChangeListener(listener);
211 } // removePropertyChangeListener()