OudsInheritedInteractionModel class
A model for sharing interaction states between parent and child widgets in the OUDS (Orange Unified Design System) framework.
This class extends InheritedModel to provide access to the interaction states (hover and pressed) managed by the OudsInteractionStateController.
Usage
To use this model, wrap your widget tree with OudsInheritedInteractionModel
and provide an instance of OudsInteractionStateController. Child widgets can
then access the interaction states using the static of
method.
Example:
OudsInheritedInteractionModel(
state: InteractionStateController(),
child: YourWidget(),
)
Child widgets can access the interaction states as follows:
final interactionModel = OudsInheritedInteractionModel.of(context, InteractionAspect.hover);
if (interactionModel != null) {
// Access the hover state
bool isHovered = interactionModel.state.isHovered;
}
Parameters
state
: An instance of OudsInteractionStateController that holds the current interaction states.child
: The child widget that will have access to the interaction states.
Methods
of(BuildContext context, InteractionAspect aspect)
: A static method to retrieve the nearest OudsInheritedInteractionModel instance in the widget tree for the specified interaction aspect.
Update Notifications
The model will notify its dependents when the interaction states change, allowing for responsive UI updates based on user interactions.
- Inheritance
-
- Object
- DiagnosticableTree
- Widget
- ProxyWidget
- InheritedWidget
- InheritedModel<
InteractionAspect> - OudsInheritedInteractionModel
Constructors
- OudsInheritedInteractionModel.new({Key? key, required OudsInteractionStateController state, required Widget child})
-
const
Properties
- child → Widget
-
The widget below this widget in the tree.
finalinherited
- hashCode → int
-
The hash code for this object.
no setterinherited
- key → Key?
-
Controls how one widget replaces another widget in the tree.
finalinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- state → OudsInteractionStateController
-
final
Methods
-
createElement(
) → InheritedModelElement< InteractionAspect> -
Inflates this configuration to a concrete instance.
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
-
isSupportedAspect(
Object aspect) → bool -
Returns true if this model supports the given
aspect
.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
-
updateShouldNotify(
covariant OudsInheritedInteractionModel oldWidget) → bool -
Whether the framework should notify widgets that inherit from this widget.
override
-
updateShouldNotifyDependent(
covariant OudsInheritedInteractionModel oldWidget, Set< InteractionAspect> aspects) → bool -
Return true if the changes between this model and
oldWidget
match any of thedependencies
.override
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited
Static Methods
-
of(
BuildContext context, InteractionAspect aspect) → OudsInheritedInteractionModel?