View Javadoc

1   /*
2    *  XNap Commons
3    *
4    *  Copyright (C) 2005  Felix Berger
5    *  Copyright (C) 2005  Steffen Pingel
6    *
7    *  This library is free software; you can redistribute it and/or
8    *  modify it under the terms of the GNU Lesser General Public
9    *  License as published by the Free Software Foundation; either
10   *  version 2.1 of the License, or (at your option) any later version.
11   *
12   *  This library is distributed in the hope that it will be useful,
13   *  but WITHOUT ANY WARRANTY; without even the implied warranty of
14   *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15   *  Lesser General Public License for more details.
16   *
17   *  You should have received a copy of the GNU Lesser General Public
18   *  License along with this library; if not, write to the Free Software
19   *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
20   */
21  package org.xnap.commons.gui.shortcut;
22  
23  import java.beans.PropertyChangeListener;
24  import javax.swing.KeyStroke;
25  
26  /***
27   * Defines the requirements for classes that provide shortcuts.
28   */
29  public interface Shortcut 
30  {
31  	public static final String DESCRIPTION = "XNapDescription";
32  
33  	public static final String CATEGORY = "XNapCategory";
34  	
35  	public static final String KEYSTROKE = "XNapKeyStroke";
36  	
37  	void putValue(String key, Object value);
38  	
39  	Object getValue(String key);
40  	
41  	void addPropertyChangeListener(PropertyChangeListener l);
42  	
43  	void removePropertyChangeListener(PropertyChangeListener l);
44  
45      /***
46       * Returns the keystroke.
47       */
48      KeyStroke getKeyStroke();
49  
50      /***
51       * 
52       */
53      void setKeyStroke(KeyStroke stroke);
54  
55  }
56