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) class
RosterGroupsPanel.MenuActionListener
(package private) class
RosterGroupsPanel.MouseAdapter
(package private) class
RosterGroupsPanel.PropertyChangeListener
(package private) class
RosterGroupsPanel.TransferHandler
static class
RosterGroupsPanel.TreeCellRenderer
class
RosterGroupsPanel.TreeSelectionListener
static class
RosterGroupsPanel.TreeUI
class
RosterGroupsPanel.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 void
firePropertyChangeAsRGP(java.lang.String propertyName, java.lang.Object oldValue, java.lang.Object newValue)
javax.swing.JPopupMenu
getAllEntriesMenu()
Get the context menu for "All Entries"javax.swing.JPopupMenu
getGroupsMenu()
Get the context menu for Roster GroupsJmriAbstractAction
getNewWindowMenuAction()
The action triggered by the "Open in New Window" menu item.javax.swing.JScrollPane
getScrollPane()
Get a JScrollPane containing the JTree that does not display horizontal scrollbars.java.lang.String
getSelectedRosterGroup()
Get the selected roster group.javax.swing.JTree
getTree()
Get the JTree containing the roster groups.boolean
isSelectionUserDefinedRosterGroup()
Is the selected roster group user or system defined.void
setAllEntriesMenu(javax.swing.JPopupMenu menu)
Set the context menu for the "All Entries" roster groupvoid
setGroupsMenu(javax.swing.JPopupMenu menu)
Set the context menu for Roster Groupsvoid
setNewWindowMenuAction(JmriAbstractAction action)
Set an action that the menu item "Open in New Window" will trigger.void
setSelectedRosterGroup(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:
getSelectedRosterGroup
in 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
JmriAbstractAction
that the "Open in New Window" menu item will trigger.null
will 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)
-
-