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