werkbank library

Werkbank;

Classes

AcceptableReport
AccessibilityAddon Configuring Addons
AccessibilityManager
AcknowledgedAddon Configuring Addons
This addon just displays the acknowledged state of the app. The state itself is managed by the Werkbank.
AcknowledgedController
AcknowledgedControllerImpl
AcknowledgedDescriptorEntry
AcknowledgedDescriptors
AcknowledgedTracker
Addon Writing Your Own Addons Custom Addons
AddonAccessor
A class that provides access to data in the BuildContext that is available from every place where the Addon API gives access to a BuildContext.
AddonConfig Getting Started File Structure Configuring Addons
A class that defines which addons are used. This needs to be passed to a WerkbankApp or DisplayApp. If you are using both, make sure to pass the same AddonConfig in order to ensure consistent behavior.
AddonConfigProvider
AddonControlSection
AddonControlSectionAccessor
A class that provides access to data in the BuildContext that is available from within the widgets built by the AddonControlSection.children of any subclass of AddonControlSection.
AddonDescription
AddonDescriptionAccessor
AddonLayerAccessor
A class that provides access to data in the BuildContext that is available from within the widgets built by the AddonLayerEntry.builder of any layer.
AddonLayerBuilder
AddonLayerEntries Writing Your Own Addons
AddonLayerEntry
AddonSpecification
An AddonSpecification is a simplified representation of an Addon that is available to other addons. It can be used in an Addon to make conditional decisions based on the availability of other addons, but not on their actual implementation.
AddonSpecificationsProvider
AffiliationTransitionLayerEntry
AffiliationTransitionLayerEntryAccessor
AnimationControllerKnob
AnimationControllerKnobSnapshot
AppConfig Getting Started File Structure Customizing the AppConfig
A class that defines how to build the app widget, which is typically one of MaterialApp, CupertinoApp, or WidgetsApp.
ApplicationOverlayLayerEntry
ApplicationOverlayLayerEntryAccessor
BackgroundAddon Configuring Addons Backgrounds
BackgroundManager
BackgroundOption Backgrounds
A selectable background option for uses cases, which can be added to the BackgroundAddon.
BorderBehavior
BuildableKnob<T>
A knob that can build a widget to control its value.
BuildableWritableKnob<T>
A base implementation of BuildableKnob that implements WritableKnob and manages the value of the knob.
ChildDescriptor
ColorPickerAddon Configuring Addons
ComponentDescriptor
ConfigureControlSection
ConfigureControlSectionAccessor
ConstraintsAddon Configuring Addons Constraints Overview
ControlSection
CustomBackgroundOption
DebuggingAddon Configuring Addons
DebugWerkbankFilter Search for Use Cases
DebugWerkbankFilterDisabled
DebugWerkbankFilterDisplayAllResults
DebugWerkbankFilterDisplayMatches
DebugWerkbankFilterDisplayOnly
DefaultBackgroundOption
DefinedKnobPreset
DefinedViewConstraintsPreset
DescriptionAddon Configuring Addons
This addon provides the ability to add a description, urls and tags to a node and displays them in the configuration panel.
DescriptionEntry<T extends WerkbankNode>
DescriptionPriority
Descriptions
Descriptor
DescriptorNavState
DisplayApp Display Testing with Use Cases
A widget that sets up the app for displaying use cases without the UI of a WerkbankApp. Usually one or more UseCaseDisplay widgets as descendants to display the use cases. Alternatively, the convenience constructor DisplayApp.singleUseCase can be used to display a single use case.
DraggableBorders
FocusNodeKnob
FocusNodeKnobSnapshot
FolderDescriptor
FullAccessNotificationsController
FullLayerEntryId
FuzzySearchData
FuzzySearchEntry Search for Use Cases
GlobalCallbackShortcuts Werkbank Components
Historiographer
HistoryController
HistoryControllerImpl
HomeNavState
HomePageComponent
HomePageComponentAccessor
HotReloadEffectAddon Configuring Addons
HotReloadEffectManager
InitialKnobPreset
InitialViewConstraintsPreset
InputParseError<T>
A parsing error result containing an error message.
InputParseResult<T>
The result of parsing an input String using an InputParser.
InputParseSuccess<T>
A successful parsing result containing the parsed value of type T.
InspectControlSection
InspectControlSectionAccessor
KeyOrText
Knob<T>
A knob to control a value in a use case.
KnobPreset
KnobsAddon Configuring Addons Knobs
KnobSnapshot
The base class for an immutable snapshot of the value of a Knob. Since knobs in a use case may completely change after a hot reload, all Knobs are recreated on every execution of the UseCaseBuilder. To keep the state of a knob, their value is saved to a KnobSnapshot with BuildableKnob.createSnapshot and an attempt is made to restore it using BuildableKnob.tryLoadSnapshot.
LayoutInfo
LocalizationAddon Configuring Addons
LocalizationManager
MainViewOverlayLayerEntry
MainViewOverlayLayerEntryAccessor
ManagementLayerEntry
ManagementLayerEntryAccessor
MappingValueListenableBuilder<T, R> Werkbank Components
NamedBackgroundOption
NamedCurve
NamedDouble
NamedDuration
NamedInterval
NewContentReport
NoneDraggableBorders
NotificationController
NotificationsController
NotificationSubscription
NullableKnob<T extends Object>
NullableKnobSnapshot
OrderingAddon Configuring Addons
An Addon that enables control over the ordering of the WerkbankNode tree structure in the navigation panel.
OverviewNavState
OverviewSettings Overview
PageTransitionAddon Configuring Addons
An Addon that enables control over page transitions
PageTransitionEnablerManager
PanelController
PanelControllerProvider
PanelLayoutHandler
Sizes the panels and decides, if the panels need to be shrunk. Tells the PanelController to do so.
PanelTabsController
PanelTabsPersistentData
ParentDescriptor<T extends ChildDescriptor>
ParentOverviewNavState
PermanentReport
PersistenceInitializing
PersistenceReady
PersistentController
RecentHistoryAddon Configuring Addons
This addon just displays the history of the app. The state itself is managed by the Werkbank.
RegularKnob<T>
RegularKnobSnapshot
RenderLayoutReference
RenderSScaledBox
RenderTwoColsLayout
Report
ReportAddon Configuring Addons
RetainedUseCaseStateEntry<T extends RetainedUseCaseStateEntry<T>>
A state entry keeps state for a use case for its whole lifetime. Unlike TransientUseCaseStateEntrys, RetainedUseCaseStateEntrys are not recreated when the use case is recomposed, for example due to a hot reload.
RootDescriptor
SearchCluster Search for Use Cases
SearchClusterFoundation
SearchEntry Search for Use Cases
SearchQueryController
SearchQueryPersistentData
SelectableViewConstraintsPreset
SettingsControlSection
SettingsControlSectionAccessor
ShortcutsSection
SortHint
StateKeepingAddon Configuring Addons Keeping State
TabSectionData
ThemeOption
ThemingAddon Configuring Addons
ThemingManager
TickerProviderProvider
TransientUseCaseStateEntry<T extends TransientUseCaseStateEntry<T, S>, S extends TransientUseCaseStateSnapshot>
A class that contains state for the use case that is not retained between hot reloads.
TransientUseCaseStateSnapshot
TwoColsLayoutParentData
UseCase
UseCaseComposer Writing Use Cases
A class of which an instance is passed to a UseCaseBuilder, allowing use cases to do all kinds of useful things with it.
UseCaseComposition Display
A class that holds the result of composing a use cases using a UseCaseComposer. An instance can be use to control the state of the use case as well as get the metadata of the use case.
UseCaseDescriptor
UseCaseDisplay Display Testing with Use Cases
UseCaseFittedLayerEntry
UseCaseFittedLayerEntryAccessor
UseCaseLayerEntry
UseCaseLayerEntryAccessor
UseCaseLayoutLayerEntry
UseCaseLayoutLayerEntryAccessor
UseCaseMetadata
The metadata of a use case.
UseCaseMetadataEntry<T extends UseCaseMetadataEntry<T>>
A superclass for all metadata entries that can be dynamically added to a use case. This can be used to store additional information which can be read by addons or other methods inside the use case builder.
UseCaseNavState
UseCaseOverlayLayerEntry
UseCaseOverlayLayerEntryAccessor
UseCaseOverviewConfig
UseCaseOverviewEntry
UseCaseOverviewNavState
UseCaseSnapshot
An immutable snapshot of the TransientUseCaseStateEntrys of a use case. This can be obtained using UseCaseComposition.saveSnapshot and restored using UseCaseComposition.loadSnapshot.
UseCaseViewportTransform
An inherited widget that allows to provide a transform which is applied to the viewport of a use case.
ValueContainer<T extends Object> Keeping State
ViewConstraints
ViewConstraintsPreset
ViewerAddon Configuring Addons
ViewUseCaseNavState
WAnimatedVisibility Werkbank Components
WasAliveController
WasAlivePersistentData
WasAliveTracker
WAutoChangePageIndicator
WBorderedBox Werkbank Components
WButtonBase Werkbank Components
WCheckerboardBackground Werkbank Components
WChip Werkbank Components
WCollapsibleHeight Werkbank Components
WControlItem Werkbank Components
WControlSectionList Werkbank Components
WDelayedReveal Werkbank Components
WDivider Werkbank Components
WDraggableConstrainedBox
WDropdown<T> Werkbank Components
A dropdown button with a custom design.
WDropdownMenuItem<T>
A dropdown menu item for WDropdown. It is used to create a dropdown menu item with a custom design.
WerkbankApp Welcome Getting Started
The main entry point for a Werkbank.
WerkbankAppInfo
WerkbankChildNode
A WerkbankNode which is a child of a WerkbankParentNode.
WerkbankColorScheme
WerkbankComponent Getting Started File Structure Structure
A WerkbankNode that defines a collection of WerkbankUseCases. This is typically used when there are multiple use cases for a single component, such as a button or a switch.
WerkbankFolder Getting Started Structure
A WerkbankNode that defines a collection of WerkbankNodes.
WerkbankHistory
WerkbankHistoryEntry
WerkbankIcons
Identifiers for the icons.
The Werkbank logo as a widget.
WerkbankNode Structure
A node in the Werkbank tree.
WerkbankNotification
WerkbankNotifications
WerkbankNotificationsDisplay
WerkbankPalette
WerkbankParentNode<T extends WerkbankChildNode>
A superclass for WerkbankNodes which can have children.
WerkbankPersistence
WerkbankPersistencePhase
WerkbankRoot Getting Started Structure
A WerkbankNode that defines a collection of WerkbankChildNodes.
WerkbankRouter
A Proxy Router for the WerkbankApp since we don't want to expose GoRouter
WerkbankSettings
WerkbankTextTheme
WerkbankTheme
WerkbankThemeAddon Configuring Addons
WerkbankUseCase Getting Started File Structure Writing Use Cases Structure
A WerkbankNode that defines a single use case.
WExpandedIndicator Werkbank Components
WFieldBox Werkbank Components
WHotReloadEffect Werkbank Components
WIconButton Werkbank Components
WKeyboardButton Werkbank Components
WLayoutChangedNotifier Werkbank Components
A widget which notifies calls a given onLayoutChanged callback when its size or relative transform changes. The transform is relative to the linked WLayoutReference widget or the PipelineOwner.rootNode if link is null.
WLayoutReference Werkbank Components
WMarkdown Werkbank Components
WNotification Werkbank Components
WNotificationInAndOut Werkbank Components
WOutlineBox Werkbank Components
WOverviewTile Werkbank Components
WPathDisplay Werkbank Components
WPathText Werkbank Components
WProjectInfoArea Werkbank Components
WrappingAddon Configuring Addons
An addon that allows use cases to wrap widgets around the WidgetBuilder returned by a UseCaseBuilder.
WResizablePanels Werkbank Components
WritableKnob<T>
WScaledBox Werkbank Components
WShortcut Werkbank Components
WSlider Werkbank Components
WSwitch Werkbank Components
WTab
WTabView Werkbank Components
WTempDisabler Werkbank Components
This is a temporary workaround for easily adding a disabled state to an input widget. This should be removed, once proper disabled states have been implemented.
WTextArea Werkbank Components
WTextField Werkbank Components
WTitled Werkbank Components
WTrailingButton Werkbank Components
WTreeItem Werkbank Components
WTreeNode
WTreeView Werkbank Components
WTwoColsLayout Werkbank Components
This widget is comparable to flutter_staggered_grid_view -> sliver_masonry_grid but it is not lazy and not using slivers.

