Package org.insa.graphs.gui
Class AlgorithmPanel
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- org.insa.graphs.gui.AlgorithmPanel
-
- All Implemented Interfaces:
java.awt.image.ImageObserver,java.awt.MenuContainer,java.io.Serializable,javax.accessibility.Accessible,DrawingChangeListener
public class AlgorithmPanel extends javax.swing.JPanel implements DrawingChangeListener
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description classAlgorithmPanel.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
-
-
Field Summary
Fields Modifier and Type Field Description protected NodesInputPanelnodesInputPanelprotected SolutionPanelsolutionPanel-
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 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 voidaddStartActionListener(java.awt.event.ActionListener listener)Add a new start action listener to this class.protected booleanallNotNull(java.util.List<Node> nodes)Check if the given list of nodes does not contain anynullvalue.protected javax.swing.JComboBox<java.lang.String>createAlgoritmSelectComboBox(java.lang.Class<? extends AbstractAlgorithm<?>> baseAlgorithm)Create the combo box for the algorithm selection.protected NodesInputPanelcreateNodesInputPanel(java.lang.String[] nodeNames)Create a node input panel with the given node input names.protected javax.swing.JLabelcreateTitleLabel(java.lang.String title)Create the title JLabel for this panel.voidonDrawingLoaded(Drawing oldDrawing, Drawing newDrawing)Event fired when a new drawing is loaded.voidonRedrawRequest()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.voidsetEnabled(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
-
-
-
-
Field Detail
-
nodesInputPanel
protected NodesInputPanel nodesInputPanel
-
solutionPanel
protected SolutionPanel solutionPanel
-
-
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-trueto enableArcInspectorselection.- 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 anynullvalue.- Parameters:
nodes- List ofNodeto check.- Returns:
trueif the list does not contain anynullvalue,falseotherwise.
-
setEnabled
public void setEnabled(boolean enabled)
- Overrides:
setEnabledin classjavax.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:DrawingChangeListenerEvent fired when a new drawing is loaded.- Specified by:
onDrawingLoadedin interfaceDrawingChangeListener- 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:DrawingChangeListenerEvent 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:
onRedrawRequestin interfaceDrawingChangeListener
-
-