OSDN Git Service

2004-01-28 Michael Koch <konqueror@gmx.de>
[pf3gnuchains/gcc-fork.git] / libjava / javax / swing / AbstractCellEditor.java
1 /* AbstractCellEditor.java --
2    Copyright (C) 2002, 2004 Free Software Foundation, Inc.
3
4 This file is part of GNU Classpath.
5
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.
10
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.
15
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.
20
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.
25
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. */
37
38
39 package javax.swing;
40
41 import java.io.Serializable;
42 import java.util.EventObject;
43 import javax.swing.event.CellEditorListener;
44 import javax.swing.event.ChangeEvent;
45 import javax.swing.event.EventListenerList;
46
47 /**
48  * AbstractCellEditor
49  * @author      Andrew Selkirk
50  * @version     1.0
51  */
52 public abstract class AbstractCellEditor
53   implements CellEditor, Serializable
54 {
55   static final long serialVersionUID = -1048006551406220959L;
56
57   /**
58    * listenerList
59    */
60   protected EventListenerList listenerList;
61
62   /**
63    * changeEvent
64    */
65   protected transient ChangeEvent changeEvent;
66
67         /**
68          * Constructor AbstractCellEditor
69          */
70         public AbstractCellEditor() {
71                 // TODO
72         } // AbstractCellEditor()
73
74         /**
75          * isCellEditable
76          * @param event TODO
77          * @returns boolean
78          */
79         public boolean isCellEditable(EventObject event) {
80                 return false; // TODO
81         } // isCellEditable()
82
83         /**
84          * shouldSelectCell
85          * @param event TODO
86          * @returns boolean
87          */
88         public boolean shouldSelectCell(EventObject event) {
89                 return false; // TODO
90         } // shouldSelectCell()
91
92         /**
93          * stopCellEditing
94          * @returns boolean
95          */
96         public boolean stopCellEditing() {
97                 return false; // TODO
98         } // stopCellEditing()
99
100         /**
101          * cancelCellEditing
102          */
103         public void cancelCellEditing() {
104                 // TODO
105         } // cancelCellEditing()
106
107         /**
108          * getCellEditorValue
109          * @returns Object
110          */
111         public abstract Object getCellEditorValue();
112
113   /**
114    * addCellEditorListener
115    *
116    * @param listener The listener to add
117    */
118   public void addCellEditorListener (CellEditorListener listener)
119   {
120     listenerList.add (CellEditorListener.class, listener);
121   }
122
123   /**
124    * removeCellEditorListener
125    *
126    * @param listener The listener to remove
127    */
128   public void removeCellEditorListener (CellEditorListener listener)
129   {
130     listenerList.remove (CellEditorListener.class, listener);
131   }
132         
133   /**
134    * getCellEditorListeners
135    *
136    * @since 1.4
137    */
138   public CellEditorListener[] getCellEditorListeners()
139   {
140     return (CellEditorListener[]) listenerList.getListeners (CellEditorListener.class);
141   }
142
143   /**
144    * fireEditingStopped
145    */
146   protected void fireEditingStopped()
147   {
148     CellEditorListener[] listeners = getCellEditorListeners();
149
150     for (int index = 0; index < listeners.length; index++)
151       {
152         listeners [index].editingStopped (changeEvent);
153       }
154   }
155
156   /**
157    * fireEditingCanceled
158    */
159   protected void fireEditingCanceled()
160   {
161     CellEditorListener[] listeners = getCellEditorListeners();
162
163     for (int index = 0; index < listeners.length; index++)
164       {
165         listeners [index].editingCanceled (changeEvent);
166       }
167   }
168 }