dsto.dfc.swing.dnd
Class AbstractCnpCommand

java.lang.Object
  extended by dsto.dfc.swing.commands.AbstractCommand
      extended by dsto.dfc.swing.commands.AbstractMutableCommand
          extended by dsto.dfc.swing.dnd.AbstractCnpCommand
All Implemented Interfaces:
Command, Iconic, Copyable, PropertyEventSource, ClipboardOwner, ActionListener, PropertyChangeListener, Cloneable, EventListener
Direct Known Subclasses:
CmdCopy, CmdCut, CmdPaste

public abstract class AbstractCnpCommand
extends AbstractMutableCommand
implements PropertyChangeListener, ClipboardOwner

Abstract base class for clipboard based commands operating on a CnpProvider.

Version:
$Revision$

Field Summary
protected  CnpProvider source
           
 
Fields inherited from class dsto.dfc.swing.commands.AbstractMutableCommand
listeners
 
Fields inherited from class dsto.dfc.swing.commands.AbstractCommand
displayName, icon
 
Fields inherited from interface dsto.dfc.swing.icons.Iconic
NULL_ICON
 
Constructor Summary
AbstractCnpCommand(CnpProvider source, String property)
          Create a new instance.
 
Method Summary
abstract  void execute()
          Execute the command.
abstract  String getDescription()
          A short description of the command, suitable for a tooltip or use in a status panel.
 String getGroupInView(String viewName)
          Get the preferred group that this command should appear in for a given view.
abstract  char getMnemonic()
          Get a character shortcut for the command (eg for use on a menu).
abstract  String getName()
          The formal identifying name for this command (eg edit.Copy, file.Open).
 boolean isInteractive()
          True if this command will interact with the user when execute() is called.
 void lostOwnership(Clipboard clipboard, Transferable contents)
           
 void propertyChange(PropertyChangeEvent e)
           
protected  void updateEnabled()
          Update enabled status of command based on current value of the selected cnp* property.
 
Methods inherited from class dsto.dfc.swing.commands.AbstractMutableCommand
addPropertyChangeListener, clone, isEnabled, removePropertyChangeListener, setEnabled, setIcon
 
Methods inherited from class dsto.dfc.swing.commands.AbstractCommand
actionPerformed, canReplace, getAccelerator, getDefaultDisplayName, getDisplayName, getIcon, getLargeIcon, getLogString, setDisplayName
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

source

protected CnpProvider source
Constructor Detail

AbstractCnpCommand

public AbstractCnpCommand(CnpProvider source,
                          String property)
Create a new instance.

Parameters:
source - The CnpProvider being operated on.
property - The (boolean) property of the CnpProvider that indicates whether this command is active or not (usually one of the 'cnp*' properties).
Method Detail

execute

public abstract void execute()
Description copied from interface: Command
Execute the command.

Specified by:
execute in interface Command
Specified by:
execute in class AbstractCommand

getName

public abstract String getName()
Description copied from interface: Command
The formal identifying name for this command (eg edit.Copy, file.Open). This must not change during the lifetime of a command instance.

Specified by:
getName in interface Command
Specified by:
getName in interface Iconic
Specified by:
getName in class AbstractCommand

getDescription

public abstract String getDescription()
Description copied from interface: Command
A short description of the command, suitable for a tooltip or use in a status panel.

Specified by:
getDescription in interface Command
Specified by:
getDescription in class AbstractCommand

getMnemonic

public abstract char getMnemonic()
Description copied from interface: Command
Get a character shortcut for the command (eg for use on a menu). May return 0 for no mnemonic.

Specified by:
getMnemonic in interface Command
Specified by:
getMnemonic in class AbstractCommand

getGroupInView

public String getGroupInView(String viewName)
Description copied from interface: Command
Get the preferred group that this command should appear in for a given view. This may be overridden by a setting in the CommandRegistry.

If the command changes its group in any view it should generate a groupInView property change event with the old value set to the old group and the new value set to the new group.

Specified by:
getGroupInView in interface Command
Specified by:
getGroupInView in class AbstractCommand
Parameters:
viewName - The name of the view.
Returns:
The group in the view, or null if this command does not appear in the given view.

isInteractive

public boolean isInteractive()
Description copied from interface: Command
True if this command will interact with the user when execute() is called.

Specified by:
isInteractive in interface Command
Specified by:
isInteractive in class AbstractCommand

updateEnabled

protected void updateEnabled()
Update enabled status of command based on current value of the selected cnp* property.


propertyChange

public void propertyChange(PropertyChangeEvent e)
Specified by:
propertyChange in interface PropertyChangeListener

lostOwnership

public void lostOwnership(Clipboard clipboard,
                          Transferable contents)
Specified by:
lostOwnership in interface ClipboardOwner


Copyright © 2008 Commonwealth of Australia