Package jmri.jmrit.beantable.signalmast
Class DccSignalMastAddPane
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- jmri.jmrit.beantable.signalmast.SignalMastAddPane
-
- jmri.jmrit.beantable.signalmast.DccSignalMastAddPane
-
- All Implemented Interfaces:
java.awt.image.ImageObserver
,java.awt.MenuContainer
,java.io.Serializable
,javax.accessibility.Accessible
,JmriServiceProviderInterface
- Direct Known Subclasses:
LNCPSignalMastAddPane
public class DccSignalMastAddPane extends SignalMastAddPane
A pane for configuring DCC SignalMast objects.- Since:
- 4.11.2
- See Also:
SignalMastAddPane
, Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static class
DccSignalMastAddPane.DCCAspectPanel
JPanel to define properties of an Aspect for a DCC Signal Mast.static class
DccSignalMastAddPane.SignalMastAddPaneProvider
-
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 (package private) javax.swing.JCheckBox
allowUnLit
(package private) DccSignalMast
currentMast
(package private) java.util.LinkedHashMap<java.lang.String,DccSignalMastAddPane.DCCAspectPanel>
dccAspect
(package private) javax.swing.JTextField
dccAspectAddressField
(package private) javax.swing.JLabel
dccAspectAddressLabel
(package private) javax.swing.JPanel
dccMastPanel
(package private) javax.swing.JScrollPane
dccMastScroll
(package private) javax.swing.JCheckBox
dccOffSetAddress
(package private) javax.swing.JSpinner
packetSendCountSpinner
(package private) SignalSystem
sigsys
(package private) javax.swing.JComboBox<java.lang.String>
systemPrefixBox
(package private) javax.swing.JLabel
systemPrefixBoxLabel
(package private) javax.swing.JSpinner
unlitIdSpinner
-
Fields inherited from class jmri.jmrit.beantable.signalmast.SignalMastAddPane
NOTIONAL_ASPECT_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
-
-
Constructor Summary
Constructors Constructor Description DccSignalMastAddPane()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
canHandleMast(SignalMast mast)
Can this pane edit a specific mast object, i.e. an object of its type?(package private) javax.swing.JPanel
connectionData()
protected DccSignalMast
constructMast(java.lang.String name)
Create a mast of the specific subtype.(package private) void
copyFromAnotherDCCMastAspect(java.lang.String strMast)
Copy aspects by name from another DccSignalMast.(package private) javax.swing.JComboBox<java.lang.String>
copyFromMastSelection()
boolean
createMast(java.lang.String sigsysname, java.lang.String mastname, java.lang.String username)
Called to either "create and register" a new, or "update" an existing mast from the given information.protected java.lang.String
getNamePrefix()
Get the first part of the system name for the specific mast type.java.lang.String
getPaneName()
(package private) void
init()
void
setAspectNames(SignalAppearanceMap map, SignalSystem sigSystem)
Provide a new list of aspects in the signal system.void
setMast(SignalMast mast)
Load this pane with information from a mast.(package private) javax.swing.JPanel
unLitOption()
protected boolean
usableCommandStation(CommandStation cs)
Check if a command station will work for this subtype.(package private) static boolean
validateAspectId(java.lang.String strAspect)
-
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
-
-
-
-
Field Detail
-
dccMastScroll
javax.swing.JScrollPane dccMastScroll
-
dccMastPanel
javax.swing.JPanel dccMastPanel
-
systemPrefixBoxLabel
javax.swing.JLabel systemPrefixBoxLabel
-
systemPrefixBox
javax.swing.JComboBox<java.lang.String> systemPrefixBox
-
dccAspectAddressLabel
javax.swing.JLabel dccAspectAddressLabel
-
dccAspectAddressField
javax.swing.JTextField dccAspectAddressField
-
dccOffSetAddress
javax.swing.JCheckBox dccOffSetAddress
-
allowUnLit
javax.swing.JCheckBox allowUnLit
-
dccAspect
java.util.LinkedHashMap<java.lang.String,DccSignalMastAddPane.DCCAspectPanel> dccAspect
-
currentMast
DccSignalMast currentMast
-
sigsys
SignalSystem sigsys
-
packetSendCountSpinner
javax.swing.JSpinner packetSendCountSpinner
-
unlitIdSpinner
javax.swing.JSpinner unlitIdSpinner
-
-
Constructor Detail
-
DccSignalMastAddPane
public DccSignalMastAddPane()
-
-
Method Detail
-
init
final void init()
-
connectionData
javax.swing.JPanel connectionData()
-
unLitOption
javax.swing.JPanel unLitOption()
-
getPaneName
@Nonnull public java.lang.String getPaneName()
- Specified by:
getPaneName
in classSignalMastAddPane
- Returns:
- human-preferred name for type of signal mast, in local language
-
usableCommandStation
protected boolean usableCommandStation(CommandStation cs)
Check if a command station will work for this subtype.- Parameters:
cs
- The current command station.- Returns:
- true if cs supports IMM packets.
-
setAspectNames
public void setAspectNames(@Nonnull SignalAppearanceMap map, @Nonnull SignalSystem sigSystem)
Provide a new list of aspects in the signal system. Must be done at startup before the pane is shown. May be done later, to update to a newly selected system.- Specified by:
setAspectNames
in classSignalMastAddPane
- Parameters:
map
- the signal appearance map.sigSystem
- the signal system.
-
canHandleMast
public boolean canHandleMast(@Nonnull SignalMast mast)
Can this pane edit a specific mast object, i.e. an object of its type?- Specified by:
canHandleMast
in classSignalMastAddPane
- Parameters:
mast
- the SignalMast to possibly display- Returns:
- true if this pane can handle that mast type; false if can't
-
setMast
public void setMast(SignalMast mast)
Load this pane with information from a mast. Do not invoke this ifSignalMastAddPane.canHandleMast(SignalMast)
on that mast returns false.- Specified by:
setMast
in classSignalMastAddPane
- Parameters:
mast
- the SignalMast to display or null to reset a previous setting
-
validateAspectId
static boolean validateAspectId(@Nonnull java.lang.String strAspect)
-
getNamePrefix
@Nonnull protected java.lang.String getNamePrefix()
Get the first part of the system name for the specific mast type.- Returns:
- For this specific class, "F$dsm:"
-
constructMast
protected DccSignalMast constructMast(@Nonnull java.lang.String name)
Create a mast of the specific subtype.- Parameters:
name
- A valid subtype name- Returns:
- A SignalMast of that subtype
-
createMast
public boolean createMast(@Nonnull java.lang.String sigsysname, @Nonnull java.lang.String mastname, @Nonnull java.lang.String username)
Called to either "create and register" a new, or "update" an existing mast from the given information.- Specified by:
createMast
in classSignalMastAddPane
- Parameters:
sigsysname
- the name of the signal system in usemastname
- the mast type nameusername
- user name value- Returns:
- false if the operation failed, in which case the user should have already been notified
-
copyFromMastSelection
@Nonnull javax.swing.JComboBox<java.lang.String> copyFromMastSelection()
-
copyFromAnotherDCCMastAspect
void copyFromAnotherDCCMastAspect(@Nonnull java.lang.String strMast)
Copy aspects by name from another DccSignalMast.- Parameters:
strMast
- User or system name of mast to copy from
-
-