ThemeGetter enum

ThemeGetter

Generate getters on ThemeData or BuildContext for alternative access to theme properties.

ThemeGetter.none

No extension on ThemeData nor BuildContext will be generated,

final background = Theme.of(context).extension<MyTheme>()!.background;

ThemeGetter.onThemeData

Add extension on ThemeData with one getter to the generated ThemeExtension

final background = Theme.of(context).myTheme.background;

ThemeGetter.onThemeDataProps

Add extension on ThemeData with getters to the properties of the generated theme class.

final background = Theme.of(context).background;

ThemeGetter.onBuildContext

Add extension on BuildContext with one getter to the generated ThemeExtension

final background = context.myTheme.background;

ThemeGetter.onBuildContextProps

Add extension on BuildContext with getters to the properties of the generated theme class.

final background = context.background;
Inheritance
Annotations
  • @JsonEnum(fieldRename: FieldRename.snake)

Constructors

ThemeGetter()
const

Values

none → const ThemeGetter

No extension on ThemeData nor BuildContext will be generated,

final background = Theme.of(context).extension<MyTheme>()!.background;
onThemeData → const ThemeGetter

Add extension on ThemeData with one getter to the generated ThemeExtension

final background = Theme.of(context).myTheme.background;

Generated extension:

extension MyThemeExtension on ThemeData {
  MyTheme get myTheme => extension<MyTheme>()!;
}
onThemeDataProps → const ThemeGetter

Add extension on ThemeData with getters to the properties of the generated theme class.

final background = Theme.of(context).background;

Generated extension:

extension MyThemeExtension on ThemeData {
  MyTheme get _myTheme => extension<MyTheme>()!;

  /// Theme data may already have property like this!
  Color get bacground => _myTheme.background;
}
onBuildContext → const ThemeGetter

Add extension on BuildContext with one getter to the generated ThemeExtension

final background = context.myTheme.background;

Generated extension:

extension MyThemeExtension on BuildContext {
  MyTheme get myTheme => Theme.of(this).extension<MyTheme>()!;
}
onBuildContextProps → const ThemeGetter

Add extension on BuildContext with getters to the properties of the generated theme class.

final background = context.background;

Generated extension:

extension MyThemeExtension on BuildContext {
  MyTheme get _myTheme => Theme.of(this).extension<MyTheme>()!;

  Color get background => _myTheme.background;
}

Properties

hashCode int
The hash code for this object.
no setterinherited
index int
A numeric identifier for the enumerated value.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

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

Constants

values → const List<ThemeGetter>
A constant List of the values in this enum, in order of their declaration.