Update constructor APIs TooltipTheme, ToggleButtonsTheme, PopupMenuTheme #37338
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The constructor signatures for TooltipTheme, ToggleButtonsTheme, PopupMenuTheme have been incompatibly changed. They require just one theme
data
parameter.For example the
TooltipTheme
constructor was defined like this:It's now defined like this:
Not having a theme data parameter makes it difficult to override an inherited theme’s configuration. For example to override the inherited PopupMenuTheme one would have to write:
This is tedious, error prone, and likely to rot when TooltipThemeData is extended. It's also inconsistent with
Theme
andThemeData
. Better to just have a TooltipThemeData valued data constructor parameter, since copyWith can be applied to ToolTipThemeData.These APIs were added just last week: PopupMenuTheme #36088 TooltipTheme #36030 ToggleButtonsTheme #34599
Code that had already adopted the new APIs can easily be updated as shown in the example above.