Enums

AddonLayer
The AddonLayer describes where in the widget tree the AddonLayerEntry.builder is inserted.
ControlItemLayout
DescriptionMergeStrategy
Defines how a new description should be merged with an existing one.
NotificationStatus
OrderOption
PanelTab
SemanticsInspectionScope
SemanticsMode
UseCaseEnvironment
An enum that describes in which environment the use case is displayed within a WerkbankApp.
WerkbankEnvironment
An enum that describes in which environment everything is built.
WrappingLayer
An enum that defines where in the use case the wrapping should be applied.

Mixins

MaybeWerkbankAppAccessor
A mixin that provides access to data in the BuildContext that is available if they are built inside a WerkbankApp. The methods in this mixin will return null if the widget is not built inside a WerkbankApp but for example in a UseCaseDisplay.
PanelCalcMixin
SingleAttachmentMixin<T extends Object>
A mixin that allows to attach a single entity of type T to the class.
UseCaseAccessor
A mixin that provides access to data in the BuildContext that is available from every place where there is a specific use case in the BuildContext.
ValueGuardingKnobMixin<T>
A mixin that guards the value of a knob to only be accessed after the use case has finished composing.
ValueGuardingWritableKnobMixin<T>
A mixin that guards the value of a writable knob to only be set after the use case has finished composing.
WerkbankAppOnlyAccessor
A mixin that provides access to data in the BuildContext that is available inside a WerkbankApp.

