AdaptivePlanningDesk<T> class
A staged planning workspace that coordinates a plan list, an active plan focus surface, a risks panel, and a milestones panel from one adaptive model.
- Inheritance
-
- Object
- DiagnosticableTree
- Widget
- StatelessWidget
- AdaptivePlanningDesk
Constructors
-
AdaptivePlanningDesk({Key? key, required List<
T> plans, required Widget itemBuilder(BuildContext context, T plan, bool selected, VoidCallback onTap), required Widget focusBuilder(BuildContext context, T plan), required Widget risksBuilder(BuildContext context, T plan), required Widget milestonesBuilder(BuildContext context, T plan), required String planTitle, required String risksTitle, required String milestonesTitle, Widget? header, Widget? emptyState, String? planDescription, Widget? planLeading, String? risksDescription, Widget? risksLeading, String? milestonesDescription, Widget? milestonesLeading, String modalPlanLabel = 'Open plans', Widget modalPlanIcon = const Icon(Icons.view_list_outlined), String modalRisksLabel = 'Open risks', Widget modalRisksIcon = const Icon(Icons.warning_amber_outlined), String modalMilestonesLabel = 'Open milestones', Widget modalMilestonesIcon = const Icon(Icons.flag_outlined), AdaptiveSize planDockedAt = AdaptiveSize.medium, AdaptiveSize risksDockedAt = AdaptiveSize.expanded, AdaptiveSize milestonesDockedAt = AdaptiveSize.expanded, AdaptiveHeight minimumPlanDockedHeight = AdaptiveHeight.compact, AdaptiveHeight minimumRisksDockedHeight = AdaptiveHeight.medium, AdaptiveHeight minimumMilestonesDockedHeight = AdaptiveHeight.expanded, bool useContainerConstraints = true, bool considerOrientation = false, int? selectedIndex, int initialIndex = 0, ValueChanged<int> ? onSelectedIndexChanged, double spacing = 16, double itemSpacing = 12, int planFlex = 2, int focusFlex = 4, int risksFlex = 2, int focusPaneFlex = 3, int milestonesFlex = 2, EdgeInsetsGeometry planPadding = const EdgeInsets.all(16), EdgeInsetsGeometry focusPadding = const EdgeInsets.all(16), EdgeInsetsGeometry risksPadding = const EdgeInsets.all(16), EdgeInsetsGeometry milestonesPadding = const EdgeInsets.all(16), double modalHeightFactor = 0.72, bool showModalDragHandle = true, bool animateSize = true, Duration animationDuration = const Duration(milliseconds: 250), Curve animationCurve = Curves.easeInOutCubic}) -
Creates an adaptive planning desk.
const
Properties
- animateSize → bool
-
Whether to animate size changes when the mode changes.
final
- animationCurve → Curve
-
Curve used by AnimatedSize and AnimatedSwitcher.
final
- animationDuration → Duration
-
Duration used by AnimatedSize and AnimatedSwitcher.
final
- considerOrientation → bool
-
Whether orientation should influence container-based breakpoint selection.
final
- emptyState → Widget?
-
Optional empty state shown when plans is empty.
final
- focusBuilder → Widget Function(BuildContext context, T plan)
-
Builds the active plan focus surface for the selected plan.
final
- focusFlex → int
-
Flex used by the focus region.
final
- focusPadding → EdgeInsetsGeometry
-
Padding applied inside the focus surface.
final
- focusPaneFlex → int
-
Flex used by the focus surface when milestones are docked below it.
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- header → Widget?
-
Optional header shown above the active focus surface.
final
- initialIndex → int
-
Initial selected plan index for uncontrolled usage.
final
- itemBuilder → Widget Function(BuildContext context, T plan, bool selected, VoidCallback onTap)
-
Builds an individual plan row.
final
- itemSpacing → double
-
Space between adjacent plan rows.
final
- key → Key?
-
Controls how one widget replaces another widget in the tree.
finalinherited
- milestonesBuilder → Widget Function(BuildContext context, T plan)
-
Builds the milestones panel for the selected plan.
final
- milestonesDescription → String?
-
Optional description shown below milestonesTitle.
final
- milestonesDockedAt → AdaptiveSize
-
Semantic size at which the milestones panel should dock inline.
final
- milestonesFlex → int
-
Flex used by the docked milestones region.
final
- milestonesLeading → Widget?
-
Optional leading widget shown beside milestonesTitle.
final
- milestonesPadding → EdgeInsetsGeometry
-
Padding applied inside the milestones surface.
final
- milestonesTitle → String
-
Title shown above the milestones panel.
final
- minimumMilestonesDockedHeight → AdaptiveHeight
-
Minimum height class required before milestones can dock inline.
final
- minimumPlanDockedHeight → AdaptiveHeight
-
Minimum height class required before the plan list can dock inline.
final
- minimumRisksDockedHeight → AdaptiveHeight
-
Minimum height class required before risks can dock inline.
final
- modalHeightFactor → double
-
Height factor used by compact modal sheets.
final
- modalMilestonesIcon → Widget
-
Icon used by the compact milestones trigger.
final
- modalMilestonesLabel → String
-
Label used by the compact milestones trigger.
final
- modalPlanIcon → Widget
-
Icon used by the compact plan-list trigger.
final
- modalPlanLabel → String
-
Label used by the compact plan-list trigger.
final
- modalRisksIcon → Widget
-
Icon used by the compact risks trigger.
final
- modalRisksLabel → String
-
Label used by the compact risks trigger.
final
-
onSelectedIndexChanged
→ ValueChanged<
int> ? -
Called when the selected plan changes.
final
- planDescription → String?
-
Optional description shown below planTitle.
final
- planDockedAt → AdaptiveSize
-
Semantic size at which the plan list should dock inline.
final
- planFlex → int
-
Flex used by the docked plan-list region.
final
- planLeading → Widget?
-
Optional leading widget shown beside planTitle.
final
- planPadding → EdgeInsetsGeometry
-
Padding applied inside the plan list surface.
final
-
plans
→ List<
T> -
Plans shown in the list.
final
- planTitle → String
-
Title shown above the plan list.
final
- risksBuilder → Widget Function(BuildContext context, T plan)
-
Builds the risks panel for the selected plan.
final
- risksDescription → String?
-
Optional description shown below risksTitle.
final
- risksDockedAt → AdaptiveSize
-
Semantic size at which the risks panel should dock inline.
final
- risksFlex → int
-
Flex used by the docked risks region.
final
- risksLeading → Widget?
-
Optional leading widget shown beside risksTitle.
final
- risksPadding → EdgeInsetsGeometry
-
Padding applied inside the risks surface.
final
- risksTitle → String
-
Title shown above the risks panel.
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- selectedIndex → int?
-
Optional controlled selected plan index.
final
- showModalDragHandle → bool
-
Whether to show a drag handle in compact modal sheets.
final
- spacing → double
-
Space between adjacent regions.
final
- useContainerConstraints → bool
-
Whether to derive layout decisions from parent constraints.
final
Methods
-
build(
BuildContext context) → Widget -
Describes the part of the user interface represented by this widget.
override
-
createElement(
) → StatelessElement -
Creates a StatelessElement to manage this widget's location in the tree.
inherited
-
debugDescribeChildren(
) → List< DiagnosticsNode> -
Returns a list of DiagnosticsNode objects describing this node's
children.
inherited
-
debugFillProperties(
DiagnosticPropertiesBuilder properties) → void -
Add additional properties associated with the node.
inherited
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toDiagnosticsNode(
{String? name, DiagnosticsTreeStyle? style}) → DiagnosticsNode -
Returns a debug representation of the object that is used by debugging
tools and by DiagnosticsNode.toStringDeep.
inherited
-
toString(
{DiagnosticLevel minLevel = DiagnosticLevel.info}) → String -
A string representation of this object.
inherited
-
toStringDeep(
{String prefixLineOne = '', String? prefixOtherLines, DiagnosticLevel minLevel = DiagnosticLevel.debug, int wrapWidth = 65}) → String -
Returns a string representation of this node and its descendants.
inherited
-
toStringShallow(
{String joiner = ', ', DiagnosticLevel minLevel = DiagnosticLevel.debug}) → String -
Returns a one-line detailed description of the object.
inherited
-
toStringShort(
) → String -
A short, textual description of this widget.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited