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
StreamConnectionConfigwhich 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) StreamConnectionConfigccCurrent(package private) StreamConnectionConfig[]classConnectionList(package private) java.lang.String[]classConnectionNameList(package private) javax.swing.JPaneldetails(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) UserPreferencesManagerp-
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 protectedStreamConfigPane(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 StreamConfigPanecreatePanel(XBeeNode node)Create a new connection configuration panel.static StreamConfigPanecreatePanel(StreamConnectionConfig c)Create a new configuration panel for the given connection.static voiddispose(StreamConfigPane confPane)Disposes of the underlying connection for a configuration pane.java.lang.StringgetConnectionName()java.lang.StringgetCurrentManufacturerName()StreamConnectionConfiggetCurrentObject()java.lang.StringgetCurrentProtocolInfo()java.lang.StringgetCurrentProtocolName()booleangetDisabled()java.lang.StringgetLabelKey()Text displayed above the preferences panel This label is only displayed if the preferences panel is in a tabbed set of preferences.javax.swing.JComponentgetPreferencesComponent()Get the preferences component for displayjava.lang.StringgetPreferencesTooltip()The tooltip to display for a tabbed preferences paneljava.lang.StringgetTabbedPreferencesTitle()Get the title for the tab containing this preferences item.booleanisDirty()Indicate that preferences need to be saved.booleanisPersistant()Indicates that this PrefernecesPanel should be stored across application starts by the PreferencesManager This should be true if the implementing class relies on theConfigureManagerstores and retrieves the preferences managed by the implementing class on behalf of the implementing class.booleanisPreferencesValid()Indicate that the preferences are valid.booleanisRestartRequired()Indicate that the preferences will not take effect until restarted.voidsavePreferences()Save any changes to preferences.(package private) voidselect()voidsetDisabled(boolean disabled)voidsetXBeeNode(XBeeNode node)voidupdateComboConnection()-
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:
updateComboConnectionin classJmrixConfigPane
-
select
void select()
-
getConnectionName
public java.lang.String getConnectionName()
- Overrides:
getConnectionNamein classJmrixConfigPane
-
getCurrentManufacturerName
public java.lang.String getCurrentManufacturerName()
- Overrides:
getCurrentManufacturerNamein classJmrixConfigPane
-
getCurrentProtocolName
public java.lang.String getCurrentProtocolName()
- Overrides:
getCurrentProtocolNamein classJmrixConfigPane
-
getCurrentProtocolInfo
public java.lang.String getCurrentProtocolInfo()
- Overrides:
getCurrentProtocolInfoin classJmrixConfigPane
-
getCurrentObject
public StreamConnectionConfig getCurrentObject()
- Overrides:
getCurrentObjectin classJmrixConfigPane
-
getDisabled
public boolean getDisabled()
- Overrides:
getDisabledin classJmrixConfigPane
-
setDisabled
public void setDisabled(boolean disabled)
- Overrides:
setDisabledin classJmrixConfigPane
-
getTabbedPreferencesTitle
public java.lang.String getTabbedPreferencesTitle()
Description copied from interface:PreferencesPanelGet the title for the tab containing this preferences item.- Specified by:
getTabbedPreferencesTitlein interfacePreferencesPanel- Overrides:
getTabbedPreferencesTitlein classJmrixConfigPane- Returns:
- a tab title
-
getLabelKey
public java.lang.String getLabelKey()
Description copied from interface:PreferencesPanelText 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:
getLabelKeyin interfacePreferencesPanel- Overrides:
getLabelKeyin classJmrixConfigPane- Returns:
- label text
-
getPreferencesComponent
public javax.swing.JComponent getPreferencesComponent()
Description copied from interface:PreferencesPanelGet the preferences component for display- Specified by:
getPreferencesComponentin interfacePreferencesPanel- Overrides:
getPreferencesComponentin classJmrixConfigPane- Returns:
- the preferences panel
-
isPersistant
public boolean isPersistant()
Description copied from interface:PreferencesPanelIndicates that this PrefernecesPanel should be stored across application starts by the PreferencesManager This should be true if the implementing class relies on theConfigureManagerstores and retrieves the preferences managed by the implementing class on behalf of the implementing class.- Specified by:
isPersistantin interfacePreferencesPanel- Overrides:
isPersistantin classJmrixConfigPane- Returns:
- false if the implementing class stores its own preferences
-
getPreferencesTooltip
public java.lang.String getPreferencesTooltip()
Description copied from interface:PreferencesPanelThe tooltip to display for a tabbed preferences panel- Specified by:
getPreferencesTooltipin interfacePreferencesPanel- Overrides:
getPreferencesTooltipin classJmrixConfigPane- Returns:
- tooltip text
-
savePreferences
public void savePreferences()
Description copied from interface:PreferencesPanelSave any changes to preferences. This method is called for every instance of a PreferencesPanel that is loaded byTabbedPreferencesifPreferencesPanel.isPersistant()is false.- Specified by:
savePreferencesin interfacePreferencesPanel- Overrides:
savePreferencesin classJmrixConfigPane
-
isDirty
public boolean isDirty()
Description copied from interface:PreferencesPanelIndicate that preferences need to be saved.- Specified by:
isDirtyin interfacePreferencesPanel- Overrides:
isDirtyin classJmrixConfigPane- Returns:
- true if preferences need to be saved, false otherwise
-
isRestartRequired
public boolean isRestartRequired()
Description copied from interface:PreferencesPanelIndicate that the preferences will not take effect until restarted.- Specified by:
isRestartRequiredin interfacePreferencesPanel- Overrides:
isRestartRequiredin classJmrixConfigPane- Returns:
- true if the application needs to restart
-
isPreferencesValid
public boolean isPreferencesValid()
Description copied from interface:PreferencesPanelIndicate that the preferences are valid.- Specified by:
isPreferencesValidin interfacePreferencesPanel- Overrides:
isPreferencesValidin classJmrixConfigPane- Returns:
- true if the preferences are valid, false otherwise
-
-