Extension Types

AccessibilityComposition
BackgroundComposer
A composer for setting the default background of a use case.
ConstraintsComposition
ImmutableStateId Keeping State
KnobId
A unique identifier for a knob.
KnobsComposer
KnobsComposition
MutableStateId Keeping State
NullableKnobsComposer
OverviewComposer Overview
An extension type with methods to control the presentation of use cases when they are displayed as a thumbnail in the overview.
StatesComposer Keeping State
StatesComposition Keeping State
ViewConstraintsComposer

Extensions

AccessibilityCompositionExtension on UseCaseComposition
AnimationControllerKnobsExtension on KnobsComposer Knobs
BackgroundComposerExtension on UseCaseComposer
BackgroundMetadataExtension on UseCaseMetadata
BooleanKnobExtension on KnobsComposer Knobs
CommonStatesComposerExtension on StatesComposer Keeping State
This extension provides some convenience methods for common state types.
ConstraintsCompositionExtension on UseCaseComposition
CurvedIntervalKnobExtension on KnobsComposer Knobs
CurveKnobExtension on KnobsComposer Knobs
CustomDropdownKnobExtension on KnobsComposer Knobs
CustomFieldKnobExtension on KnobsComposer Knobs
CustomSliderKnobExtension on KnobsComposer Knobs
CustomSwitchKnobExtension on KnobsComposer Knobs
DateKnobExtension on KnobsComposer Knobs
DescriptionComposerExtension on UseCaseComposer
DescriptionMetadataExtension on UseCaseMetadata
DevicePresetComposerExtension on ViewConstraintsComposer
DoubleKnobExtension on KnobsComposer Knobs
FocusNodeKnobsExtension on KnobsComposer Knobs
IntervalKnobExtension on KnobsComposer Knobs
IntKnobExtension on KnobsComposer Knobs
KnobExtension on Knob<T>
KnobPresetsMetadataExtension on UseCaseMetadata
KnobsComposerExtension on UseCaseComposer
KnobsCompositionExtension on UseCaseComposition
ListExtension on List<T>
MillisKnobExtension on KnobsComposer Knobs
NullableBooleanKnobExtension on NullableKnobsComposer Knobs
NullableCustomDropdownKnobExtension on NullableKnobsComposer Knobs
NullableCustomFieldKnobExtension on NullableKnobsComposer Knobs
NullableCustomSliderKnobExtension on NullableKnobsComposer Knobs
NullableCustomSwitchKnobExtension on NullableKnobsComposer Knobs
NullableDateKnobExtension on NullableKnobsComposer Knobs
NullableDoubleKnobExtension on NullableKnobsComposer Knobs
NullableIntKnobExtension on NullableKnobsComposer Knobs
NullableKnobsExtension on KnobsComposer
NullableMillisKnobExtension on NullableKnobsComposer Knobs
NullableStringKnobExtension on NullableKnobsComposer Knobs
OverviewComposerExtension on UseCaseComposer
An extension on the UseCaseComposer which provides an overview getter to access an OverviewComposer with several methods to control the presentation of use cases when they are displayed as a thumbnail in the overview.
OverviewSettingsMetadataExtension on UseCaseMetadata
PlatformContextExtension on BuildContext
RegularKnobsExtension on KnobsComposer
SearchMetadataExtension on UseCaseMetadata
StatesComposerExtension on UseCaseComposer
StatesCompositionExtension on UseCaseComposition
StringKnobExtension on KnobsComposer Knobs
SupportedSizesComposerExtension on ViewConstraintsComposer Overview
SupportedSizesMetadataExtension on UseCaseMetadata
TagsComposerExtension on UseCaseComposer
TagsMetadataExtension on UseCaseMetadata
UrlsComposerExtension on UseCaseComposer
UrlsMetadataExtension on UseCaseMetadata
UseCaseComposerSearchExtension on UseCaseComposer
ValueNotifierExtension on ValueNotifier<T>
ViewConstraintsComposerExtension on UseCaseComposer
ViewConstraintsExtension on ViewConstraintsComposer
ViewConstraintsMetadataExtension on UseCaseMetadata
WerkbankThemeExtension on BuildContext
WrappingComposerExtension on UseCaseComposer

