Package org.jgraph.graph
Class GraphLayoutCache.GraphLayoutCacheEdit
- java.lang.Object
-
- javax.swing.undo.AbstractUndoableEdit
-
- javax.swing.undo.CompoundEdit
-
- org.jgraph.graph.GraphLayoutCache.GraphLayoutCacheEdit
-
- All Implemented Interfaces:
java.io.Serializable
,javax.swing.undo.UndoableEdit
,GraphLayoutCacheEvent.GraphLayoutCacheChange
- Enclosing class:
- GraphLayoutCache
public class GraphLayoutCache.GraphLayoutCacheEdit extends javax.swing.undo.CompoundEdit implements GraphLayoutCacheEvent.GraphLayoutCacheChange
An implementation of GraphLayoutCacheChange.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected java.util.Map
attributes
protected java.lang.Object[]
cells
protected java.util.Set
changedCells
protected CellView[]
context
protected java.awt.geom.Rectangle2D
dirtyRegion
The dirty region associated with this event prior to the changeprotected CellView[]
hidden
protected java.lang.Object[]
invisible
protected java.util.Map
previousAttributes
protected java.lang.Object[]
previousCells
protected java.lang.Object[]
visible
-
Constructor Summary
Constructors Constructor Description GraphLayoutCacheEdit(java.lang.Object[] inserted, java.util.Map attributes, java.lang.Object[] visible, java.lang.Object[] invisible)
Constructs a GraphViewEdit.GraphLayoutCacheEdit(java.util.Map nested)
Constructs a GraphViewEdit.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
execute()
Execute this edit such that the next invocation to this method will invert the last execution.java.util.Map
getAttributes()
Returns a map of (cell view, attribute) pairs.java.lang.Object[]
getChanged()
Returns the cell views that have changed.java.lang.Object[]
getContext()
Returns the views that have not changed explicitly, but implicitly because one of their dependent cells has changed.java.awt.geom.Rectangle2D
getDirtyRegion()
Returns the dirty region for the original position of the changed cells before the change happened.java.lang.Object[]
getInserted()
Returns the cells that habe been made visible.java.util.Map
getPreviousAttributes()
Returns a map of (cell view, attribute) pairs.java.lang.Object[]
getRemoved()
Returns the cells that have changed.java.lang.Object
getSource()
Returns the source of this change.boolean
isSignificant()
void
redo()
Redoes a change.void
setDirtyRegion(java.awt.geom.Rectangle2D dirty)
In some cases the class firing this event will not have access to the dirty region prior to the change.void
undo()
Undoes a change.
-
-
-
Field Detail
-
cells
protected java.lang.Object[] cells
-
previousCells
protected java.lang.Object[] previousCells
-
context
protected CellView[] context
-
hidden
protected CellView[] hidden
-
attributes
protected java.util.Map attributes
-
previousAttributes
protected java.util.Map previousAttributes
-
visible
protected java.lang.Object[] visible
-
invisible
protected java.lang.Object[] invisible
-
dirtyRegion
protected java.awt.geom.Rectangle2D dirtyRegion
The dirty region associated with this event prior to the change
-
changedCells
protected java.util.Set changedCells
-
-
Constructor Detail
-
GraphLayoutCacheEdit
public GraphLayoutCacheEdit(java.util.Map nested)
Constructs a GraphViewEdit. This modifies the attributes of the specified views and may be used to notify UndoListeners.- Parameters:
nested
- the map that defines the new attributes
-
GraphLayoutCacheEdit
public GraphLayoutCacheEdit(java.lang.Object[] inserted, java.util.Map attributes, java.lang.Object[] visible, java.lang.Object[] invisible)
Constructs a GraphViewEdit. This modifies the attributes of the specified views and may be used to notify UndoListeners. This should also take an array of removed cell views, but it is not possible to add further UndoableEdits to an already executed CompoundEdit, such as a GraphModel change. Thus, to handle implicit changes -- rather than piggybacking on the model's event -- the CompoundEdit's addEdit method should be extended to accept and instantly execute sub- sequent edits (implicit changes to the view, such as removing a mapping, hiding a view or the like).- Parameters:
inserted
- an array of inserted cellsattributes
- the map that defines the new attributesvisible
- an array defining which cells are visibleinvisible
- an array defining which cells are invisible
-
-
Method Detail
-
getSource
public java.lang.Object getSource()
Description copied from interface:GraphLayoutCacheEvent.GraphLayoutCacheChange
Returns the source of this change. This can either be a view or a model, if this change is a GraphModelChange. Note: This is not necessarily the same as the source of the event and is used separately in the graphundomanager.- Specified by:
getSource
in interfaceGraphLayoutCacheEvent.GraphLayoutCacheChange
- Returns:
- the source fo this change
-
isSignificant
public boolean isSignificant()
- Specified by:
isSignificant
in interfacejavax.swing.undo.UndoableEdit
- Overrides:
isSignificant
in classjavax.swing.undo.CompoundEdit
-
getChanged
public java.lang.Object[] getChanged()
Returns the cell views that have changed.- Specified by:
getChanged
in interfaceGraphLayoutCacheEvent.GraphLayoutCacheChange
- Returns:
- the cell changed
-
getInserted
public java.lang.Object[] getInserted()
Returns the cells that habe been made visible.- Specified by:
getInserted
in interfaceGraphLayoutCacheEvent.GraphLayoutCacheChange
- Returns:
- the cells that were inserted by the change
-
getRemoved
public java.lang.Object[] getRemoved()
Returns the cells that have changed.- Specified by:
getRemoved
in interfaceGraphLayoutCacheEvent.GraphLayoutCacheChange
- Returns:
- the cells that were removed by the change
-
getContext
public java.lang.Object[] getContext()
Returns the views that have not changed explicitly, but implicitly because one of their dependent cells has changed.- Specified by:
getContext
in interfaceGraphLayoutCacheEvent.GraphLayoutCacheChange
- Returns:
- array of contextual cells
-
getAttributes
public java.util.Map getAttributes()
Returns a map of (cell view, attribute) pairs.- Specified by:
getAttributes
in interfaceGraphLayoutCacheEvent.GraphLayoutCacheChange
-
getPreviousAttributes
public java.util.Map getPreviousAttributes()
Returns a map of (cell view, attribute) pairs.- Specified by:
getPreviousAttributes
in interfaceGraphLayoutCacheEvent.GraphLayoutCacheChange
- Returns:
- map of attributes before the change
-
getDirtyRegion
public java.awt.geom.Rectangle2D getDirtyRegion()
Description copied from interface:GraphLayoutCacheEvent.GraphLayoutCacheChange
Returns the dirty region for the original position of the changed cells before the change happened.- Specified by:
getDirtyRegion
in interfaceGraphLayoutCacheEvent.GraphLayoutCacheChange
- Returns:
- the dirty region prior to the event
-
setDirtyRegion
public void setDirtyRegion(java.awt.geom.Rectangle2D dirty)
Description copied from interface:GraphLayoutCacheEvent.GraphLayoutCacheChange
In some cases the class firing this event will not have access to the dirty region prior to the change. It is then up to the receiving class to set it once.- Specified by:
setDirtyRegion
in interfaceGraphLayoutCacheEvent.GraphLayoutCacheChange
-
redo
public void redo() throws javax.swing.undo.CannotRedoException
Redoes a change.- Specified by:
redo
in interfacejavax.swing.undo.UndoableEdit
- Overrides:
redo
in classjavax.swing.undo.CompoundEdit
- Throws:
javax.swing.undo.CannotRedoException
- if the change cannot be redone
-
undo
public void undo() throws javax.swing.undo.CannotUndoException
Undoes a change.- Specified by:
undo
in interfacejavax.swing.undo.UndoableEdit
- Overrides:
undo
in classjavax.swing.undo.CompoundEdit
- Throws:
javax.swing.undo.CannotUndoException
- if the change cannot be undone
-
execute
public void execute()
Execute this edit such that the next invocation to this method will invert the last execution.
-
-