FxPane class

One shell row: chrome (dock / drawer / end drawer) and optional body.

Placement: pass the pane in the matching FxShell list (dockPanes, drawerPanes, endDrawerPanes). site must match; validateForSite runs on sync.

Dock + drawer, same screen: reuse key; put builder on .dock (or whichever owns the body). mergeRegistry fills the drawer row.

Inheritance

Constructors

FxPane.divider({String title = '', Color? color, double strokeWidth = 1, EdgeInsets padding = EdgeInsets.zero, EdgeInsets margin = EdgeInsets.zero, BoxDecoration? decoration, TextStyle? textStyle, FxPaneDividerStyle? style, bool isEndDrawer = false})
Section divider (FxTextDivider). isEndDrawer sets site for validation.
FxPane.dock({required String key, required String title, required FxPaneBodyBuilder? builder, String? subtitle, FxTileState<IconData>? icon, FxTileIconBuilder? iconBuilder, FxTileTapWithContext<FxPane>? onPressed, FxTileBuilder<FxTile>? tileBuilder, bool showAppBar = true, bool showDrawer = true, bool extendBody = true, bool showEndDrawer = true, bool showFloatingActionButton = true})
Primary tab; shows dock when this pane is active.
const
FxPane.drawer({required String key, required String title, FxPaneBodyBuilder? builder, String? subtitle, FxTileState<IconData>? icon, FxTileIconBuilder? iconBuilder, FxTileTapWithContext<FxPane>? onPressed, FxTileBuilder<FxTile>? tileBuilder, bool showDock = true, bool showAppBar = true, bool showDrawer = true, bool extendBody = true, bool showEndDrawer = true, bool showFloatingActionButton = false})
Start drawer menu item.
const
FxPane.endDrawer({required String key, required String title, FxPaneBodyBuilder? builder, String? subtitle, FxTileState<IconData>? icon, FxTileIconBuilder? iconBuilder, FxTileTapWithContext<FxPane>? onPressed, FxTileBuilder<FxTile>? tileBuilder, bool showDock = true, bool showAppBar = true, bool showDrawer = true, bool extendBody = true, bool showEndDrawer = true, FxTileTrailingBuilder? trailingBuilder, bool showFloatingActionButton = false})
End drawer menu item.
const
FxPane.spacer()
Vertical gap; site must match the list you pass into FxShell.
FxPane.stickyBottom({required String key, required String title, FxPaneBodyBuilder? builder, String? subtitle, FxTileState<IconData>? icon, FxTileIconBuilder? iconBuilder, FxTileTapWithContext<FxPane>? onPressed, FxTileBuilder<FxTile>? tileBuilder, bool showAppBar = true, bool showDrawer = true, bool extendBody = true, bool showEndDrawer = true, FxTileTrailingBuilder? trailingBuilder, bool showFloatingActionButton = false, bool isEndDrawer = false})
Pinned above drawer footer; does not scroll.
const

Properties

builder → FxPaneBodyBuilder?
final
dividerStyle → FxPaneDividerStyle?
Non-null when type == FxPaneType.divider.
final
extendBody → bool
final
hashCode → int
The hash code for this object.
no setterinherited
hasIcon → bool
True if the pane has an icon.
no setteroverride
hasTrailing → bool
True if the tile has a trailing builder.
no setterinherited
icon → FxTileState<IconData>?
final
iconBuilder → FxTileIconBuilder?
finalinherited
isChromeOnly → bool
True if the pane is a chrome only pane. meaning it does not contribute to the body or history.
no setter
isExpanded → bool
finalinherited
isNavigable → bool
Contributes to body / history (resolved via mergeRegistry when needed).
no setter
key → String
finalinherited
onPressed → FxTileTapWithContext<FxPane>?
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
showAppBar → bool
final
showDock → bool
final
showDrawer → bool
final
showEndDrawer → bool
final
showFloatingActionButton → bool
final
site → FxSite
final
subtitle → String?
finalinherited
tileBuilder → FxTileBuilder<FxTile>?
finalinherited
title → String
finalinherited
trailingBuilder → FxTileTrailingBuilder?
finalinherited
type → FxPaneType
final

Methods

buildDividerWidget() → Widget
buildIcon(bool isActive, double? size, Color? color) → Widget?
Builds the icon for the tile. @param isActive - True if the tile is active. @param size - The size of the icon. @param color - The color of the icon. @return The icon widget.
override
buildSpacerWidget() → Widget
copyWith({bool? showDock, bool? showAppBar, bool? showDrawer, bool? extendBody, bool? showEndDrawer, bool? showFloatingActionButton, FxPaneDividerStyle? dividerStyle, FxTileBuilder<FxTile>? tileBuilder, FxTileTrailingBuilder? trailingBuilder, FxTileIconBuilder? iconBuilder}) → FxPane
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

mergeRegistry({required List<FxPane> dockPanes, List<FxPane> drawerPanes = const [], List<FxPane> endDrawerPanes = const []}) → Map<String, FxPane>
Body registry keyed by key (navigable panes with a builder).
validateForSite(List<FxPane> panes, FxSite expected) → void