org.pushingpixels.flamingo.internal.ui.ribbon
Class JRibbonGallery

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by org.pushingpixels.flamingo.internal.ui.ribbon.JRibbonGallery
All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable

public class JRibbonGallery
extends JComponent

In-ribbon gallery. This class is for internal use only and should not be directly used by the applications.

See Also:
JRibbonBand.addRibbonGallery(String, List, Map, int, int, RibbonElementPriority), Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
protected  List<StringValuePair<List<JCommandToggleButton>>> buttonGroups
          Gallery button groups.
protected  List<JCommandToggleButton> buttons
          The buttons of this gallery.
protected  CommandToggleButtonGroup buttonSelectionGroup
          Button group for ensuring that only one button is selected.
protected  ActionListener dismissActionListener
          Action listener wired to all the buttons in this gallery.
protected  RibbonElementPriority displayPriority
          The current display priority of this in-ribbon gallery.
protected  boolean isShowingPopupPanel
          Indication whether the ribbon gallery is showing the popup panel.
protected  JRibbonBand.RibbonGalleryPopupCallback popupCallback
           
protected  int preferredPopupMaxButtonColumns
          Preferred maximum number of button columns for the popup panel.
protected  int preferredPopupMaxVisibleButtonRows
          Preferred maximum number of visible button rows for the popup panel.
protected  Map<RibbonElementPriority,Integer> preferredVisibleIconCount
          Preferred widths for each possible display state (set in the user code according to design preferences).
static String uiClassID
          The UI class ID string.
 
Fields inherited from class javax.swing.JComponent
accessibleContext, 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
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
JRibbonGallery()
          Creates new in-ribbon gallery.
 
Method Summary
 void addRibbonGalleryButtons(String buttonGroupName, JCommandToggleButton... buttons)
          Adds toggle command buttons to the specified button group in this ribbon gallery.
 JCommandToggleButton getButtonAt(int index)
          Returns the gallery button at specified index.
 int getButtonCount()
          Returns the number of gallery buttons in this in-ribbon gallery.
 CommandButtonDisplayState getButtonDisplayState()
           
 List<JCommandToggleButton> getButtonGroup(String buttonGroupName)
          Returns the list of buttons in the specifed button group.
 int getButtonGroupCount()
          Returns the number of button groups in this in-ribbon gallery.
 RibbonElementPriority getDisplayPriority()
          Returns the current display priority for this in-ribbon gallery.
 String getExpandKeyTip()
           
 JCommandButtonPanel getPopupButtonPanel()
          Returns the associated popup gallery.
 JRibbonBand.RibbonGalleryPopupCallback getPopupCallback()
           
 int getPreferredPopupMaxButtonColumns()
           
 int getPreferredPopupMaxVisibleButtonRows()
           
 int getPreferredWidth(RibbonElementPriority state, int availableHeight)
          Returns the preferred width of this in-ribbon gallery for the specified display state.
 JCommandToggleButton getSelectedButton()
          Returns the currently selected gallery button.
 RibbonGalleryUI getUI()
          Returns the UI object which implements the L&F for this component.
 String getUIClassID()
          Returns the name of the UI class that implements the L&F for this component.
 boolean isShowingPopupPanel()
          Returns indication whether the popup panel is showing.
 void removeRibbonGalleryButtons(JCommandToggleButton... buttons)
          Removes the specified toggle command buttons from this ribbon gallery.
 void setButtonDisplayState(CommandButtonDisplayState buttonDisplayState)
           
 void setDisplayPriority(RibbonElementPriority displayPriority)
          Sets new display priority for this in-ribbon gallery.
 void setExpandKeyTip(String expandKeyTip)
           
 void setGroupMapping(List<StringValuePair<List<JCommandToggleButton>>> buttons)
          Sets the button groups for this ribbon gallery.
 void setPopupCallback(JRibbonBand.RibbonGalleryPopupCallback popupCallback)
           
 void setPreferredPopupPanelDimension(int preferredPopupMaxButtonColumns, int preferredPopupMaxVisibleButtonRows)
          Sets the preferred dimension of the popup panel.
 void setPreferredVisibleButtonCount(RibbonElementPriority state, int visibleButtonCount)
          Set preferred width of this in-ribbon gallery for the specified display state.
 void setSelectedButton(JCommandToggleButton selectedButton)
          Sets new value for the currently selected gallery button.
 void setShowingPopupPanel(boolean isShowingPopupPanel)
          Sets indication whether the popup panel is showing.
 void setUI(RibbonGalleryUI ui)
          Sets the new UI delegate.
 void updateUI()
          Resets the UI property to a value from the current look and feel.
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getAccessibleContext, 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, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, paramString, 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, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, 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, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, 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
 

