Package jmri.jmrit.beantable.signalmast
Class SignalMastAddPane
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- jmri.jmrit.beantable.signalmast.SignalMastAddPane
-
- All Implemented Interfaces:
java.awt.image.ImageObserver
,java.awt.MenuContainer
,java.io.Serializable
,javax.accessibility.Accessible
,JmriServiceProviderInterface
- Direct Known Subclasses:
BiDiBSignalMastAddPane
,DccSignalMastAddPane
,MatrixSignalMastAddPane
,MqttSignalMastAddPane
,OlcbSignalMastAddPane
,SignalHeadSignalMastAddPane
,TurnoutSignalMastAddPane
,VirtualSignalMastAddPane
public abstract class SignalMastAddPane extends javax.swing.JPanel implements JmriServiceProviderInterface
Definition of JPanel used to configure a specific SignalMast type. Implementing classes must be registered as service providers of this type to be recognized and usable.General design documentation is available on the Structure of External System Connections page. The general sequence is:
- Find one or more object of this type that have
SignalMastAddPane.SignalMastAddPaneProvider.isAvailable()
true. - Invoke
setAspectNames(jmri.SignalAppearanceMap, jmri.SignalSystem)
from the selected signal system - If you're showing a mast that exists, invoke
setMast(jmri.SignalMast)
to load the contents - To eventually create or update a mast from the entered data, invoke
createMast(java.lang.String, java.lang.String, java.lang.String)
- Since:
- 4.11.3
- See Also:
ServiceLoader
,AddSignalMastPanel
, Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
SignalMastAddPane.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 protected static int
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 SignalMastAddPane()
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description abstract boolean
canHandleMast(SignalMast mast)
Can this pane edit a specific mast object, i.e. an object of its type?abstract 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.abstract java.lang.String
getPaneName()
abstract void
setAspectNames(SignalAppearanceMap map, SignalSystem sigSystem)
Provide a new list of aspects in the signal system.abstract void
setMast(SignalMast mast)
Load this pane with information from a mast.-
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
-
NOTIONAL_ASPECT_COUNT
protected static final int NOTIONAL_ASPECT_COUNT
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
SignalMastAddPane
public SignalMastAddPane()
-
-
Method Detail
-
setAspectNames
public abstract 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.- Parameters:
map
- the signal appearance map.sigSystem
- the signal system.
-
canHandleMast
public abstract boolean canHandleMast(@Nonnull SignalMast mast)
Can this pane edit a specific mast object, i.e. an object of its type?- Parameters:
mast
- the SignalMast to possibly display- Returns:
- true if this pane can handle that mast type; false if can't
-
setMast
public abstract void setMast(SignalMast mast)
Load this pane with information from a mast. Do not invoke this ifcanHandleMast(SignalMast)
on that mast returns false.- Parameters:
mast
- the SignalMast to display or null to reset a previous setting
-
createMast
public abstract 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.- 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
-
getPaneName
@Nonnull public abstract java.lang.String getPaneName()
- Returns:
- human-preferred name for type of signal mast, in local language
-
-