Class StlEditorPane

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

    public class StlEditorPane
    extends JmriPanel
    implements CanPanelInterface
    Panel for editing STL logic. The primary mode is a connection to a Tower LCC+Q. When a node is selected, the data is transferred to Java lists and displayed using Java tables. If changes are to be retained, the Store process is invoked which updates the Tower LCC+Q CDI. An alternate mode uses CSV files to import and export the data. This enables offline development. Since the CDI is loaded automatically when the node is selected, to transfer offline development is a three step process: Load the CDI, replace the content with the CSV content and then store to the CDI. A third mode is to load a CDI backup file. This can then be used with the CSV process for offline work. The reboot process has several steps.
    • The Yes option is selected in the compile needed dialog. This sends the reboot command.
    • The RebootListener detects that the reboot is done and does getCompileMessage.
    • getCompileMessage does a reload for the first syntax message.
    • EntryListener gets the reload done event and calls displayCompileMessage.
    Since:
    5.7.5
    See Also:
    Serialized Form
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      class  StlEditorPane.CdiListener  
      static class  StlEditorPane.Default
      Nested class to create one of these using old-style defaults
      class  StlEditorPane.EntryListener  
      (package private) class  StlEditorPane.GroupModel
      TableModel for Group table entries.
      (package private) static class  StlEditorPane.GroupRow
      The Group row contains the name and the raw data for one of the 16 groups.
      (package private) class  StlEditorPane.InputModel
      TableModel for Input table entries.
      (package private) static class  StlEditorPane.InputRow
      The name and assigned true and false events for an Input.
      (package private) class  StlEditorPane.LogicModel
      TableModel for STL table entries.
      (package private) static class  StlEditorPane.LogicRow
      The definition of a logic row
      protected static class  StlEditorPane.NodeEntry  
      static class  StlEditorPane.Operator  
      (package private) class  StlEditorPane.OutputModel
      TableModel for Output table entries.
      (package private) static class  StlEditorPane.OutputRow
      The name and assigned true and false events for an Output.
      class  StlEditorPane.RebootListener
      Listens for a property change that implies a node has been rebooted.
      (package private) class  StlEditorPane.ReceiverModel
      TableModel for circuit receiver table entries.
      (package private) static class  StlEditorPane.ReceiverRow
      The name and assigned event id for a circuit receiver.
      (package private) class  StlEditorPane.TransmitterModel
      TableModel for circuit transmitter table entries.
      (package private) static class  StlEditorPane.TransmitterRow
      The name and assigned event id for a circuit transmitter.
      • 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
      (package private) java.beans.PropertyChangeListener _entryListener  
      • 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
      StlEditorPane()  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void dispose()  
      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()
      Provide menu items to add to a menu bar.
      java.lang.String getTitle()
      Provide a recommended title for an enclosing frame.
      void initComponents​(CanSystemConnectionMemo memo)
      2nd stage of initialization, invoked after the Constructor is complete.
      (package private) static boolean isEventValid​(java.lang.String event)  
      (package private) static boolean isLabelValid​(java.lang.String label)  
      void updateComboBoxModelEntry​(StlEditorPane.NodeEntry nodeEntry)  
      • 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
    • Method Detail

      • isLabelValid

        static boolean isLabelValid​(java.lang.String label)
      • isEventValid

        static boolean isEventValid​(java.lang.String event)
      • getMenus

        public java.util.List<javax.swing.JMenu> getMenus()
        Description copied from class: JmriPanel
        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
      • getHelpTarget

        public java.lang.String getHelpTarget()
        Description copied from class: JmriPanel
        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
      • getTitle

        public java.lang.String getTitle()
        Description copied from class: JmriPanel
        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