Functions

colorsUseCaseBuilder({required void builder(UseCaseComposer c), required Map<String, Color> colors(BuildContext context), double initialSize = 100, bool addTagsAndDescription = true, Color? surfaceColor, Color? onSurfaceColor}) UseCaseBuilder
getThemeData(BuildContext context, WerkbankTheme werkbankTheme) ThemeData
iconsUseCaseBuilder({required void builder(UseCaseComposer c), required Map<String, IconData> icons(BuildContext context), double initialSize = 48, bool addTagsAndDescription = true, Color? surfaceColor, Color? onSurfaceColor}) UseCaseBuilder
mergeOrderings<T>({required List<T> primary, required List<T> secondary}) List<T>
Creates an ordering of the union of the elements in primary and secondary, such that the elements in primary are kept in the same order (possibly with elements from secondary interspersed) and such that the number of inversion with respect to secondary is minimized.
textStylesUseCaseBuilder({required void builder(UseCaseComposer c), required Map<String, TextStyle> styles(BuildContext context), String? initialText, bool textInitiallyNull = true, bool addTagsAndDescription = true, Color? surfaceColor, Color? onSurfaceColor}) UseCaseBuilder
updateDebugWerkbankFilter(DebugWerkbankFilter value) → void

Typedefs

AddonLayerWidgetBuilder = Widget Function(BuildContext context, Widget child)
AddonShortcutsInfoMap = Map<Set<KeyOrText>, ShortcutInfo>
AnyRetainedUseCaseStateEntry = _Self<RetainedUseCaseStateEntry<Object?>>
A typedef for any RetainedUseCaseStateEntry regardless of its generic type.
AnyTransientUseCaseStateEntry = _Self<TransientUseCaseStateEntry<Object?, TransientUseCaseStateSnapshot>>
A typedef for any TransientUseCaseStateEntry regardless of its generic types.
AppBuilder = Widget Function(BuildContext context, TransitionBuilder builder, Widget home)
ControllerMapFactory = Map<Type, PersistentController> Function(SharedPreferencesWithCache prefsWithCache)
ControlSectionId = String
DoubleDecoder<T> = T Function(double d)
DoubleEncoder<T> = double Function(T value)
DoubleFormatter = ValueFormatter<double>
InputParser<T> = InputParseResult<T> Function(String input)
A function that parses a String into an InputParseResult. This is either a InputParseSuccess with a value of type T or an InputParseError with an error message.
IntFormatter = ValueFormatter<int>
NullableKnobBuilder<T extends Object> = Widget Function(BuildContext context, bool enabled, ValueNotifier<T> valueNotifier)
PersistencePhaseWidgetBuilder = Widget Function(BuildContext context, WerkbankPersistencePhase phase)
RegularKnobBuilder<T> = Widget Function(BuildContext context, ValueNotifier<T> valueNotifier)
ShortcutInfo = String
ThemeBrightnessBuilder = Brightness Function(BuildContext context)
ThemedWidgetBuilder = Widget Function(BuildContext context, ThemeData theme)
ToggleVisibilityCallback = void Function(int index)
UseCaseBuilder = WidgetBuilder Function(UseCaseComposer c) Getting Started File Structure IDE Integration Writing Use Cases Structure
A builder function for a use case.
UseCaseParentBuilder = void Function(UseCaseComposer c) Getting Started File Structure Writing Use Cases Structure
A function too manipulate the UseCaseComposer like it would be done at the beginning of a UseCaseBuilder definition.
UseCaseStateMutation = void Function(UseCaseComposition controller)
A function that mutates the state of a use case using the provided UseCaseComposition.
ValueFormatter<T> = String Function(T value)
WidgetLayoutBuilder = Widget Function(BuildContext context, double leftPanelWidth, double rightPanelWidth)
WrapperBuilder = Widget Function(BuildContext context, Widget child)
A builder function that wraps a child with another widget.