M3EToolbarItemLayout class abstract final

Shared helpers for partitioning and laying out M3EToolbarItems.

Properties

hashCode → int
The hash code for this object.
no setterinherited
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() → String
A string representation of this object.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited

Static Methods

availableCrossExtent({required double crossAxisSize, required EdgeInsets padding, required Axis axis}) → double
Cross-axis room left for item content after padding on axis.
buildItem({required M3EToolbarItem item, required double availableExtent, required Axis axis, required Widget buildAction(M3EToolbarAction action), double opticalInset = 0}) → Widget
Builds the visual for one item (icon button or constrained widget).
constrainWidget({required M3EToolbarWidget item, required double availableExtent, required Axis axis, double opticalInset = 0}) → Widget
Wraps a M3EToolbarWidget so it cannot exceed the bar content extent.
dockedGap({required double available, required double slotExtent, required int slotCount, required double preferredGap, required double minGap}) → double
Docked gap clamped to [minGap, preferredGap].
partitionInline({required List<M3EToolbarItem> items, required int maxInline, int? triggerIndex}) → ({List<M3EToolbarItem> inline, List<M3EToolbarAction> overflow})
Keeps all widgets inline; only excess non-trigger actions overflow.
reservedLabeledSelectionExtent({required List<M3EToolbarItem> inline, required Axis axis, required double iconVisualExtent, required double iconSlotExtent, required TextStyle labelStyle, required TextScaler textScaler, required double gap, required double labelGap, bool includeOverflowSlot = false}) → double?
Fixed pill width for labeled selection when the outer pill should not grow/shrink: widest (icon+label) action + icon-only neighbors + gaps.
withGaps(List<Widget> children, {required double gap, required Axis axis}) → List<Widget>
Inserts gap between consecutive children along axis.