|
||||||||||
| 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
public abstract class 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.ActionListenerpublic abstract void doIt()
public abstract void undoIt()
TODO Abandon this. We need the memento pattern for undo
public static java.util.Enumeration registeredCmds()
CmdOpenWindowpublic 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 | |||||||||