org.jhotdraw.draw.action
Class GroupAction

java.lang.Object
  extended by javax.swing.AbstractAction
      extended by org.jhotdraw.draw.action.AbstractSelectedAction
          extended by org.jhotdraw.draw.action.GroupAction
All Implemented Interfaces:
java.awt.event.ActionListener, java.io.Serializable, java.lang.Cloneable, java.util.EventListener, javax.swing.Action, Disposable
Direct Known Subclasses:
CombineAction, UngroupAction

public class GroupAction
extends AbstractSelectedAction

GroupAction.

Version:
$Id: GroupAction.java 604 2010-01-09 12:00:29Z rawcoder $
Author:
Werner Randelshofer
See Also:
Serialized Form

Field Summary
static java.lang.String ID
           
private  boolean isGroupingAction
          If this variable is true, this action groups figures.
private  CompositeFigure prototype
           
 
Fields inherited from class org.jhotdraw.draw.action.AbstractSelectedAction
labels
 
Fields inherited from class javax.swing.AbstractAction
changeSupport, enabled
 
Fields inherited from interface javax.swing.Action
ACCELERATOR_KEY, ACTION_COMMAND_KEY, DEFAULT, DISPLAYED_MNEMONIC_INDEX_KEY, LARGE_ICON_KEY, LONG_DESCRIPTION, MNEMONIC_KEY, NAME, SELECTED_KEY, SHORT_DESCRIPTION, SMALL_ICON
 
Constructor Summary
GroupAction(DrawingEditor editor)
          Creates a new instance.
GroupAction(DrawingEditor editor, CompositeFigure prototype)
           
GroupAction(DrawingEditor editor, CompositeFigure prototype, boolean isGroupingAction)
           
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent e)
           
protected  boolean canGroup()
           
protected  boolean canUngroup()
           
 void groupFigures(DrawingView view, CompositeFigure group, java.util.Collection<Figure> figures)
           
 java.util.Collection<Figure> ungroupFigures(DrawingView view, CompositeFigure group)
           
protected  void updateEnabledState()
          Updates the enabled state of this action to reflect the enabled state of the active DrawingView.
 
Methods inherited from class org.jhotdraw.draw.action.AbstractSelectedAction
dispose, fireUndoableEditHappened, getDrawing, getEditor, getView, isUpdatEnabledState, setEditor, setUpdateEnabledState
 
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

ID

public static final java.lang.String ID
See Also:
Constant Field Values

prototype

private CompositeFigure prototype

isGroupingAction

private boolean isGroupingAction
If this variable is true, this action groups figures. If this variable is false, this action ungroups figures.

Constructor Detail

GroupAction

public GroupAction(DrawingEditor editor)
Creates a new instance.


GroupAction

public GroupAction(DrawingEditor editor,
                   CompositeFigure prototype)

GroupAction

public GroupAction(DrawingEditor editor,
                   CompositeFigure prototype,
                   boolean isGroupingAction)
Method Detail

updateEnabledState

protected void updateEnabledState()
Description copied from class: AbstractSelectedAction
Updates the enabled state of this action to reflect the enabled state of the active DrawingView. If no drawing view is active, this action is disabled.

Overrides:
updateEnabledState in class AbstractSelectedAction

canGroup

protected boolean canGroup()

canUngroup

protected boolean canUngroup()

actionPerformed

public void actionPerformed(java.awt.event.ActionEvent e)

ungroupFigures

public java.util.Collection<Figure> ungroupFigures(DrawingView view,
                                                   CompositeFigure group)

groupFigures

public void groupFigures(DrawingView view,
                         CompositeFigure group,
                         java.util.Collection<Figure> figures)