|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjavax.swing.AbstractAction
org.tigris.gef.base.Cmd
Abstract class for all editor commands. The editor serves as a command shell for executing actions in much the same way that a DOS or UNIX commmand command shell executes programs. Each command can have a Hashtable of "command-line" arguments and also look at global variables (its environment). Once an instance of a Cmd is made, it can be sent the doIt() and undoIt() messages to perform that action.
Since this is subclassed from class AbstractAction in the Swing user interface library, Cmd objects can be easily added to menus and toolbars.
TODO Implement an undo queue externally from GEF
Field Summary | |
protected java.util.Hashtable |
_args
Arguments that configure the Cmd instance. |
protected java.lang.String |
_resource
|
Fields inherited from class javax.swing.AbstractAction |
changeSupport, enabled |
Fields inherited from interface javax.swing.Action |
ACCELERATOR_KEY, ACTION_COMMAND_KEY, DEFAULT, LONG_DESCRIPTION, MNEMONIC_KEY, NAME, SHORT_DESCRIPTION, SMALL_ICON |
Constructor Summary | |
protected |
Cmd(java.util.Hashtable args,
java.lang.String name)
|
protected |
Cmd(java.util.Hashtable args,
java.lang.String name,
javax.swing.ImageIcon icon)
|
|
Cmd(java.util.Hashtable args,
java.lang.String resource,
java.lang.String name)
Construct a new Cmd with the given arguments |
|
Cmd(java.util.Hashtable args,
java.lang.String resource,
java.lang.String name,
javax.swing.ImageIcon icon)
|
protected |
Cmd(java.lang.String name)
Constructors with no resource name |
|
Cmd(java.lang.String resource,
java.lang.String name)
|
Method Summary | |
java.lang.String |
about()
Return a URL that has user and programmer documentation. |
void |
actionPerformed(java.awt.event.ActionEvent ae)
|
static Cmd |
cmdAtIndex(int i)
Return the "well-known" Cmd at a given index. |
protected boolean |
containsArg(java.lang.String key)
Reply true if this Cmd instance has the named argument defined. |
abstract void |
doIt()
Perform whatever Cmd this Cmd is meant to do. |
protected java.lang.Object |
getArg(java.lang.String key)
Get the object stored as an argument under the given name. |
protected java.lang.Object |
getArg(java.lang.String key,
java.lang.Object defaultValue)
Get an argument by name. |
java.lang.String |
getName()
Return a name for this Cmd suitable for display to the user |
java.lang.String |
getResource()
|
static void |
register(Cmd c)
Add a "well-known" Cmd TODO Does this really belong in GEF? |
static java.util.Enumeration |
registeredCmds()
Return a list of "well-known" Cmd instances that should appear in lists for the user to pick from. |
protected void |
setArg(java.lang.String key,
java.lang.Object value)
Store the given argument under the given name. |
void |
setName(java.lang.String n)
|
void |
setResource(java.lang.String resource)
Set a new resource as basis for the localization of this command. |
boolean |
shouldBeEnabled()
Return true if this action should be available to the user. |
abstract void |
undoIt()
Undo the Cmd using information stored during its execution. |
void |
updateEnabled()
Determine if this Cmd should be shown as grayed out in menus and toolbars. |
Methods inherited from class javax.swing.AbstractAction |
addPropertyChangeListener, clone, firePropertyChange, getKeys, getPropertyChangeListeners, getValue, isEnabled, putValue, removePropertyChangeListener, setEnabled |
Methods inherited from class java.lang.Object |
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
protected java.util.Hashtable _args
protected java.lang.String _resource
Constructor Detail |
public Cmd(java.util.Hashtable args, java.lang.String resource, java.lang.String name)
public Cmd(java.lang.String resource, java.lang.String name)
public Cmd(java.util.Hashtable args, java.lang.String resource, java.lang.String name, javax.swing.ImageIcon icon)
protected Cmd(java.lang.String name)
protected Cmd(java.util.Hashtable args, java.lang.String name, javax.swing.ImageIcon icon)
protected Cmd(java.util.Hashtable args, java.lang.String name)
Method Detail |
public void updateEnabled()
public boolean shouldBeEnabled()
public void setResource(java.lang.String resource)
public java.lang.String getResource()
public java.lang.String getName()
public void setName(java.lang.String n)
protected java.lang.Object getArg(java.lang.String key)
protected java.lang.Object getArg(java.lang.String key, java.lang.Object defaultValue)
protected void setArg(java.lang.String key, java.lang.Object value)
protected boolean containsArg(java.lang.String key)
public java.lang.String about()
public void actionPerformed(java.awt.event.ActionEvent ae)
actionPerformed
in interface java.awt.event.ActionListener
public abstract void doIt()
public abstract void undoIt()
TODO Abandon this. We need the memento pattern for undo
public static java.util.Enumeration registeredCmds()
CmdOpenWindow
public static void register(Cmd c)
public static Cmd cmdAtIndex(int i)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |