Package jmri.jmrit.roster.swing
Class RosterGroupsPanel
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- jmri.jmrit.roster.swing.RosterGroupsPanel
-
- All Implemented Interfaces:
java.awt.image.ImageObserver,java.awt.MenuContainer,java.io.Serializable,javax.accessibility.Accessible,RosterGroupSelector
public class RosterGroupsPanel extends javax.swing.JPanel implements RosterGroupSelector
A JPanel that lists Roster GroupsThis panel contains a fairly self-contained display of Roster Groups that allows roster groups to be fully manipulated through context menus.
- See Also:
Roster, Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) classRosterGroupsPanel.MenuActionListener(package private) classRosterGroupsPanel.MouseAdapter(package private) classRosterGroupsPanel.PropertyChangeListener(package private) classRosterGroupsPanel.TransferHandlerstatic classRosterGroupsPanel.TreeCellRendererclassRosterGroupsPanel.TreeSelectionListenerstatic classRosterGroupsPanel.TreeUIclassRosterGroupsPanel.TreeWillExpandListener-
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 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
-
Fields inherited from interface jmri.jmrit.roster.rostergroup.RosterGroupSelector
SELECTED_ROSTER_GROUP
-
-
Constructor Summary
Constructors Constructor Description RosterGroupsPanel()Create a RosterGroupsPanel with default settingsRosterGroupsPanel(java.lang.String defaultRosterGroup)Create a RosterGroupTreePane with the defaultRosterGroup selected.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidfirePropertyChangeAsRGP(java.lang.String propertyName, java.lang.Object oldValue, java.lang.Object newValue)javax.swing.JPopupMenugetAllEntriesMenu()Get the context menu for "All Entries"javax.swing.JPopupMenugetGroupsMenu()Get the context menu for Roster GroupsJmriAbstractActiongetNewWindowMenuAction()The action triggered by the "Open in New Window" menu item.javax.swing.JScrollPanegetScrollPane()Get a JScrollPane containing the JTree that does not display horizontal scrollbars.java.lang.StringgetSelectedRosterGroup()Get the selected roster group.javax.swing.JTreegetTree()Get the JTree containing the roster groups.booleanisSelectionUserDefinedRosterGroup()Is the selected roster group user or system defined.voidsetAllEntriesMenu(javax.swing.JPopupMenu menu)Set the context menu for the "All Entries" roster groupvoidsetGroupsMenu(javax.swing.JPopupMenu menu)Set the context menu for Roster GroupsvoidsetNewWindowMenuAction(JmriAbstractAction action)Set an action that the menu item "Open in New Window" will trigger.voidsetSelectedRosterGroup(java.lang.String group)Set the selected roster group.-
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.jmrit.roster.rostergroup.RosterGroupSelector
addPropertyChangeListener, addPropertyChangeListener, removePropertyChangeListener, removePropertyChangeListener
-
-
-
-
Constructor Detail
-
RosterGroupsPanel
public RosterGroupsPanel()
Create a RosterGroupsPanel with default settings
-
RosterGroupsPanel
public RosterGroupsPanel(java.lang.String defaultRosterGroup)
Create a RosterGroupTreePane with the defaultRosterGroup selected.- Parameters:
defaultRosterGroup- the name of the default selection
-
-
Method Detail
-
getSelectedRosterGroup
public java.lang.String getSelectedRosterGroup()
Get the selected roster group.- Specified by:
getSelectedRosterGroupin interfaceRosterGroupSelector- Returns:
- The selected roster group
-
setSelectedRosterGroup
public final void setSelectedRosterGroup(java.lang.String group)
Set the selected roster group.If the group is
null, the selected roster group is set to "All Entries".- Parameters:
group- The name of the group to set the selection to.
-
isSelectionUserDefinedRosterGroup
public boolean isSelectionUserDefinedRosterGroup()
Is the selected roster group user or system defined.- Returns:
- flag indicating current selection is a user defined roster group.
-
setGroupsMenu
public final void setGroupsMenu(javax.swing.JPopupMenu menu)
Set the context menu for Roster Groups- Parameters:
menu- The new menu for Roster Groups.
-
getGroupsMenu
public javax.swing.JPopupMenu getGroupsMenu()
Get the context menu for Roster Groups- Returns:
- The current groups menu.
-
setAllEntriesMenu
public final void setAllEntriesMenu(javax.swing.JPopupMenu menu)
Set the context menu for the "All Entries" roster group- Parameters:
menu- The new menu for All Entries.
-
getAllEntriesMenu
public javax.swing.JPopupMenu getAllEntriesMenu()
Get the context menu for "All Entries"- Returns:
- The menu for All Entries.
-
setNewWindowMenuAction
public void setNewWindowMenuAction(JmriAbstractAction action)
Set an action that the menu item "Open in New Window" will trigger.Set a
JmriAbstractActionthat the "Open in New Window" menu item will trigger.nullwill remove the "Open in New Window" menu item from context menus. The "Open in New Window" menu item will be added or removed from the menu as appropriate.If the action you pass has access to the RosterGroupPanel, it may call RosterGroupPanel.getSelectedRosterGroup to determine which group to open in the new window, otherwise it must accept a String defining the group in JmriAbstractAction.setParameter(String, String).
- Parameters:
action- An action that can work on the current selection
-
getNewWindowMenuAction
public JmriAbstractAction getNewWindowMenuAction()
The action triggered by the "Open in New Window" menu item.- Returns:
- A JmriAbstractAction or null
-
getScrollPane
public javax.swing.JScrollPane getScrollPane()
Get a JScrollPane containing the JTree that does not display horizontal scrollbars.- Returns:
- The internal JScrollPane
-
getTree
public final javax.swing.JTree getTree()
Get the JTree containing the roster groups.- Returns:
- The internal JTree
-
firePropertyChangeAsRGP
protected void firePropertyChangeAsRGP(java.lang.String propertyName, java.lang.Object oldValue, java.lang.Object newValue)
-
-