org.pushingpixels.flamingo.api.ribbon.resize
Class CoreRibbonResizePolicies.BaseCoreRibbonBandResizePolicy

java.lang.Object
  extended by org.pushingpixels.flamingo.api.ribbon.resize.BaseRibbonBandResizePolicy<JBandControlPanel>
      extended by org.pushingpixels.flamingo.api.ribbon.resize.CoreRibbonResizePolicies.BaseCoreRibbonBandResizePolicy
All Implemented Interfaces:
RibbonBandResizePolicy
Direct Known Subclasses:
CoreRibbonResizePolicies.High2Low, CoreRibbonResizePolicies.High2Mid, CoreRibbonResizePolicies.Low2Mid, CoreRibbonResizePolicies.Mid2Low, CoreRibbonResizePolicies.Mid2Mid, CoreRibbonResizePolicies.Mirror, CoreRibbonResizePolicies.None
Enclosing class:
CoreRibbonResizePolicies

protected abstract static class CoreRibbonResizePolicies.BaseCoreRibbonBandResizePolicy
extends BaseRibbonBandResizePolicy<JBandControlPanel>

The base class for mapping-based core resize policies.


Field Summary
protected  org.pushingpixels.flamingo.api.ribbon.resize.CoreRibbonResizePolicies.Mapping mapping
          The element priority mapping.
 
Fields inherited from class org.pushingpixels.flamingo.api.ribbon.resize.BaseRibbonBandResizePolicy
controlPanel
 
Constructor Summary
protected CoreRibbonResizePolicies.BaseCoreRibbonBandResizePolicy(JBandControlPanel controlPanel, org.pushingpixels.flamingo.api.ribbon.resize.CoreRibbonResizePolicies.Mapping mapping)
          Creates a new resize policy.
 
Method Summary
protected  int getPreferredButtonWidth(JBandControlPanel.ControlPanelGroup controlPanelGroup, int gap)
          Returns the preferred width of all the buttons in the specified control panel group.
 int getPreferredWidth(int availableHeight, int gap)
          Returns the preferred width of the associated ribbon band under the specified dimensions.
protected  int getWidth(int gap, java.util.List<AbstractCommandButton> bigButtons, java.util.List<AbstractCommandButton> mediumButtons, java.util.List<AbstractCommandButton> smallButtons)
          Returns the total width of the specified buttons.
 void install(int availableHeight, int gap)
          Installs this resize policy on the associated ribbon band.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

mapping

protected org.pushingpixels.flamingo.api.ribbon.resize.CoreRibbonResizePolicies.Mapping mapping
The element priority mapping.

Constructor Detail

CoreRibbonResizePolicies.BaseCoreRibbonBandResizePolicy

protected CoreRibbonResizePolicies.BaseCoreRibbonBandResizePolicy(JBandControlPanel controlPanel,
                                                                  org.pushingpixels.flamingo.api.ribbon.resize.CoreRibbonResizePolicies.Mapping mapping)
Creates a new resize policy.

Parameters:
controlPanel - The control panel of the associated ribbon band.
mapping - The element priority mapping.
Method Detail

getWidth

protected int getWidth(int gap,
                       java.util.List<AbstractCommandButton> bigButtons,
                       java.util.List<AbstractCommandButton> mediumButtons,
                       java.util.List<AbstractCommandButton> smallButtons)
Returns the total width of the specified buttons.

Parameters:
gap - Inter component gap.
bigButtons - List of buttons in big display state.
mediumButtons - List of buttons in medium display state.
smallButtons - List of buttons in small display state.
Returns:
Total width of the specified buttons.

getPreferredWidth

public int getPreferredWidth(int availableHeight,
                             int gap)
Description copied from interface: RibbonBandResizePolicy
Returns the preferred width of the associated ribbon band under the specified dimensions.

Parameters:
availableHeight - The height available for the associated ribbon band.
gap - The inter-component gap.
Returns:
The preferred width of the associated ribbon band under the specified dimensions.

getPreferredButtonWidth

protected int getPreferredButtonWidth(JBandControlPanel.ControlPanelGroup controlPanelGroup,
                                      int gap)
Returns the preferred width of all the buttons in the specified control panel group.

Parameters:
controlPanelGroup - A single control panel group in the associated ribbon band.
gap - Inter component gap.
Returns:
The preferred width of all the buttons in the specified control panel group.

install

public void install(int availableHeight,
                    int gap)
Description copied from interface: RibbonBandResizePolicy
Installs this resize policy on the associated ribbon band. For JFlowRibbonBands only changes the bounds of the flow components. For JRibbonBands can also change the display state of the command buttons (with AbstractCommandButton.setDisplayState(org.pushingpixels.flamingo.api.common.CommandButtonDisplayState) ) and the number of visible buttons in the ribbon galleries. Note that this method is for internal use only and should not be called by the application code.

Parameters:
availableHeight - The height available for the associated ribbon band.
gap - The inter-component gap.