Package org.jgraph.graph
Class DefaultGraphModel.GraphModelEdit
java.lang.Object
javax.swing.undo.AbstractUndoableEdit
javax.swing.undo.CompoundEdit
org.jgraph.graph.DefaultGraphModel.GraphModelEdit
- All Implemented Interfaces:
Serializable,UndoableEdit,GraphLayoutCacheEvent.GraphLayoutCacheChange,GraphModelEvent.GraphModelChange
- Enclosing class:
- DefaultGraphModel
public class DefaultGraphModel.GraphModelEdit
extends CompoundEdit
implements GraphModelEvent.GraphModelChange
An implementation of GraphModelChange that can be added to the model
event.
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected Mapprotected Mapprotected Object[]protected ConnectionSetprotected Object[]protected Rectangle2DThe dirty region of the change prior to it happeningprotected Object[]protected Object[]protected ParentMapprotected Mapprotected ConnectionSetprotected ParentMapprotected Object[]protected Object[]Fields inherited from class javax.swing.undo.CompoundEdit
editsFields inherited from class javax.swing.undo.AbstractUndoableEdit
RedoName, UndoName -
Constructor Summary
ConstructorsConstructorDescriptionGraphModelEdit(Object[] inserted, Object[] removed, Map attributes, ConnectionSet connectionSet, ParentMap parentMap) Constructs an edit record. -
Method Summary
Modifier and TypeMethodDescriptionprotected voidchangeChildCount(Map childCount, Object parent, int change) voidexecute()Execute this edit such that the next invocation to this method will invert the last execution.Object[]filterParents(Map childCount, int children) Returns a map of (object, view attributes).Object[]Returns the cells that have changed.Returns the connectionSet.Object[]Returns the objects that have not changed explicitly, but implicitly because one of their dependent cells has changed.Returns the dirty region for the original position of the changed cells before the change happened.Object[]Returns the cells that were inserted.Returns the parentMap.Returns a map that contains (object, map) pairs of the attributes that have been stored in the model.Returns a connection set representing the graph structure before the change was applied ( an "undo" of the change).Returns a parent map representing the group structure before the change was applied ( an "undo" of the change )Object[]Returns the cells that were inserted.Returns the source of this change.CellView[]getViews(GraphLayoutCache view) Allows aGraphLayoutCacheto retrieve an array ofCellViewsthat was previously stored withputViews(GraphLayoutCache, CellView[]).protected voidhandleEmptyGroups(Object[] groups) Adds the groups that become empty to the cells that will be removed.booleanvoidputViews(GraphLayoutCache view, CellView[] views) Allows aGraphLayoutCacheto store cell views for cells that have been removed.voidredo()Redoes a change.voidsetDirtyRegion(Rectangle2D dirty) In some cases the class firing this event will not have access to the dirty region prior to the change.toString()voidundo()Undoes a change.Methods inherited from class javax.swing.undo.CompoundEdit
addEdit, canRedo, canUndo, die, end, getPresentationName, getRedoPresentationName, getUndoPresentationName, isInProgress, lastEditMethods inherited from class javax.swing.undo.AbstractUndoableEdit
replaceEdit
-
Field Details
-
insert
-
changed
-
remove
-
context
-
inserted
-
removed
-
attributes
-
previousAttributes
-
parentMap
-
previousParentMap
-
dirtyRegion
The dirty region of the change prior to it happening -
connectionSet
-
previousConnectionSet
-
cellViews
-
-
Constructor Details
-
GraphModelEdit
public GraphModelEdit(Object[] inserted, Object[] removed, Map attributes, ConnectionSet connectionSet, ParentMap parentMap) Constructs an edit record.- Parameters:
inserted- a set of roots that were insertedremoved- a set of elements that were removedattributes- the attribute changes made by the editconnectionSet- the set of changed connectionsparentMap- the map of changed parents
-
-
Method Details
-
filterParents
-
changeChildCount
-
handleEmptyGroups
Adds the groups that become empty to the cells that will be removed. (Auto remove empty cells.) Removed cells will be re-inserted on undo, and the parent- child relations will be restored. -
isSignificant
public boolean isSignificant()- Specified by:
isSignificantin interfaceUndoableEdit- Overrides:
isSignificantin classCompoundEdit
-
getSource
Returns the source of this change. This can either be a view or a model, if this change is a GraphModelChange.- Specified by:
getSourcein interfaceGraphLayoutCacheEvent.GraphLayoutCacheChange- Returns:
- the source fo this change
-
getChanged
Returns the cells that have changed. This includes the cells that have been changed through a call to getAttributes and the edges that have been changed with the ConnectionSet.- Specified by:
getChangedin interfaceGraphLayoutCacheEvent.GraphLayoutCacheChange- Returns:
- the cell changed
-
getContext
Returns the objects that have not changed explicitly, but implicitly because one of their dependent cells has changed.- Specified by:
getContextin interfaceGraphLayoutCacheEvent.GraphLayoutCacheChange- Returns:
- array of contextual cells
-
getInserted
Returns the cells that were inserted.- Specified by:
getInsertedin interfaceGraphLayoutCacheEvent.GraphLayoutCacheChange- Returns:
- the cells that were inserted by the change
-
getRemoved
Returns the cells that were inserted.- Specified by:
getRemovedin interfaceGraphLayoutCacheEvent.GraphLayoutCacheChange- Returns:
- the cells that were removed by the change
-
getPreviousAttributes
Returns a map that contains (object, map) pairs of the attributes that have been stored in the model.- Specified by:
getPreviousAttributesin interfaceGraphLayoutCacheEvent.GraphLayoutCacheChange- Returns:
- map of attributes before the change
-
getAttributes
Returns a map of (object, view attributes). The objects are model objects which need to be mapped to views.- Specified by:
getAttributesin interfaceGraphLayoutCacheEvent.GraphLayoutCacheChange
-
getConnectionSet
Returns the connectionSet.- Specified by:
getConnectionSetin interfaceGraphModelEvent.GraphModelChange- Returns:
- ConnectionSet
-
getPreviousConnectionSet
Description copied from interface:GraphModelEvent.GraphModelChangeReturns a connection set representing the graph structure before the change was applied ( an "undo" of the change).- Specified by:
getPreviousConnectionSetin interfaceGraphModelEvent.GraphModelChange- Returns:
- the connection set of the graph before the change
-
getParentMap
Returns the parentMap.- Specified by:
getParentMapin interfaceGraphModelEvent.GraphModelChange- Returns:
- ParentMap
-
getPreviousParentMap
Description copied from interface:GraphModelEvent.GraphModelChangeReturns a parent map representing the group structure before the change was applied ( an "undo" of the change )- Specified by:
getPreviousParentMapin interfaceGraphModelEvent.GraphModelChange- Returns:
- the previous parent map
-
getDirtyRegion
Description copied from interface:GraphLayoutCacheEvent.GraphLayoutCacheChangeReturns the dirty region for the original position of the changed cells before the change happened.- Specified by:
getDirtyRegionin interfaceGraphLayoutCacheEvent.GraphLayoutCacheChange- Returns:
- the dirty region prior to the event
-
setDirtyRegion
Description copied from interface:GraphLayoutCacheEvent.GraphLayoutCacheChangeIn 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:
setDirtyRegionin interfaceGraphLayoutCacheEvent.GraphLayoutCacheChange
-
redo
Redoes a change.- Specified by:
redoin interfaceUndoableEdit- Overrides:
redoin classCompoundEdit- Throws:
CannotRedoException- if the change cannot be redone
-
undo
Undoes a change.- Specified by:
undoin interfaceUndoableEdit- Overrides:
undoin classCompoundEdit- Throws:
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. -
putViews
Description copied from interface:GraphModelEvent.GraphModelChangeAllows aGraphLayoutCacheto store cell views for cells that have been removed. Such cell views are used for re-insertion and restoring the visual attributes.- Specified by:
putViewsin interfaceGraphModelEvent.GraphModelChange- Parameters:
view- theGraphLayoutCacheto store the removed cellsviews- the cell views to be stored
-
getViews
Description copied from interface:GraphModelEvent.GraphModelChangeAllows aGraphLayoutCacheto retrieve an array ofCellViewsthat was previously stored withputViews(GraphLayoutCache, CellView[]).- Specified by:
getViewsin interfaceGraphModelEvent.GraphModelChange- Parameters:
view- theGraphLayoutCachewhose stored cells are to be retrieved
-
toString
- Overrides:
toStringin classCompoundEdit
-