Package jadex.tools.comanalyzer.graph
Class GraphCanvas
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- jadex.tools.comanalyzer.ToolCanvas
-
- jadex.tools.comanalyzer.graph.GraphCanvas
-
- All Implemented Interfaces:
java.awt.image.ImageObserver
,java.awt.MenuContainer
,java.io.Serializable
,javax.accessibility.Accessible
public class GraphCanvas extends ToolCanvas
The container for the graph.- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description class
GraphCanvas.AgentGroup
A component group for agents.protected static class
GraphCanvas.DirectionDisplayPredicate
A prdicate class that shows arrows for directed edges and hides them for undirected edges.class
GraphCanvas.MessageGroup
A component group for messages.-
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
-
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
-
-
Field Summary
Fields Modifier and Type Field Description protected boolean
animate
animate the layout adjustmentsprotected boolean
autolayout
adjust layout with each changeprotected boolean
cluster
cluster the graphprotected static int
DIRECTED_GRAPH
The graph mode for the directed graphprotected static int
DIRECTED_MULTIGRAPH
The graph mode for the directed multigraphprotected GraphCanvas.DirectionDisplayPredicate
e_arrow
The predicate test for showing arrows in directed graphs and none in undirected.protected EdgeTransformer.LabelFont
e_font
The transformer for edge fontprotected EdgeTransformer.GradientPaint
e_gradient
The advanced transformer for edge paintprotected edu.uci.ics.jung.visualization.decorators.EdgeShape.Line
e_line
The transformer for the edge line shapeprotected EdgeTransformer.PaintMode
e_paint
The transformer for the edge paintprotected edu.uci.ics.jung.visualization.decorators.EdgeShape.QuadCurve
e_quad
The transformer for the edge curve shapeprotected EdgeTransformer.Label
e_string
The transformer for edge labelprotected EdgeTransformer.WeightStroke
e_stroke
The transformer for edge strokeprotected edu.uci.ics.jung.visualization.decorators.EdgeShape.Wedge
e_wedge
The transformer for the edge wedge shapeprotected edu.uci.ics.jung.visualization.control.DefaultModalGraphMouse
gm
Support for picking and transformingprotected ComponentGroupMultiGraph
graph
The graph.protected org.apache.commons.collections15.Factory
graphFactory
The factory for the graphprotected int
graphType
The graph typeprotected static javax.swing.UIDefaults
icons
The image icons.protected edu.uci.ics.jung.algorithms.layout.AggregateLayout
layout
The aggregat layout.protected edu.uci.ics.jung.visualization.control.AbsoluteCrossoverScalingControl
scaler
protected edu.uci.ics.jung.algorithms.layout.StaticLayout
staticLayout
The static layout.protected static int
UNDIRECTED_GRAPH
The graph mode for the undirected graphprotected VertexTransformer.LabelFont
v_font
The transformer for vertex fontprotected VertexTransformer.IconSize
v_icon
The transformer for agent iconprotected VertexTransformer.ShapeSize
v_shape
The transformer for vertex shapeprotected VertexTransformer.Label
v_string
The transformer for vertex labelprotected java.util.List
visible_agents
The list of agents displayed in the graphprotected java.util.List
visible_messages
The list of messages displayed in the graphprotected edu.uci.ics.jung.visualization.VisualizationViewer
vv
The graph viewer-
Fields inherited from class jadex.tools.comanalyzer.ToolCanvas
tooltab
-
Fields inherited from class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
-
-
Constructor Summary
Constructors Constructor Description GraphCanvas(GraphPanel tooltab)
Constructor for the container.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addAgent(Component agent)
Adds the agent.void
addMessage(Message message, Component sender, Component receiver)
Add message with given sender and receiver (for redirection)void
clear()
Clear the graph.void
clusterGraph(int numEdgesToRemove, boolean groupClusters)
Cluster the vertices with edge betweenness algorithm.int
getGraphType()
Returns the graph typeprotected void
groupCluster(java.util.Set vertices)
Groups a cluster (set) of agents into a sublayout.protected void
lockAgents()
Lock agent postions.void
reinitializeCanvas()
Repaints the canvas with reinitializes its layout.void
removeComponent(Component agent)
Removes an agent.void
removeMessage(Message message)
Removes a message.void
repaintCanvas()
Repaint the graph.void
setGraphType(int graphType)
Sets the graph type.protected void
unlockAgents()
Unlock agent positionsvoid
updateComponent(Component agent, boolean update)
Updates an agent by adding it, if the agent can be displayed or removing it if present.void
updateMessage(Message message, boolean isPresent)
Update a message by adding it, if the message can be displayed or removing it if present.-
Methods inherited from class jadex.tools.comanalyzer.ToolCanvas
getToolTab
-
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
-
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
-
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree
-
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
-
-
-
Field Detail
-
icons
protected static final javax.swing.UIDefaults icons
The image icons.
-
DIRECTED_MULTIGRAPH
protected static final int DIRECTED_MULTIGRAPH
The graph mode for the directed multigraph- See Also:
- Constant Field Values
-
DIRECTED_GRAPH
protected static final int DIRECTED_GRAPH
The graph mode for the directed graph- See Also:
- Constant Field Values
-
UNDIRECTED_GRAPH
protected static final int UNDIRECTED_GRAPH
The graph mode for the undirected graph- See Also:
- Constant Field Values
-
graphType
protected int graphType
The graph type
-
autolayout
protected boolean autolayout
adjust layout with each change
-
animate
protected boolean animate
animate the layout adjustments
-
cluster
protected boolean cluster
cluster the graph
-
visible_messages
protected java.util.List visible_messages
The list of messages displayed in the graph
-
visible_agents
protected java.util.List visible_agents
The list of agents displayed in the graph
-
vv
protected edu.uci.ics.jung.visualization.VisualizationViewer vv
The graph viewer
-
graph
protected ComponentGroupMultiGraph graph
The graph.
-
staticLayout
protected edu.uci.ics.jung.algorithms.layout.StaticLayout staticLayout
The static layout. For animated transitions
-
layout
protected edu.uci.ics.jung.algorithms.layout.AggregateLayout layout
The aggregat layout. Allows diffrent sublayouts
-
graphFactory
protected org.apache.commons.collections15.Factory graphFactory
The factory for the graph
-
gm
protected edu.uci.ics.jung.visualization.control.DefaultModalGraphMouse gm
Support for picking and transforming
-
scaler
protected edu.uci.ics.jung.visualization.control.AbsoluteCrossoverScalingControl scaler
-
v_string
protected VertexTransformer.Label v_string
The transformer for vertex label
-
v_font
protected VertexTransformer.LabelFont v_font
The transformer for vertex font
-
v_shape
protected VertexTransformer.ShapeSize v_shape
The transformer for vertex shape
-
v_icon
protected VertexTransformer.IconSize v_icon
The transformer for agent icon
-
e_string
protected EdgeTransformer.Label e_string
The transformer for edge label
-
e_font
protected EdgeTransformer.LabelFont e_font
The transformer for edge font
-
e_line
protected edu.uci.ics.jung.visualization.decorators.EdgeShape.Line e_line
The transformer for the edge line shape
-
e_quad
protected edu.uci.ics.jung.visualization.decorators.EdgeShape.QuadCurve e_quad
The transformer for the edge curve shape
-
e_wedge
protected edu.uci.ics.jung.visualization.decorators.EdgeShape.Wedge e_wedge
The transformer for the edge wedge shape
-
e_paint
protected EdgeTransformer.PaintMode e_paint
The transformer for the edge paint
-
e_gradient
protected EdgeTransformer.GradientPaint e_gradient
The advanced transformer for edge paint
-
e_stroke
protected EdgeTransformer.WeightStroke e_stroke
The transformer for edge stroke
-
e_arrow
protected GraphCanvas.DirectionDisplayPredicate e_arrow
The predicate test for showing arrows in directed graphs and none in undirected.
-
-
Constructor Detail
-
GraphCanvas
public GraphCanvas(GraphPanel tooltab)
Constructor for the container.- Parameters:
tooltab
- The tooltab.
-
-
Method Detail
-
updateMessage
public void updateMessage(Message message, boolean isPresent)
Update a message by adding it, if the message can be displayed or removing it if present.- Specified by:
updateMessage
in classToolCanvas
- Parameters:
message
- The message to add.isPresent
-true
if removal is skipped. (Can be applied to new messages)
-
removeMessage
public void removeMessage(Message message)
Removes a message.- Specified by:
removeMessage
in classToolCanvas
- Parameters:
message
- The message to remove.
-
updateComponent
public void updateComponent(Component agent, boolean update)
Updates an agent by adding it, if the agent can be displayed or removing it if present.- Specified by:
updateComponent
in classToolCanvas
- Parameters:
agent
- The agent to add.isPresent
-true
if removal is skipped. (Can be applied to new agents)
-
removeComponent
public void removeComponent(Component agent)
Removes an agent.- Specified by:
removeComponent
in classToolCanvas
- Parameters:
agent
- The agent to remove.
-
clear
public void clear()
Clear the graph.- Specified by:
clear
in classToolCanvas
-
repaintCanvas
public void repaintCanvas()
Repaint the graph.- Specified by:
repaintCanvas
in classToolCanvas
-
reinitializeCanvas
public void reinitializeCanvas()
Repaints the canvas with reinitializes its layout.
-
addMessage
public void addMessage(Message message, Component sender, Component receiver)
Add message with given sender and receiver (for redirection)- Parameters:
message
- The message to add.sender
- The sender in the presentation.receiver
- The receiver in the presentation. (e.g. dummy)
-
addAgent
public void addAgent(Component agent)
Adds the agent.- Parameters:
agent
- The agent to add.
-
clusterGraph
public void clusterGraph(int numEdgesToRemove, boolean groupClusters)
Cluster the vertices with edge betweenness algorithm.- Parameters:
numEdgesToRemove
- The number of edges to remove.groupClusters
-true
if the vertices should be clustered.false
for cancel the grouping.
-
getGraphType
public int getGraphType()
Returns the graph type- Returns:
- The graph type.
-
setGraphType
public void setGraphType(int graphType)
Sets the graph type.- Parameters:
graphType
- The graph type to set.
-
lockAgents
protected void lockAgents()
Lock agent postions.
-
unlockAgents
protected void unlockAgents()
Unlock agent positions
-
groupCluster
protected void groupCluster(java.util.Set vertices)
Groups a cluster (set) of agents into a sublayout.- Parameters:
vertices
-
-
-