Package org.pushingpixels.flamingo.internal.ui.ribbon

# Class JRibbonGallery

java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
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

Fields
Modifier and Type
Field
Description
`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 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 final String`
`uiClassID`
The UI class ID string.

### 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
`JRibbonGallery()`
Creates new in-ribbon gallery.

## Method Summary

Modifier and Type
Method
Description
`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 Linvalid input: '&F' for this component.
`String`
`getUIClassID()`
Returns the name of the UI class that implements the Linvalid input: '&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, 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, 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, getAccessibleContext, 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`

## Field Details

### 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

## Constructor Details

### JRibbonGallery

public JRibbonGallery()
Creates new in-ribbon gallery.

## Method Details

### 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 Linvalid input: '&F' for this component.

Overrides:
  `getUI` in class `JComponent`
Returns:
  a `RibbonGalleryUI` object
See Also:
  - `setUI(RibbonGalleryUI)`

### getUIClassID

public String getUIClassID()
Returns the name of the UI class that implements the Linvalid input: '&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)