Class CoreRibbonResizePolicies
java.lang.Object
org.pushingpixels.flamingo.api.ribbon.resize.CoreRibbonResizePolicies
The core resize policies. Provides a number of built in resize policies that
respect the application element priorities passed to
JRibbonBand.addCommandButton(org.pushingpixels.flamingo.api.common.AbstractCommandButton, org.pushingpixels.flamingo.api.ribbon.RibbonElementPriority)
and
JRibbonBand.addRibbonGallery(String, java.util.List, java.util.Map, int, int, org.pushingpixels.flamingo.api.ribbon.RibbonElementPriority)
APIs. There are three types of built in resize policies:
- Resize policies for the
JFlowRibbonBand
s. TheCoreRibbonResizePolicies.FlowTwoRows
andCoreRibbonResizePolicies.FlowThreeRows
allow placing the flow ribbon band content in two and three rows respectively. - Resize policies for the
JRibbonBand
s. TheCoreRibbonResizePolicies.BaseCoreRibbonBandResizePolicy
is the base class for these policies. These policies respect theRibbonElementPriority
associated on command buttons and ribbon galleries inRibbonBandResizePolicy.getPreferredWidth(int, int)
andRibbonBandResizePolicy.install(int, int)
. WhileRibbonBandResizePolicy.install(int, int)
call on aJFlowRibbonBand
only changes the bounds of the flow components, this call on aJRibbonBand
can also change the display state of the command buttons (withAbstractCommandButton.setDisplayState(org.pushingpixels.flamingo.api.common.CommandButtonDisplayState)
) and the number of visible buttons in the ribbon galleries. - The collapsed policy that replaces the entire content of the ribbon band
with a single popup button. This is done when there is not enough horizontal
space to show the content of the ribbon band under the most restrictive
resize policy. Activating the popup button will show the original content
under the most permissive resize policy in a popup. This policy is
implemented in the
IconRibbonBandResizePolicy
.
In addition to the specific resize policies, this class provides three core
resize policies lists for JRibbonBand
s:
getCorePoliciesPermissive(JRibbonBand)
returns a list that starts with a resize policy that shows all command buttons in theCommandButtonDisplayState.BIG
and ribbon galleries with the largest number of visible buttons, fully utilizing the available screen space.getCorePoliciesRestrictive(JRibbonBand)
returns a list that starts with a resize policy that respects the associated ribbon element priority set on the specific components.-
getCorePoliciesNone(JRibbonBand)
returns a list that only has amirror
resize policy that respects the associated ribbon element priority set on the specific components.
Note that as mentioned above, all the three lists above have the
collapsed
policy as their last element.
In addition, the
getCoreFlowPoliciesRestrictive(JFlowRibbonBand, int)
returns a
restrictive resize policy for JFlowRibbonBand
s. The list starts with
the two-row policy, goes to the three-row policy and then finally to the
collapsed policy.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static class
The base class for mapping-based core resize policies.static class
Core resize policy forJFlowRibbonBand
that places the content in three rows.static class
Core resize policy forJFlowRibbonBand
that places the content in two rows.static final class
Core resize policy that maps allRibbonElementPriority
s toRibbonElementPriority.LOW
.static final class
Core resize policy that maps:RibbonElementPriority.TOP
->RibbonElementPriority.MEDIUM
RibbonElementPriority.MEDIUM
->RibbonElementPriority.LOW
RibbonElementPriority.LOW
->RibbonElementPriority.LOW
static final class
Core resize policy that maps:RibbonElementPriority.TOP
->RibbonElementPriority.TOP
RibbonElementPriority.MEDIUM
->RibbonElementPriority.TOP
RibbonElementPriority.LOW
->RibbonElementPriority.MEDIUM
static final class
Core resize policy that maps:RibbonElementPriority.TOP
->RibbonElementPriority.TOP
RibbonElementPriority.MEDIUM
->RibbonElementPriority.LOW
RibbonElementPriority.LOW
->RibbonElementPriority.LOW
static final class
Core resize policy that maps:RibbonElementPriority.TOP
->RibbonElementPriority.TOP
RibbonElementPriority.MEDIUM
->RibbonElementPriority.MEDIUM
RibbonElementPriority.LOW
->RibbonElementPriority.MEDIUM
static final class
Mirror core resize policy that maps the values ofRibbonElementPriority
s to themselves.static final class
Core resize policy that maps allRibbonElementPriority
s toRibbonElementPriority.TOP
. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic List
<RibbonBandResizePolicy> getCoreFlowPoliciesRestrictive
(JFlowRibbonBand ribbonBand, int stepsToRepeat) Returns a list that hasCoreRibbonResizePolicies.FlowTwoRows
policy followed by theCoreRibbonResizePolicies.FlowThreeRows
resize policy.static List
<RibbonBandResizePolicy> getCorePoliciesNone
(JRibbonBand ribbonBand) Returns a list that only has amirror
resize policy that respects the associated ribbon element priority set on the specific components.static List
<RibbonBandResizePolicy> getCorePoliciesPermissive
(JRibbonBand ribbonBand) Returns a list that starts with a resize policy that shows all command buttons in theCommandButtonDisplayState.BIG
and ribbon galleries with the largest number of visible buttons.static List
<RibbonBandResizePolicy> getCorePoliciesRestrictive
(JRibbonBand ribbonBand) Returns a list that starts with a resize policy that respects the associated ribbon element priority set on the specific components.
-
Constructor Details
-
CoreRibbonResizePolicies
public CoreRibbonResizePolicies()
-
-
Method Details
-
getCorePoliciesPermissive
Returns a list that starts with a resize policy that shows all command buttons in theCommandButtonDisplayState.BIG
and ribbon galleries with the largest number of visible buttons. The last entry is theIconRibbonBandResizePolicy
.- Parameters:
ribbonBand
- Ribbon band.- Returns:
- The permissive list of core ribbon band resize policies.
-
getCorePoliciesRestrictive
Returns a list that starts with a resize policy that respects the associated ribbon element priority set on the specific components. The last entry is theIconRibbonBandResizePolicy
.- Parameters:
ribbonBand
- Ribbon band.- Returns:
- The restrictive list of core ribbon band resize policies.
-
getCorePoliciesNone
Returns a list that only has amirror
resize policy that respects the associated ribbon element priority set on the specific components. The last entry is theIconRibbonBandResizePolicy
.- Parameters:
ribbonBand
- Ribbon band.- Returns:
- The mirror list of core ribbon band resize policies.
-
getCoreFlowPoliciesRestrictive
public static List<RibbonBandResizePolicy> getCoreFlowPoliciesRestrictive(JFlowRibbonBand ribbonBand, int stepsToRepeat) Returns a list that hasCoreRibbonResizePolicies.FlowTwoRows
policy followed by theCoreRibbonResizePolicies.FlowThreeRows
resize policy. The last entry is theIconRibbonBandResizePolicy
.- Parameters:
ribbonBand
- Ribbon band.stepsToRepeat
- The number of times each one of theCoreRibbonResizePolicies.FlowTwoRows
/CoreRibbonResizePolicies.FlowThreeRows
should appear consecutively in the returned list.- Returns:
- The restrictive list of core ribbon band resize policies.
-