Class NodeConfigToolPane

  • All Implemented Interfaces:
    java.awt.image.ImageObserver, java.awt.MenuContainer, java.beans.PropertyChangeListener, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, CanPanelInterface

    public class NodeConfigToolPane
    extends CanPanel
    implements java.beans.PropertyChangeListener
    Master Pane for CBUS node configuration incl. CBUS node table
    Since:
    2.99.2
    See Also:
    CbusNodeTableDataModel, Serialized Form
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  NodeConfigToolPane.Default
      Nested class to create one of these using old-style defaults.
      • 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
      int NODE_SEARCH_TIMEOUT  
      javax.swing.JTable nodeTable  
      protected CbusNodeTablePane nodeTablePane  
      protected javax.swing.JTabbedPane tabbedPane  
      • Fields inherited from class jmri.jmrix.can.swing.CanPanel

        memo
      • 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
      NodeConfigToolPane()
      Create a new NodeConfigToolPane
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected void clearEditEventFrame()
      Receive notification from the frame that it has disposed
      void dispose()
      CbusNodeEditEventFrame getEditEvFrame()
      Get the edit event frame this could be requested from CbusNodeEventDataModel button click to edit event, this class when it receives an event via drag n drop, creating new event from CbusNodeEventVarPane
      java.lang.String getHelpTarget()
      Provide a help target string which an enclosing frame can provide as a help reference.
      java.util.List<javax.swing.JMenu> getMenus()
      Creates a Menu List.
      protected CbusNodeTableDataModel getNodeModel()
      Get the System Connection Node Model
      protected java.util.ArrayList<CbusNodeConfigTab> getTabs()  
      java.lang.String getTitle()
      Provide a recommended title for an enclosing frame.
      void init()
      Initialise the NodeConfigToolPane
      void initComponents​(CanSystemConnectionMemo memo)
      2nd stage of initialization, invoked after the Constructor is complete.
      void notifyNodeSearchComplete​(int csfound, int ndfound)
      Create a document-modal Dialog with node search results.
      void propertyChange​(java.beans.PropertyChangeEvent ev)
      protected void setRestoreFcuActive​(boolean isActive)
      Set Restore from FCU Menu Item active as only 1 instance per NodeConfigToolPane allowed
      protected void showConfirmThenSave​(CbusNode fromNode, CbusNode toNode, boolean teachNVs, boolean clearEvents, boolean teachEvents, javax.swing.JFrame frame)
      Show a Confirm before Save Dialogue Box then start teach process for Node
      protected void userViewChanged()
      Notify this pane that the selected node or viewed tab has changed
      • 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
    • Constructor Detail

    • Method Detail

      • init

        public void init()
        Initialise the NodeConfigToolPane
      • notifyNodeSearchComplete

        public void notifyNodeSearchComplete​(int csfound,
                                             int ndfound)
        Create a document-modal Dialog with node search results.
        Parameters:
        csfound - number of Command Stations
        ndfound - number of nodes
      • userViewChanged

        protected void userViewChanged()
        Notify this pane that the selected node or viewed tab has changed
      • getMenus

        public java.util.List<javax.swing.JMenu> getMenus()
        Creates a Menu List. Provide menu items to add to a menu bar.
        Overrides:
        getMenus in class JmriPanel
        Returns:
        a list of menu items to add or an empty list
      • setRestoreFcuActive

        protected void setRestoreFcuActive​(boolean isActive)
        Set Restore from FCU Menu Item active as only 1 instance per NodeConfigToolPane allowed
        Parameters:
        isActive - set true if Frame opened, else false to notify closed
      • getTitle

        public java.lang.String getTitle()
        Provide a recommended title for an enclosing frame.
        Overrides:
        getTitle in class JmriPanel
        Returns:
        the title; a null value will be treated as "" by the enclosing frame
      • getHelpTarget

        public java.lang.String getHelpTarget()
        Provide a help target string which an enclosing frame can provide as a help reference.

        This automatically provides a reference to the usual place for JMRI window-specific help pages that are named for the implementing class, but note this is a Pane class, not a Frame class.

        Overrides:
        getHelpTarget in class JmriPanel
        Returns:
        the target String
      • getEditEvFrame

        public CbusNodeEditEventFrame getEditEvFrame()
        Get the edit event frame this could be requested from CbusNodeEventDataModel button click to edit event, this class when it receives an event via drag n drop, creating new event from CbusNodeEventVarPane
        Returns:
        the Frame
      • clearEditEventFrame

        protected void clearEditEventFrame()
        Receive notification from the frame that it has disposed
      • showConfirmThenSave

        protected void showConfirmThenSave​(@Nonnull
                                           CbusNode fromNode,
                                           @Nonnull
                                           CbusNode toNode,
                                           boolean teachNVs,
                                           boolean clearEvents,
                                           boolean teachEvents,
                                           @CheckForNull
                                           javax.swing.JFrame frame)
        Show a Confirm before Save Dialogue Box then start teach process for Node

        Used in Node Backup restore, Restore from FCU, edit NV's Edit Event variables currently use a custom dialogue, not this

        Parameters:
        fromNode - Node to get data from
        toNode - Node to send changes to
        teachNVs - true to Teach NV's
        clearEvents - true to clear events before teaching new ones
        teachEvents - true to teach events
        frame - the frame to which dialogue boxes can be attached to
      • propertyChange

        public void propertyChange​(java.beans.PropertyChangeEvent ev)
        Specified by:
        propertyChange in interface java.beans.PropertyChangeListener