Class ProMTraceList<T>

    • Field Summary

      Fields 
      Modifier and Type Field Description
      static int DEFAULT_FIXED_WIDTH_TRACE_COUNT  
      • 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
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void add​(T element)
      Adds the element to this view.
      void addAll​(java.lang.Iterable<T> elements)
      Adds the elements to this view.
      void addTraceClickListener​(ProMTraceList.ClickListener<T> l)  
      void addTraceMoveListener​(ProMTraceList.MoveListener<T> l)  
      void addTraceSelectionListener​(javax.swing.event.ListSelectionListener l)  
      void afterUpdate()  
      void beforeUpdate()  
      void clear()
      Clears the underlying data structure getListModel().
      void filter​(FilteredListModelImpl.ListModelFilter<T> filter)  
      float getAttenuationFactor()  
      int getCollapsedLabelLength()  
      javax.swing.JButton getDeselectAllButton()  
      int getFixedWedgeLimit()  
      javax.swing.JList<T> getList()  
      javax.swing.ListModel<T> getListModel()  
      int getMaxInfoWidth()  
      int getMaxWedgeWidth()  
      javax.swing.JScrollPane getScrollPane()  
      javax.swing.JButton getSelectAllButton()  
      javax.swing.JPanel getToolbar()  
      ProMTraceList.TraceBuilder<T> getTraceBuilder()  
      ProMTraceList.WedgeBuilder getWedgeBuilder()  
      int getWedgeGap()  
      java.awt.Stroke getWedgeStroke()  
      boolean hasLabels()  
      void hideToolbar()  
      void removeTraceClickListener​(ProMTraceList.ClickListener<T> l)  
      void removeTraceMoveListener​(ProMTraceList.MoveListener<T> l)  
      void removeTraceSelectionListener​(javax.swing.event.ListSelectionListener l)  
      static <T> void saveAsEMF​(ProMTraceList<T> traceList, java.io.File file)
      Saves the list content as EMF
      static <T> void saveAsEPS​(ProMTraceList<T> traceList, java.io.File file)
      Saves the list content as PS
      static <T> void saveAsPDF​(ProMTraceList<T> traceList, java.lang.String pdfTitle, java.io.File file)
      Saves the list content as PDF
      static <T> void saveAsSVG​(ProMTraceList<T> traceList, java.io.File file)  
      static <T> void saveUsing​(org.processmining.framework.util.ui.widgets.traceview.ProMTraceList.GraphicsExporterFactory graphicsExporter, ProMTraceList<T> traceList)
      Saves the list content as PDF
      void setAttenuationFactor​(float attenuationFactor)
      Set the factor by which the color of the unselected traces is modified.
      void setCollapsedLabelLength​(int collapsedLabelLength)
      Set the length of the label shown in a collapsed event, in an unselected trace.
      void setFixedInfoWidth​(int fixedWidth)
      Set the fixed width (in pixel) of the trace info area.
      void setFixedWedgeLimit​(int fixedWedgeLimit)
      Changes the built-in limit of events per trace that is used to determine when to switch to fixed size wedge width for performance reasons.
      void setFixedWedgeWidth​(int fixedWidth)
      Set the fixed width (in pixel) of a single "event wedge".
      void setMaxInfoWidth​(int maxWidth)
      Set the maximum width (in pixel) of the trace info area.
      void setMaxWedgeWidth​(int maxWidth)
      Set the maximum width (in pixel) of a single "event wedge".
      void setToolbar​(javax.swing.JPanel toolbar)  
      void setTraceBuilder​(ProMTraceList.TraceBuilder<T> traceBuilder)  
      void setWedgeBuilder​(ProMTraceList.WedgeBuilder wedgeBuilder)
      Use a ProMTraceList.WedgeBuilder to dynamically override the color of an ProMTraceView.Event.
      void setWedgeGap​(int wedgeGap)  
      void setWedgeStroke​(java.awt.Stroke wedgeStroke)  
      void showToolbar()  
      void sort​(java.util.Comparator<T> sortOrder)  
      • 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
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Field Detail

      • DEFAULT_FIXED_WIDTH_TRACE_COUNT

        public static final int DEFAULT_FIXED_WIDTH_TRACE_COUNT
        See Also:
        Constant Field Values
    • Constructor Detail

      • ProMTraceList

        public ProMTraceList​(java.util.Collection<T> traces,
                             ProMTraceList.TraceBuilder<T> traceBuilder)
        Creates a filterable and sortable ProMTraceList from the supplied Collection of objects
        Parameters:
        traces -
        traceBuilder -
      • ProMTraceList

        public ProMTraceList​(java.util.Collection<T> traces,
                             ProMTraceList.TraceBuilder<T> traceBuilder,
                             java.awt.Font labelFont)
        Creates a filterable and sortable ProMTraceList from the supplied Collection of objects
        Parameters:
        traces -
        traceBuilder -
        labelFont -
      • ProMTraceList

        public ProMTraceList​(java.util.Collection<T> traces,
                             ProMTraceList.TraceBuilder<T> traceBuilder,
                             java.awt.Font labelFont,
                             boolean hasLabels)
        Creates a filterable and sortable ProMTraceList from the supplied Collection of objects
        Parameters:
        traces -
        traceBuilder -
        labelFont -
        hasLabels -
      • ProMTraceList

        public ProMTraceList​(java.util.Collection<T> traces,
                             ProMTraceList.TraceBuilder<T> traceBuilder,
                             java.util.Comparator<T> order)
        Creates a filterable and sortable ProMTraceList from the supplied Collection of objects
        Parameters:
        traces -
        traceBuilder -
        order -
      • ProMTraceList

        public ProMTraceList​(java.util.Collection<T> traces,
                             ProMTraceList.TraceBuilder<T> traceBuilder,
                             java.util.Comparator<T> order,
                             java.awt.Font labelFont)
      • ProMTraceList

        public ProMTraceList​(java.util.Collection<T> traces,
                             ProMTraceList.TraceBuilder<T> traceBuilder,
                             java.util.Comparator<T> order,
                             java.awt.Font labelFont,
                             boolean hasLabels)
        Creates a filterable and sortable ProMTraceList from the supplied Collection of objects
        Parameters:
        traces -
        traceBuilder -
        order -
        labelFont -
        hasLabels -
      • ProMTraceList

        public ProMTraceList​(javax.swing.ListModel<T> traceModel,
                             ProMTraceList.TraceBuilder<T> traceBuilder,
                             java.awt.Font labelFont)
      • ProMTraceList

        public ProMTraceList​(javax.swing.ListModel<T> listModel,
                             ProMTraceList.TraceBuilder<T> traceBuilder,
                             java.awt.Font labelFont,
                             boolean hasLabels)
        Creates a ProMTraceList from the supplied ListModel, if you want your list to be sortable and filterable your ListModel needs to implement FilteredListModel and SortableListModel.
        Parameters:
        traces -
        traceBuilder -
        labelFont - to be used
        whether - there should be space for labels
    • Method Detail

      • addTraceSelectionListener

        public void addTraceSelectionListener​(javax.swing.event.ListSelectionListener l)
      • removeTraceSelectionListener

        public void removeTraceSelectionListener​(javax.swing.event.ListSelectionListener l)
      • getList

        public javax.swing.JList<T> getList()
        Returns:
        the underlying JList
      • getScrollPane

        public javax.swing.JScrollPane getScrollPane()
        Returns:
        the underlying JScrollPane
      • getListModel

        public javax.swing.ListModel<T> getListModel()
        Returns:
        the underlying ListModel
      • add

        public void add​(T element)
        Adds the element to this view. Please note your ListModel needs to implement MutableListModel otherwise an UnsupportedOperationException will be thrown.
        Parameters:
        element -
        Throws:
        java.lang.UnsupportedOperationException - in case the ListModel is not mutable
      • addAll

        public void addAll​(java.lang.Iterable<T> elements)
        Adds the elements to this view. Please note your ListModel needs to implement MutableListModel otherwise an UnsupportedOperationException will be thrown.
        Parameters:
        elements -
        Throws:
        java.lang.UnsupportedOperationException - in case the ListModel is not mutable
      • clear

        public void clear()
        Clears the underlying data structure getListModel().
        Throws:
        java.lang.UnsupportedOperationException - in case the ListModel is not mutable
      • sort

        public void sort​(java.util.Comparator<T> sortOrder)
      • setAttenuationFactor

        public void setAttenuationFactor​(float attenuationFactor)
        Set the factor by which the color of the unselected traces is modified. For example, 1.0 will result in no change and 0.5 will darken the color.
        Parameters:
        attenuationFactor - non-negative factor
      • getAttenuationFactor

        public float getAttenuationFactor()
      • getMaxWedgeWidth

        public int getMaxWedgeWidth()
      • setMaxWedgeWidth

        public void setMaxWedgeWidth​(int maxWidth)
        Set the maximum width (in pixel) of a single "event wedge".
        Parameters:
        maxWidth -
      • getMaxInfoWidth

        public int getMaxInfoWidth()
      • setMaxInfoWidth

        public void setMaxInfoWidth​(int maxWidth)
        Set the maximum width (in pixel) of the trace info area.
        Parameters:
        maxWidth -
      • setFixedWedgeWidth

        public void setFixedWedgeWidth​(int fixedWidth)
        Set the fixed width (in pixel) of a single "event wedge". Set to -1 to enable dynamic sizing (slower) according to the length of labels.
        Parameters:
        fixedWidth -
      • setFixedInfoWidth

        public void setFixedInfoWidth​(int fixedWidth)
        Set the fixed width (in pixel) of the trace info area. Set to -1 to enable dynamic sizing (slower) according to the length of labels.
        Parameters:
        fixedWidth -
      • getFixedWedgeLimit

        public int getFixedWedgeLimit()
      • setFixedWedgeLimit

        public void setFixedWedgeLimit​(int fixedWedgeLimit)
        Changes the built-in limit of events per trace that is used to determine when to switch to fixed size wedge width for performance reasons.
        Parameters:
        fixedWedgeLimit -
      • getCollapsedLabelLength

        public int getCollapsedLabelLength()
      • setCollapsedLabelLength

        public void setCollapsedLabelLength​(int collapsedLabelLength)
        Set the length of the label shown in a collapsed event, in an unselected trace.
        Parameters:
        collapsedLabelLength -
      • getWedgeStroke

        public java.awt.Stroke getWedgeStroke()
      • setWedgeStroke

        public void setWedgeStroke​(java.awt.Stroke wedgeStroke)
        Parameters:
        wedgeStroke - the default Stroke that the wedges border is painted with
      • getWedgeGap

        public int getWedgeGap()
      • setWedgeGap

        public void setWedgeGap​(int wedgeGap)
        Parameters:
        wedgeGap - sets the default gap between two event wedges
      • setTraceBuilder

        public void setTraceBuilder​(ProMTraceList.TraceBuilder<T> traceBuilder)
        Parameters:
        traceBuilder - that is used to create traces out of the input objects
      • beforeUpdate

        public void beforeUpdate()
      • afterUpdate

        public void afterUpdate()
      • showToolbar

        public void showToolbar()
      • hideToolbar

        public void hideToolbar()
      • getToolbar

        public javax.swing.JPanel getToolbar()
      • setToolbar

        public void setToolbar​(javax.swing.JPanel toolbar)
      • saveAsPDF

        public static <T> void saveAsPDF​(ProMTraceList<T> traceList,
                                         java.lang.String pdfTitle,
                                         java.io.File file)
                                  throws java.io.IOException
        Saves the list content as PDF
        Parameters:
        pdfTitle -
        file -
        graphicsExporter -
        Throws:
        java.io.IOException
      • saveAsEMF

        public static <T> void saveAsEMF​(ProMTraceList<T> traceList,
                                         java.io.File file)
                                  throws java.io.IOException
        Saves the list content as EMF
        Parameters:
        file -
        graphicsExporter -
        Throws:
        java.io.IOException
      • saveAsEPS

        public static <T> void saveAsEPS​(ProMTraceList<T> traceList,
                                         java.io.File file)
                                  throws java.io.IOException
        Saves the list content as PS
        Parameters:
        file -
        graphicsExporter -
        Throws:
        java.io.IOException
      • saveAsSVG

        public static <T> void saveAsSVG​(ProMTraceList<T> traceList,
                                         java.io.File file)
                                  throws java.io.IOException
        Throws:
        java.io.IOException
      • saveUsing

        public static <T> void saveUsing​(org.processmining.framework.util.ui.widgets.traceview.ProMTraceList.GraphicsExporterFactory graphicsExporter,
                                         ProMTraceList<T> traceList)
                                  throws java.io.IOException
        Saves the list content as PDF
        Parameters:
        pdfTitle -
        file -
        Throws:
        java.io.IOException
      • getSelectAllButton

        public javax.swing.JButton getSelectAllButton()
      • getDeselectAllButton

        public javax.swing.JButton getDeselectAllButton()
      • hasLabels

        public boolean hasLabels()