Class StreamConfigPane
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- jmri.jmrix.JmrixConfigPane
-
- jmri.jmrix.ieee802154.xbee.swing.nodeconfig.StreamConfigPane
-
- All Implemented Interfaces:
java.awt.image.ImageObserver
,java.awt.MenuContainer
,java.io.Serializable
,javax.accessibility.Accessible
,JmriServiceProviderInterface
,PreferencesPanel
public class StreamConfigPane extends JmrixConfigPane
Provide GUI to configure communications links.This is really just a catalog of connections to classes within the systems. Reflection is used to reduce coupling at load time.
Objects of this class are based on an underlying ConnectionConfig implementation, which in turn is obtained from the InstanceManager. Those must be created at load time by the ConfigXml process, or in some Application class.
The classes referenced are the specific subclasses of
StreamConnectionConfig
which provides the methods providing data to the configuration GUI, and responding to its changes.- See Also:
- Serialized Form
-
-
Nested Class Summary
-
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) StreamConnectionConfig
ccCurrent
(package private) StreamConnectionConfig[]
classConnectionList
(package private) java.lang.String[]
classConnectionNameList
(package private) javax.swing.JPanel
details
(package private) javax.swing.JComboBox<java.lang.String>
manuBox
(package private) java.lang.String[]
manufactureNameList
(package private) javax.swing.JComboBox<java.lang.String>
modeBox
(package private) UserPreferencesManager
p
-
Fields inherited from class jmri.jmrix.JmrixConfigPane
NO_PORTS_FOUND, NONE, NONE_SELECTED
-
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 Modifier Constructor Description protected
StreamConfigPane(StreamConnectionConfig original)
Use "instance" to get one of these.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static StreamConfigPane
createPanel(XBeeNode node)
Create a new connection configuration panel.static StreamConfigPane
createPanel(StreamConnectionConfig c)
Create a new configuration panel for the given connection.static void
dispose(StreamConfigPane confPane)
Disposes of the underlying connection for a configuration pane.java.lang.String
getConnectionName()
java.lang.String
getCurrentManufacturerName()
StreamConnectionConfig
getCurrentObject()
java.lang.String
getCurrentProtocolInfo()
java.lang.String
getCurrentProtocolName()
boolean
getDisabled()
java.lang.String
getLabelKey()
Text displayed above the preferences panel This label is only displayed if the preferences panel is in a tabbed set of preferences.javax.swing.JComponent
getPreferencesComponent()
Get the preferences component for displayjava.lang.String
getPreferencesTooltip()
The tooltip to display for a tabbed preferences paneljava.lang.String
getTabbedPreferencesTitle()
Get the title for the tab containing this preferences item.boolean
isDirty()
Indicate that preferences need to be saved.boolean
isPersistant()
Indicates that this PrefernecesPanel should be stored across application starts by the PreferencesManager This should be true if the implementing class relies on theConfigureManager
stores and retrieves the preferences managed by the implementing class on behalf of the implementing class.boolean
isPreferencesValid()
Indicate that the preferences are valid.boolean
isRestartRequired()
Indicate that the preferences will not take effect until restarted.void
savePreferences()
Save any changes to preferences.(package private) void
select()
void
setDisabled(boolean disabled)
void
setXBeeNode(XBeeNode node)
void
updateComboConnection()
-
Methods inherited from class jmri.jmrix.JmrixConfigPane
createNewPanel, createPanel, createPanel, dispose, getPreferencesItem, getPreferencesItemText
-
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
-
Methods inherited from interface jmri.swing.PreferencesPanel
getIsEnabled, getSortOrder
-
-
-
-
Field Detail
-
modeBox
final javax.swing.JComboBox<java.lang.String> modeBox
-
manuBox
final javax.swing.JComboBox<java.lang.String> manuBox
-
details
final javax.swing.JPanel details
-
classConnectionNameList
java.lang.String[] classConnectionNameList
-
classConnectionList
StreamConnectionConfig[] classConnectionList
-
manufactureNameList
final java.lang.String[] manufactureNameList
-
p
final UserPreferencesManager p
-
ccCurrent
StreamConnectionConfig ccCurrent
-
-
Constructor Detail
-
StreamConfigPane
protected StreamConfigPane(StreamConnectionConfig original)
Use "instance" to get one of these. That allows it to reconnect to existing information in an existing StreamConnectionConfig object. It's permitted to call this with a null argument, e.g. for when first configuring the system.- Parameters:
original
- Connection configuration to use
-
-
Method Detail
-
createPanel
public static StreamConfigPane createPanel(XBeeNode node)
Create a new connection configuration panel.- Parameters:
node
- the XBee node associated with the connection.- Returns:
- the panel for the requested connection or for a new connection if index did not match an existing connection configuration
-
createPanel
public static StreamConfigPane createPanel(StreamConnectionConfig c)
Create a new configuration panel for the given connection.- Parameters:
c
- the connection; if null, the panel is ready for a new connection- Returns:
- the new panel
-
dispose
public static void dispose(StreamConfigPane confPane)
Disposes of the underlying connection for a configuration pane.- Parameters:
confPane
- the pane to dispose of
-
setXBeeNode
public void setXBeeNode(XBeeNode node)
-
updateComboConnection
public void updateComboConnection()
- Overrides:
updateComboConnection
in classJmrixConfigPane
-
select
void select()
-
getConnectionName
public java.lang.String getConnectionName()
- Overrides:
getConnectionName
in classJmrixConfigPane
-
getCurrentManufacturerName
public java.lang.String getCurrentManufacturerName()
- Overrides:
getCurrentManufacturerName
in classJmrixConfigPane
-
getCurrentProtocolName
public java.lang.String getCurrentProtocolName()
- Overrides:
getCurrentProtocolName
in classJmrixConfigPane
-
getCurrentProtocolInfo
public java.lang.String getCurrentProtocolInfo()
- Overrides:
getCurrentProtocolInfo
in classJmrixConfigPane
-
getCurrentObject
public StreamConnectionConfig getCurrentObject()
- Overrides:
getCurrentObject
in classJmrixConfigPane
-
getDisabled
public boolean getDisabled()
- Overrides:
getDisabled
in classJmrixConfigPane
-
setDisabled
public void setDisabled(boolean disabled)
- Overrides:
setDisabled
in classJmrixConfigPane
-
getTabbedPreferencesTitle
public java.lang.String getTabbedPreferencesTitle()
Description copied from interface:PreferencesPanel
Get the title for the tab containing this preferences item.- Specified by:
getTabbedPreferencesTitle
in interfacePreferencesPanel
- Overrides:
getTabbedPreferencesTitle
in classJmrixConfigPane
- Returns:
- a tab title
-
getLabelKey
public java.lang.String getLabelKey()
Description copied from interface:PreferencesPanel
Text displayed above the preferences panel This label is only displayed if the preferences panel is in a tabbed set of preferences. This label can contain multiple lines.- Specified by:
getLabelKey
in interfacePreferencesPanel
- Overrides:
getLabelKey
in classJmrixConfigPane
- Returns:
- label text
-
getPreferencesComponent
public javax.swing.JComponent getPreferencesComponent()
Description copied from interface:PreferencesPanel
Get the preferences component for display- Specified by:
getPreferencesComponent
in interfacePreferencesPanel
- Overrides:
getPreferencesComponent
in classJmrixConfigPane
- Returns:
- the preferences panel
-
isPersistant
public boolean isPersistant()
Description copied from interface:PreferencesPanel
Indicates that this PrefernecesPanel should be stored across application starts by the PreferencesManager This should be true if the implementing class relies on theConfigureManager
stores and retrieves the preferences managed by the implementing class on behalf of the implementing class.- Specified by:
isPersistant
in interfacePreferencesPanel
- Overrides:
isPersistant
in classJmrixConfigPane
- Returns:
- false if the implementing class stores its own preferences
-
getPreferencesTooltip
public java.lang.String getPreferencesTooltip()
Description copied from interface:PreferencesPanel
The tooltip to display for a tabbed preferences panel- Specified by:
getPreferencesTooltip
in interfacePreferencesPanel
- Overrides:
getPreferencesTooltip
in classJmrixConfigPane
- Returns:
- tooltip text
-
savePreferences
public void savePreferences()
Description copied from interface:PreferencesPanel
Save any changes to preferences. This method is called for every instance of a PreferencesPanel that is loaded byTabbedPreferences
ifPreferencesPanel.isPersistant()
is false.- Specified by:
savePreferences
in interfacePreferencesPanel
- Overrides:
savePreferences
in classJmrixConfigPane
-
isDirty
public boolean isDirty()
Description copied from interface:PreferencesPanel
Indicate that preferences need to be saved.- Specified by:
isDirty
in interfacePreferencesPanel
- Overrides:
isDirty
in classJmrixConfigPane
- Returns:
- true if preferences need to be saved, false otherwise
-
isRestartRequired
public boolean isRestartRequired()
Description copied from interface:PreferencesPanel
Indicate that the preferences will not take effect until restarted.- Specified by:
isRestartRequired
in interfacePreferencesPanel
- Overrides:
isRestartRequired
in classJmrixConfigPane
- Returns:
- true if the application needs to restart
-
isPreferencesValid
public boolean isPreferencesValid()
Description copied from interface:PreferencesPanel
Indicate that the preferences are valid.- Specified by:
isPreferencesValid
in interfacePreferencesPanel
- Overrides:
isPreferencesValid
in classJmrixConfigPane
- Returns:
- true if the preferences are valid, false otherwise
-
-