AdaptiveWorkbench constructor
const
AdaptiveWorkbench({
- Key? key,
- required Widget canvas,
- required Widget library,
- required String libraryTitle,
- required Widget inspector,
- required String inspectorTitle,
- Widget? header,
- String? libraryDescription,
- Widget? libraryLeading,
- String? inspectorDescription,
- Widget? inspectorLeading,
- String modalLibraryLabel = 'Open library',
- Widget modalLibraryIcon = const Icon(Icons.inventory_2_outlined),
- String modalInspectorLabel = 'Open inspector',
- Widget modalInspectorIcon = const Icon(Icons.tune_outlined),
- AdaptiveSize libraryDockedAt = AdaptiveSize.medium,
- AdaptiveSize inspectorDockedAt = AdaptiveSize.expanded,
- AdaptiveHeight minimumLibraryDockedHeight = AdaptiveHeight.compact,
- AdaptiveHeight minimumInspectorDockedHeight = AdaptiveHeight.medium,
- bool useContainerConstraints = true,
- bool considerOrientation = false,
- double spacing = 16,
- int libraryFlex = 2,
- int canvasFlex = 4,
- int inspectorFlex = 2,
- EdgeInsetsGeometry canvasPadding = const EdgeInsets.all(16),
- EdgeInsetsGeometry libraryPadding = const EdgeInsets.all(16),
- EdgeInsetsGeometry inspectorPadding = 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 workbench.
Implementation
const AdaptiveWorkbench({
super.key,
required this.canvas,
required this.library,
required this.libraryTitle,
required this.inspector,
required this.inspectorTitle,
this.header,
this.libraryDescription,
this.libraryLeading,
this.inspectorDescription,
this.inspectorLeading,
this.modalLibraryLabel = 'Open library',
this.modalLibraryIcon = const Icon(Icons.inventory_2_outlined),
this.modalInspectorLabel = 'Open inspector',
this.modalInspectorIcon = const Icon(Icons.tune_outlined),
this.libraryDockedAt = AdaptiveSize.medium,
this.inspectorDockedAt = AdaptiveSize.expanded,
this.minimumLibraryDockedHeight = AdaptiveHeight.compact,
this.minimumInspectorDockedHeight = AdaptiveHeight.medium,
this.useContainerConstraints = true,
this.considerOrientation = false,
this.spacing = 16,
this.libraryFlex = 2,
this.canvasFlex = 4,
this.inspectorFlex = 2,
this.canvasPadding = const EdgeInsets.all(16),
this.libraryPadding = const EdgeInsets.all(16),
this.inspectorPadding = const EdgeInsets.all(16),
this.modalHeightFactor = 0.72,
this.showModalDragHandle = true,
this.animateSize = true,
this.animationDuration = const Duration(milliseconds: 250),
this.animationCurve = Curves.easeInOutCubic,
}) : assert(spacing >= 0, 'spacing must be zero or greater.'),
assert(libraryFlex > 0, 'libraryFlex must be greater than zero.'),
assert(canvasFlex > 0, 'canvasFlex must be greater than zero.'),
assert(inspectorFlex > 0, 'inspectorFlex must be greater than zero.'),
assert(
modalHeightFactor > 0 && modalHeightFactor <= 1,
'modalHeightFactor must be between 0 and 1.',
);