Class HybridPetrinetVisualization
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JLayeredPane
-
- org.processmining.extendedhybridminer.models.causalgraph.gui.HybridPetrinetVisualization
-
- All Implemented Interfaces:
java.awt.event.MouseMotionListener,java.awt.image.ImageObserver,java.awt.MenuContainer,java.io.Serializable,java.util.EventListener,javax.accessibility.Accessible,javax.swing.event.ChangeListener,HybridGraphVisualization,org.processmining.framework.util.Cleanable,org.processmining.framework.util.ui.scalableview.ScalableComponent.UpdateListener
public class HybridPetrinetVisualization extends javax.swing.JLayeredPane implements org.processmining.framework.util.Cleanable, javax.swing.event.ChangeListener, java.awt.event.MouseMotionListener, org.processmining.framework.util.ui.scalableview.ScalableComponent.UpdateListener, HybridGraphVisualization
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class javax.swing.JLayeredPane
javax.swing.JLayeredPane.AccessibleJLayeredPane
-
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
-
-
Field Summary
Fields Modifier and Type Field Description protected com.fluxicon.slickerbox.factory.SlickerDecoratordecoratorprotected com.fluxicon.slickerbox.factory.SlickerFactoryfactoryprotected org.processmining.models.jgraph.ProMJGraphgraphstatic intMAX_ZOOMThe maximal zoom factor for the primary view on the transition system.protected org.processmining.framework.util.ui.scalableview.ScalableComponentscalableThe access to scalable methods of primary viewprotected javax.swing.JScrollPanescrollThe scroll pane containing the primary view on the transition system.static intTAB_HEIGHTstatic intTAB_WIDTH-
Fields inherited from class javax.swing.JLayeredPane
DEFAULT_LAYER, DRAG_LAYER, FRAME_CONTENT_LAYER, LAYER_PROPERTY, MODAL_LAYER, PALETTE_LAYER, POPUP_LAYER
-
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 HybridPetrinetVisualization(org.processmining.models.jgraph.ProMJGraph jgraph, ExtendedHybridPetrinet hPN)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidactionPerformed(java.awt.event.ActionEvent e)voidaddColorPanel()voidaddExportPanel()voidaddPIPPanel()voidaddZoomPanel()voidcleanUp()doublefactorMultiplyGraphToPIP()voidfinalize()javax.swing.JComponentgetComponent()org.processmining.models.graphbased.directed.DirectedGraphElementgetElementForLocation(double x, double y)javax.swing.JScrollBargetHorizontalScrollBar()PIPInteractionPanelgetpip()doublegetScale()Returns the zoom factor of the primary view.java.util.Collection<org.processmining.models.graphbased.directed.DirectedGraphEdge<?,?>>getSelectedEdges()java.util.Collection<org.processmining.models.graphbased.directed.DirectedGraphElement>getSelectedElements()java.util.Collection<org.processmining.models.graphbased.directed.DirectedGraphNode>getSelectedNodes()javax.swing.JScrollBargetVerticalScrollBar()javax.swing.JViewportgetViewport()voidmouseDragged(java.awt.event.MouseEvent e)voidmouseMoved(java.awt.event.MouseEvent e)voidpaint(java.awt.Graphics g)voidremoveViewInteractionPanel(org.processmining.framework.util.ui.scalableview.interaction.ViewInteractionPanel panel)Remove a previously added interaction panel from the ScalableViewPanel.protected voidrepaintPIP(java.awt.geom.Rectangle2D rect)voidscaleToFit()protected doublescaleToFit(org.processmining.models.jgraph.ProMJGraph pipGraph2, java.awt.Container container, boolean reposition)voidsetLocation(org.processmining.framework.util.ui.scalableview.interaction.ViewInteractionPanel panel, javax.swing.JPanel panelOff, javax.swing.JPanel panelOn)voidsetScale(double d)Sets the zoom factor of the primary view to the given factor.voidsetSize(org.processmining.framework.util.ui.scalableview.interaction.ViewInteractionPanel panel, javax.swing.JPanel panelOff, javax.swing.JPanel panelOn)Adds a button to one of the positions on the screen indicated by the location parameter.voidshowColor(boolean status)voidshowConfig(boolean b)voidshowLegend(boolean b)voidshowPIP(boolean status)voidshowZoom(boolean status)voidstateChanged(javax.swing.event.ChangeEvent e)voidupdateColor()voidupdated()Deals with change events.-
Methods inherited from class javax.swing.JLayeredPane
addImpl, getAccessibleContext, getComponentCountInLayer, getComponentsInLayer, getComponentToLayer, getIndexOf, getLayer, getLayer, getLayeredPaneAbove, getObjectForLayer, getPosition, highestLayer, insertIndexForLayer, isOptimizedDrawingEnabled, lowestLayer, moveToBack, moveToFront, paramString, putLayer, remove, removeAll, setLayer, setLayer, setPosition
-
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, getUI, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, 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, updateUI
-
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, 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, 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
-
MAX_ZOOM
public static final int MAX_ZOOM
The maximal zoom factor for the primary view on the transition system.- See Also:
- Constant Field Values
-
scalable
protected final org.processmining.framework.util.ui.scalableview.ScalableComponent scalable
The access to scalable methods of primary view
-
scroll
protected javax.swing.JScrollPane scroll
The scroll pane containing the primary view on the transition system.
-
TAB_HEIGHT
public static final int TAB_HEIGHT
- See Also:
- Constant Field Values
-
TAB_WIDTH
public static final int TAB_WIDTH
- See Also:
- Constant Field Values
-
factory
protected com.fluxicon.slickerbox.factory.SlickerFactory factory
-
decorator
protected com.fluxicon.slickerbox.factory.SlickerDecorator decorator
-
graph
protected org.processmining.models.jgraph.ProMJGraph graph
-
-
Constructor Detail
-
HybridPetrinetVisualization
public HybridPetrinetVisualization(org.processmining.models.jgraph.ProMJGraph jgraph, ExtendedHybridPetrinet hPN)
-
-
Method Detail
-
updateColor
public void updateColor()
-
addZoomPanel
public void addZoomPanel()
-
addExportPanel
public void addExportPanel()
-
addColorPanel
public void addColorPanel()
-
addPIPPanel
public void addPIPPanel()
-
showPIP
public void showPIP(boolean status)
-
showZoom
public void showZoom(boolean status)
-
showColor
public void showColor(boolean status)
-
repaintPIP
protected void repaintPIP(java.awt.geom.Rectangle2D rect)
-
scaleToFit
protected double scaleToFit(org.processmining.models.jgraph.ProMJGraph pipGraph2, java.awt.Container container, boolean reposition)
-
paint
public void paint(java.awt.Graphics g)
- Overrides:
paintin classjavax.swing.JLayeredPane
-
getElementForLocation
public org.processmining.models.graphbased.directed.DirectedGraphElement getElementForLocation(double x, double y)
-
getSelectedNodes
public java.util.Collection<org.processmining.models.graphbased.directed.DirectedGraphNode> getSelectedNodes()
-
getSelectedEdges
public java.util.Collection<org.processmining.models.graphbased.directed.DirectedGraphEdge<?,?>> getSelectedEdges()
-
getSelectedElements
public java.util.Collection<org.processmining.models.graphbased.directed.DirectedGraphElement> getSelectedElements()
-
cleanUp
public void cleanUp()
- Specified by:
cleanUpin interfaceorg.processmining.framework.util.Cleanable
-
stateChanged
public void stateChanged(javax.swing.event.ChangeEvent e)
- Specified by:
stateChangedin interfacejavax.swing.event.ChangeListener
-
actionPerformed
public void actionPerformed(java.awt.event.ActionEvent e)
-
finalize
public void finalize() throws java.lang.Throwable- Overrides:
finalizein classjava.lang.Object- Throws:
java.lang.Throwable
-
getViewport
public javax.swing.JViewport getViewport()
- Specified by:
getViewportin interfaceHybridGraphVisualization
-
factorMultiplyGraphToPIP
public double factorMultiplyGraphToPIP()
- Specified by:
factorMultiplyGraphToPIPin interfaceHybridGraphVisualization
-
removeViewInteractionPanel
public void removeViewInteractionPanel(org.processmining.framework.util.ui.scalableview.interaction.ViewInteractionPanel panel)
Remove a previously added interaction panel from the ScalableViewPanel. This can be used to remove an interaction panel from the ScalableViewPanel. If the interaction panel does not exist, nothing will be removed.- Parameters:
panel- The panel that should be removed.
-
mouseMoved
public void mouseMoved(java.awt.event.MouseEvent e)
- Specified by:
mouseMovedin interfacejava.awt.event.MouseMotionListener
-
mouseDragged
public void mouseDragged(java.awt.event.MouseEvent e)
- Specified by:
mouseDraggedin interfacejava.awt.event.MouseMotionListener
-
setSize
public void setSize(org.processmining.framework.util.ui.scalableview.interaction.ViewInteractionPanel panel, javax.swing.JPanel panelOff, javax.swing.JPanel panelOn)Adds a button to one of the positions on the screen indicated by the location parameter. Should be SwingConstants.NORTH_EAST, SwingConstants.SOUTH_EAST SwingConstants.NORTH_WEST, SwingConstants.SOUTH_WEST- Parameters:
label-listener-location-
-
setLocation
public void setLocation(org.processmining.framework.util.ui.scalableview.interaction.ViewInteractionPanel panel, javax.swing.JPanel panelOff, javax.swing.JPanel panelOn)
-
getHorizontalScrollBar
public javax.swing.JScrollBar getHorizontalScrollBar()
- Specified by:
getHorizontalScrollBarin interfaceHybridGraphVisualization
-
getVerticalScrollBar
public javax.swing.JScrollBar getVerticalScrollBar()
- Specified by:
getVerticalScrollBarin interfaceHybridGraphVisualization
-
getScale
public double getScale()
Returns the zoom factor of the primary view.- Specified by:
getScalein interfaceHybridGraphVisualization- Returns:
- The zoom factor of the primary view.
-
setScale
public void setScale(double d)
Sets the zoom factor of the primary view to the given factor.- Specified by:
setScalein interfaceHybridGraphVisualization- Parameters:
d- The given factor.
-
updated
public void updated()
Deals with change events.- Specified by:
updatedin interfaceorg.processmining.framework.util.ui.scalableview.ScalableComponent.UpdateListener
-
scaleToFit
public void scaleToFit()
-
getComponent
public javax.swing.JComponent getComponent()
-
getpip
public PIPInteractionPanel getpip()
- Specified by:
getpipin interfaceHybridGraphVisualization
-
showLegend
public void showLegend(boolean b)
- Specified by:
showLegendin interfaceHybridGraphVisualization
-
showConfig
public void showConfig(boolean b)
- Specified by:
showConfigin interfaceHybridGraphVisualization
-
-