Field Detail

buttons

protected List<JCommandToggleButton> buttons
The buttons of this gallery.


buttonSelectionGroup

protected CommandToggleButtonGroup buttonSelectionGroup
Button group for ensuring that only one button is selected.


displayPriority

protected RibbonElementPriority displayPriority
The current display priority of this in-ribbon gallery.


preferredVisibleIconCount

protected Map<RibbonElementPriority,Integer> preferredVisibleIconCount
Preferred widths for each possible display state (set in the user code according to design preferences).


buttonGroups

protected List<StringValuePair<List<JCommandToggleButton>>> buttonGroups
Gallery button groups.


preferredPopupMaxButtonColumns

protected int preferredPopupMaxButtonColumns
Preferred maximum number of button columns for the popup panel.


preferredPopupMaxVisibleButtonRows

protected int preferredPopupMaxVisibleButtonRows
Preferred maximum number of visible button rows for the popup panel.


isShowingPopupPanel

protected boolean isShowingPopupPanel
Indication whether the ribbon gallery is showing the popup panel.


popupCallback

protected JRibbonBand.RibbonGalleryPopupCallback popupCallback

uiClassID

public static final String uiClassID
The UI class ID string.

See Also:
Constant Field Values

dismissActionListener

protected ActionListener dismissActionListener
Action listener wired to all the buttons in this gallery. If #toDismissOnButtonClick is true, the listener dismissed this gallery.

Constructor Detail

JRibbonGallery

public JRibbonGallery()
Creates new in-ribbon gallery.

Method Detail

setUI

public void setUI(RibbonGalleryUI ui)
Sets the new UI delegate.

Parameters:
ui - New UI delegate.

updateUI

public void updateUI()
Resets the UI property to a value from the current look and feel.

Overrides:
updateUI in class JComponent
See Also:
JComponent.updateUI()

getUI

public RibbonGalleryUI getUI()
Returns the UI object which implements the L&F for this component.

Returns:
a RibbonGalleryUI object
See Also:
setUI(org.pushingpixels.flamingo.internal.ui.ribbon.RibbonGalleryUI)

getUIClassID

public String getUIClassID()
Returns the name of the UI class that implements the L&F for this component.

Overrides:
getUIClassID in class JComponent
Returns:
the string "RibbonGalleryUI"
See Also:
JComponent.getUIClassID(), UIDefaults.getUI(javax.swing.JComponent)

setPreferredVisibleButtonCount

public void setPreferredVisibleButtonCount(RibbonElementPriority state,
                                           int visibleButtonCount)
Set preferred width of this in-ribbon gallery for the specified display state.

Parameters:
state - Display state.
visibleButtonCount - Preferred width for the specified state.

getPreferredWidth

public int getPreferredWidth(RibbonElementPriority state,
                             int availableHeight)
Returns the preferred width of this in-ribbon gallery for the specified display state.

Parameters:
state - Display state.
availableHeight - Available height in pixels.
Returns:
The preferred width of this in-ribbon gallery for the specified display state.

setDisplayPriority

public void setDisplayPriority(RibbonElementPriority displayPriority)
Sets new display priority for this in-ribbon gallery.

