Class 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 Groups

    This 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
    • 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
    • Constructor Summary

      Constructors 
      Constructor Description
      RosterGroupsPanel()
      Create a RosterGroupsPanel with default settings
      RosterGroupsPanel​(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 Groups
      JmriAbstractAction 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 group
      void setGroupsMenu​(javax.swing.JPopupMenu menu)
      Set the context menu for Roster Groups
      void 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
    • 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

      • 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
      • 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)