KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > columba > core > gui > action > AbstractSelectableAction


1 //The contents of this file are subject to the Mozilla Public License Version 1.1
2
//(the "License"); you may not use this file except in compliance with the
3
//License. You may obtain a copy of the License at http://www.mozilla.org/MPL/
4
//
5
//Software distributed under the License is distributed on an "AS IS" basis,
6
//WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
7
//for the specific language governing rights and
8
//limitations under the License.
9
//
10
//The Original Code is "The Columba Project"
11
//
12
//The Initial Developers of the Original Code are Frederik Dietz and Timo Stich.
13
//Portions created by Frederik Dietz and Timo Stich are Copyright (C) 2003.
14
//
15
//All Rights Reserved.
16
package org.columba.core.gui.action;
17
18 import org.columba.api.gui.frame.IFrameMediator;
19
20
21 /**
22  * This class subclasses AbstractColumbaAction to encapsulate a selection
23  * state. State changes are propagated to registered PropertyChangeListener
24  * instances.
25  */

26 public abstract class AbstractSelectableAction extends AbstractColumbaAction {
27     protected boolean state = false;
28
29     /**
30      * Creates a new action instance with a default selection state of false.
31      */

32     public AbstractSelectableAction(IFrameMediator controller, String JavaDoc name) {
33         super(controller, name);
34     }
35
36     /**
37      * Returns the action's selection state.
38      */

39     public boolean getState() {
40         return state;
41     }
42
43     /**
44      * Sets the action's selection state and notifies registered listeners.
45      */

46     public void setState(boolean state) {
47         if (this.state != state) {
48             Boolean JavaDoc oldValue = this.state ? Boolean.TRUE : Boolean.FALSE;
49             this.state = state;
50             firePropertyChange("selected", oldValue,
51                 state ? Boolean.TRUE : Boolean.FALSE);
52         }
53     }
54 }
55
Popular Tags