Parameters:
displayPriority - New display priority for this in-ribbon gallery.

getDisplayPriority

public RibbonElementPriority getDisplayPriority()
Returns the current display priority for this in-ribbon gallery.

Returns:
The current display priority for this in-ribbon gallery.

getButtonGroupCount

public int getButtonGroupCount()
Returns the number of button groups in this in-ribbon gallery.

Returns:
The number of button groups in this in-ribbon gallery.

getButtonGroup

public List<JCommandToggleButton> getButtonGroup(String buttonGroupName)
Returns the list of buttons in the specifed button group.

Parameters:
buttonGroupName - Button group name.
Returns:
The list of buttons in the specifed button group.

getButtonCount

public int getButtonCount()
Returns the number of gallery buttons in this in-ribbon gallery.

Returns:
The number of gallery buttons in this in-ribbon gallery.

getButtonAt

public JCommandToggleButton getButtonAt(int index)
Returns the gallery button at specified index.

Parameters:
index - Gallery button index.
Returns:
Gallery button at specified index.

getSelectedButton

public JCommandToggleButton getSelectedButton()
Returns the currently selected gallery button.

Returns:
The currently selected gallery button.

setSelectedButton

public void setSelectedButton(JCommandToggleButton selectedButton)
Sets new value for the currently selected gallery button.

Parameters:
selectedButton - New value for the currently selected gallery button.

getPopupButtonPanel

public JCommandButtonPanel getPopupButtonPanel()
Returns the associated popup gallery.

Returns:
The associated popup gallery.

setShowingPopupPanel

public void setShowingPopupPanel(boolean isShowingPopupPanel)
Sets indication whether the popup panel is showing.

Parameters:
isShowingPopupPanel - Indication whether the popup panel is showing.

isShowingPopupPanel

public boolean isShowingPopupPanel()
Returns indication whether the popup panel is showing.

Returns:
true if the popup panel is showing, false otherwise.

setGroupMapping

public void setGroupMapping(List<StringValuePair<List<JCommandToggleButton>>> buttons)
Sets the button groups for this ribbon gallery.

Parameters:
buttons - Button groups.

addRibbonGalleryButtons

public void addRibbonGalleryButtons(String buttonGroupName,
                                    JCommandToggleButton... buttons)
Adds toggle command buttons to the specified button group in this ribbon gallery.

Parameters:
buttonGroupName - Button group name.
buttons - Toggle command buttons to add to the specified button group.

removeRibbonGalleryButtons

public void removeRibbonGalleryButtons(JCommandToggleButton... buttons)
Removes the specified toggle command buttons from this ribbon gallery.

Parameters:
buttons - Toggle command buttons to remove from this gallery.

setPreferredPopupPanelDimension

public void setPreferredPopupPanelDimension(int preferredPopupMaxButtonColumns,
                                            int preferredPopupMaxVisibleButtonRows)
Sets the preferred dimension of the popup panel.

Parameters:
preferredPopupMaxButtonColumns - Preferred maximum number of button columns for the popup panel.
preferredPopupMaxVisibleButtonRows - Preferred maximum number of visible button rows for the popup panel.

setPopupCallback

public void setPopupCallback(JRibbonBand.RibbonGalleryPopupCallback popupCallback)

getPopupCallback

public JRibbonBand.RibbonGalleryPopupCallback getPopupCallback()

getPreferredPopupMaxButtonColumns

public int getPreferredPopupMaxButtonColumns()

getPreferredPopupMaxVisibleButtonRows

public int getPreferredPopupMaxVisibleButtonRows()

setExpandKeyTip

public void setExpandKeyTip(String expandKeyTip)

getExpandKeyTip

public String getExpandKeyTip()

getButtonDisplayState

public CommandButtonDisplayState getButtonDisplayState()

setButtonDisplayState

public void setButtonDisplayState(CommandButtonDisplayState buttonDisplayState)