Class AlgorithmPanel

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      class  AlgorithmPanel.StartActionEvent  
      • 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
      • 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
      private java.util.ArrayList<javax.swing.JComponent> components  
      private javax.swing.JCheckBox graphicObserverCheckbox  
      protected NodesInputPanel nodesInputPanel  
      private static long serialVersionUID  
      protected SolutionPanel solutionPanel  
      (package private) java.util.List<java.awt.event.ActionListener> startActionListeners  
      private javax.swing.JButton startAlgoButton  
      private javax.swing.JCheckBox textualObserverCheckbox  
      • 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
      AlgorithmPanel​(java.awt.Component parent, java.lang.Class<? extends AbstractAlgorithm<?>> baseAlgorithm, java.lang.String title, java.lang.String[] nodeNames, boolean enableArcFilterSelection)
      Create a new AlgorithmPanel with the given parameters.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addStartActionListener​(java.awt.event.ActionListener listener)
      Add a new start action listener to this class.
      protected boolean allNotNull​(java.util.List<Node> nodes)
      Check if the given list of nodes does not contain any null value.
      protected javax.swing.JComboBox<java.lang.String> createAlgoritmSelectComboBox​(java.lang.Class<? extends AbstractAlgorithm<?>> baseAlgorithm)
      Create the combo box for the algorithm selection.
      protected NodesInputPanel createNodesInputPanel​(java.lang.String[] nodeNames)
      Create a node input panel with the given node input names.
      protected javax.swing.JLabel createTitleLabel​(java.lang.String title)
      Create the title JLabel for this panel.
      void onDrawingLoaded​(Drawing oldDrawing, Drawing newDrawing)
      Event fired when a new drawing is loaded.
      void onRedrawRequest()
      Event fired when a redraw request is emitted - This is typically emitted after a onDrawingLoaded event, but not always, and request that elements are drawn again on the new drawing.
      void setEnabled​(boolean enabled)  
      • 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, 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

      • components

        private java.util.ArrayList<javax.swing.JComponent> components
      • graphicObserverCheckbox

        private final javax.swing.JCheckBox graphicObserverCheckbox
      • textualObserverCheckbox

        private final javax.swing.JCheckBox textualObserverCheckbox
      • startAlgoButton

        private javax.swing.JButton startAlgoButton
      • startActionListeners

        java.util.List<java.awt.event.ActionListener> startActionListeners
    • Constructor Detail

      • AlgorithmPanel

        public AlgorithmPanel​(java.awt.Component parent,
                              java.lang.Class<? extends AbstractAlgorithm<?>> baseAlgorithm,
                              java.lang.String title,
                              java.lang.String[] nodeNames,
                              boolean enableArcFilterSelection)
        Create a new AlgorithmPanel with the given parameters.
        Parameters:
        parent - Parent component for this panel. Only use for centering dialogs.
        baseAlgorithm - Base algorithm for this algorithm panel.
        title - Title of the panel.
        nodeNames - Names of the input nodes.
        enableArcFilterSelection - true to enable ArcInspector selection.
        See Also:
        ArcInspectorFactory
    • Method Detail

      • createTitleLabel

        protected javax.swing.JLabel createTitleLabel​(java.lang.String title)
        Create the title JLabel for this panel.
        Parameters:
        title - Title for the label.
        Returns:
        A new JLabel containing the given title with proper font.
      • createAlgoritmSelectComboBox

        protected javax.swing.JComboBox<java.lang.String> createAlgoritmSelectComboBox​(java.lang.Class<? extends AbstractAlgorithm<?>> baseAlgorithm)
        Create the combo box for the algorithm selection.
        Parameters:
        baseAlgorithm - Base algorithm for which the select box should be created.
        Returns:
        A new JComboBox containing algorithms for the given base algorithm.
        See Also:
        AlgorithmFactory
      • createNodesInputPanel

        protected NodesInputPanel createNodesInputPanel​(java.lang.String[] nodeNames)
        Create a node input panel with the given node input names.
        Parameters:
        nodeNames - Field names for the inputs to create.
        Returns:
        A new NodesInputPanel containing inputs for the given names.
      • allNotNull

        protected boolean allNotNull​(java.util.List<Node> nodes)
        Check if the given list of nodes does not contain any null value.
        Parameters:
        nodes - List of Node to check.
        Returns:
        true if the list does not contain any null value, false otherwise.
      • setEnabled

        public void setEnabled​(boolean enabled)
        Overrides:
        setEnabled in class javax.swing.JComponent
      • addStartActionListener

        public void addStartActionListener​(java.awt.event.ActionListener listener)
        Add a new start action listener to this class.
        Parameters:
        listener - Listener to add.
      • onDrawingLoaded

        public void onDrawingLoaded​(Drawing oldDrawing,
                                    Drawing newDrawing)
        Description copied from interface: DrawingChangeListener
        Event fired when a new drawing is loaded.
        Specified by:
        onDrawingLoaded in interface DrawingChangeListener
        Parameters:
        oldDrawing - Old drawing, may be null if no drawing exits prior to this one.
        newDrawing - New drawing.
      • onRedrawRequest

        public void onRedrawRequest()
        Description copied from interface: DrawingChangeListener
        Event fired when a redraw request is emitted - This is typically emitted after a onDrawingLoaded event, but not always, and request that elements are drawn again on the new drawing.
        Specified by:
        onRedrawRequest in interface DrawingChangeListener