Class OCLPMScalableViewPanel

  • 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, org.processmining.framework.util.Cleanable, org.processmining.framework.util.ui.scalableview.ScalableComponent.UpdateListener
    Direct Known Subclasses:
    OCLPMGraphPanel

    public class OCLPMScalableViewPanel
    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
    Panel for visualizing components.
    Author:
    hverbeek
    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
      • Nested classes/interfaces inherited from class java.awt.Container

        java.awt.Container.AccessibleAWTContainer
      • Nested classes/interfaces inherited from class java.awt.Component

        java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected com.fluxicon.slickerbox.factory.SlickerDecorator decorator  
      protected com.fluxicon.slickerbox.factory.SlickerFactory factory  
      static int MAX_ZOOM
      The maximal zoom factor for the primary view on the transition system.
      protected org.processmining.framework.util.ui.scalableview.ScalableComponent scalable
      The access to scalable methods of primary view
      protected OCLPMScrollPane scroll
      The scroll pane containing the primary view on the transition system.
      static int TAB_HEIGHT  
      static int TAB_WIDTH  
      OCLPMColors theme  
      • 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
      • Fields inherited from class java.awt.Component

        accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
      • Fields inherited from interface java.awt.image.ImageObserver

        ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
    • Constructor Summary

      Constructors 
      Constructor Description
      OCLPMScalableViewPanel​(org.processmining.framework.util.ui.scalableview.ScalableComponent scalableComponent)  
      OCLPMScalableViewPanel​(org.processmining.framework.util.ui.scalableview.ScalableComponent scalableComponent, OCLPMColors theme)
      Create a panel for visualizing the given view.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addButton​(javax.swing.JLabel label, java.awt.event.ActionListener listener, int location)
      Adds a button to one of the positions on the screen indicated by the location parameter.
      void addViewInteractionPanel​(OCLPMViewInteractionPanel panel, int location)
      Adds the interaction panel at the given location.
      void cleanUp()
      Clean up.
      void finalize()
      Deals with garbage collection.
      javax.swing.JComponent getComponent()  
      javax.swing.JScrollBar getHorizontalScrollBar()  
      double getScale()
      Returns the zoom factor of the primary view.
      javax.swing.JScrollBar getVerticalScrollBar()  
      java.util.Map<OCLPMViewInteractionPanel,​java.lang.Integer> getViewInteractionPanels()
      List all registered interaction panels and their locations.
      javax.swing.JViewport getViewport()  
      protected void initialize()  
      void mouseDragged​(java.awt.event.MouseEvent e)  
      void mouseMoved​(java.awt.event.MouseEvent e)  
      void removeViewInteractionPanel​(OCLPMViewInteractionPanel panel)
      Remove a previously added interaction panel from the ScalableViewPanel.
      void scaleToFit()  
      void setLocation​(OCLPMViewInteractionPanel panel, javax.swing.JPanel panelOff, javax.swing.JPanel panelOn)  
      void setScale​(double d)
      Sets the zoom factor of the primary view to the given factor.
      void setSize​(OCLPMViewInteractionPanel panel, javax.swing.JPanel panelOff, javax.swing.JPanel panelOn)  
      void stateChanged​(javax.swing.event.ChangeEvent e)
      Deals with change events.
      void updated()
      This method should be called if the component is updated (layout, content, etc.)
      • Methods inherited from class javax.swing.JLayeredPane

        addImpl, getAccessibleContext, getComponentCountInLayer, getComponentsInLayer, getComponentToLayer, getIndexOf, getLayer, getLayer, getLayeredPaneAbove, getObjectForLayer, getPosition, highestLayer, insertIndexForLayer, isOptimizedDrawingEnabled, lowestLayer, moveToBack, moveToFront, paint, 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
      • Methods inherited from class java.lang.Object

        clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • 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 OCLPMScrollPane scroll
        The scroll pane containing the primary view on the transition system.
      • factory

        protected com.fluxicon.slickerbox.factory.SlickerFactory factory
      • decorator

        protected com.fluxicon.slickerbox.factory.SlickerDecorator decorator
    • Constructor Detail

      • OCLPMScalableViewPanel

        public OCLPMScalableViewPanel​(org.processmining.framework.util.ui.scalableview.ScalableComponent scalableComponent)
      • OCLPMScalableViewPanel

        public OCLPMScalableViewPanel​(org.processmining.framework.util.ui.scalableview.ScalableComponent scalableComponent,
                                      OCLPMColors theme)
        Create a panel for visualizing the given view.
        Parameters:
        scalableComponent - The given graph
    • Method Detail

      • addViewInteractionPanel

        public void addViewInteractionPanel​(OCLPMViewInteractionPanel panel,
                                            int location)
        Adds the interaction panel at the given location. Location is one of SwingConstants.NORTH, SwingConstants.SOUTH, SwingConstants.EAST, or SwingConstants.WEST
        Parameters:
        panel -
        location -
      • removeViewInteractionPanel

        public void removeViewInteractionPanel​(OCLPMViewInteractionPanel 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.
      • getViewInteractionPanels

        public java.util.Map<OCLPMViewInteractionPanel,​java.lang.Integer> getViewInteractionPanels()
        List all registered interaction panels and their locations.
        Returns:
        Map of interaction panels and their locations.
      • mouseMoved

        public void mouseMoved​(java.awt.event.MouseEvent e)
        Specified by:
        mouseMoved in interface java.awt.event.MouseMotionListener
      • mouseDragged

        public void mouseDragged​(java.awt.event.MouseEvent e)
        Specified by:
        mouseDragged in interface java.awt.event.MouseMotionListener
      • addButton

        public void addButton​(javax.swing.JLabel label,
                              java.awt.event.ActionListener listener,
                              int location)
        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 -
      • initialize

        protected void initialize()
      • setSize

        public void setSize​(OCLPMViewInteractionPanel panel,
                            javax.swing.JPanel panelOff,
                            javax.swing.JPanel panelOn)
      • setLocation

        public void setLocation​(OCLPMViewInteractionPanel panel,
                                javax.swing.JPanel panelOff,
                                javax.swing.JPanel panelOn)
      • getHorizontalScrollBar

        public javax.swing.JScrollBar getHorizontalScrollBar()
      • getVerticalScrollBar

        public javax.swing.JScrollBar getVerticalScrollBar()
      • getScale

        public double getScale()
        Returns the zoom factor of the primary view.
        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.
        Parameters:
        d - The given factor.
      • cleanUp

        public void cleanUp()
        Clean up.
        Specified by:
        cleanUp in interface org.processmining.framework.util.Cleanable
      • stateChanged

        public void stateChanged​(javax.swing.event.ChangeEvent e)
        Deals with change events.
        Specified by:
        stateChanged in interface javax.swing.event.ChangeListener
      • finalize

        public void finalize()
                      throws java.lang.Throwable
        Deals with garbage collection.
        Overrides:
        finalize in class java.lang.Object
        Throws:
        java.lang.Throwable
      • updated

        public void updated()
        Description copied from interface: org.processmining.framework.util.ui.scalableview.ScalableComponent.UpdateListener
        This method should be called if the component is updated (layout, content, etc.)
        Specified by:
        updated in interface org.processmining.framework.util.ui.scalableview.ScalableComponent.UpdateListener
      • getViewport

        public javax.swing.JViewport getViewport()
      • scaleToFit

        public void scaleToFit()
      • getComponent

        public javax.swing.JComponent getComponent()