ThemeModifier class final
A content modifier that applies theme data to a content subtree.
Features:
- Theme mode specification
- Integration with ThemeService
- Subtree theme overrides
- Fallback handling
Example:
// Apply light theme to content
final content = Card(
title: 'My Card',
modifiers: [
ContentModifier(
configuration: ThemeModifier(mode: ThemeMode.light),
),
],
);
// Apply dark theme to content
final content = Group(
items: [myCard, myDivider],
modifiers: [
ContentModifier(
configuration: ThemeModifier(mode: ThemeMode.dark),
),
],
);
The modifier:
- Gets theme data from ThemeService
- Wraps content in a Theme widget
- Falls back to original content if no theme data
- Affects all descendants of the modified content
- Inheritance
-
- Object
- ContentModifierConfiguration
- ThemeModifier
- Annotations
-
- @JsonSerializable()
Constructors
- ThemeModifier.new({ThemeMode mode = ThemeMode.light})
-
ThemeModifier.fromJson(Map<
String, dynamic> json) -
factory
Properties
- hashCode → int
-
The hash code for this object.
no setterinherited
- mode → ThemeMode
-
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- schemaType → String
-
The schema type of the content item.
finalinherited
Methods
-
build(
BuildContext context, Widget child, ContentItem content) → Widget -
Builds the modifier widget tree for the given content item.
override
-
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 Properties
-
typeDescriptor
→ TypeDescriptor<
ThemeModifier> -
final
Constants
- schemaName → const String