-
Notifications
You must be signed in to change notification settings - Fork 27.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Move toggleable to widget layer #148272
Move toggleable to widget layer #148272
Conversation
/// A mixin for [StatefulWidget]s that implement toggleable | ||
/// controls with toggle animations (e.g. [Switch]es, [Checkbox]es, and | ||
/// [Radio]s). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
please mention cupertino widgets
Co-authored-by: Pierre-Louis <6655696+guidezpl@users.noreply.github.com>
Co-authored-by: Pierre-Louis <6655696+guidezpl@users.noreply.github.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So exciting! 🎉
Re: what new tests to add? This is really great that the existing tests all pass. ✅
I think the only tests we would really need here then would be to verify that ToggleableStateMixin lives in the widgets library.
I would create a test in test/widgets/ that creates concrete classes of these abstract classes we've moved down a layer, like
import 'package:flutter/widgets.dart';
class TestPainter extends ToggleablePainter {}
That way, if the class is moved out of widgets for some reason, this file will be flagged as an analysis failure.
flutter/flutter@d2da1b2...39651e8 2024-05-15 engine-flutter-autoroll@skia.org Roll Flutter Engine from d35a1a603c80 to bf1c6da0dd31 (1 revision) (flutter/flutter#148369) 2024-05-15 engine-flutter-autoroll@skia.org Roll Flutter Engine from 55c62ff82c7e to d35a1a603c80 (4 revisions) (flutter/flutter#148367) 2024-05-15 engine-flutter-autoroll@skia.org Roll Flutter Engine from a1d930a3a84d to 55c62ff82c7e (3 revisions) (flutter/flutter#148365) 2024-05-14 engine-flutter-autoroll@skia.org Roll Flutter Engine from dfb5871260a6 to a1d930a3a84d (2 revisions) (flutter/flutter#148360) 2024-05-14 engine-flutter-autoroll@skia.org Roll Flutter Engine from 1b508a071c96 to dfb5871260a6 (1 revision) (flutter/flutter#148356) 2024-05-14 49699333+dependabot[bot]@users.noreply.github.com Bump codecov/codecov-action from 4.3.1 to 4.4.0 (flutter/flutter#148355) 2024-05-14 32538273+ValentinVignal@users.noreply.github.com Fix memory leaks in `SnackBar` (flutter/flutter#147212) 2024-05-14 32538273+ValentinVignal@users.noreply.github.com Fix memory leaks in open upwards page transition (flutter/flutter#148046) 2024-05-14 47866232+chunhtai@users.noreply.github.com Fixes semantics ordering when there are multiple TextFields with pref� (flutter/flutter#148267) 2024-05-14 engine-flutter-autoroll@skia.org Roll Flutter Engine from ae9ff69a0840 to 1b508a071c96 (2 revisions) (flutter/flutter#148351) 2024-05-14 bruno.leroux@gmail.com Add missing InputDecorator.hintText tests (flutter/flutter#148113) 2024-05-14 katelovett@google.com Fix abi key for local golden file testing (flutter/flutter#148072) 2024-05-14 ybz975218925@gmail.com Maintain the same layout constraints for item in the ReorderableList during dragging as before dragging. (flutter/flutter#147863) 2024-05-14 82763757+NobodyForNothing@users.noreply.github.com test material text field example (flutter/flutter#147864) 2024-05-14 victorsanniay@gmail.com Move toggleable to widget layer (flutter/flutter#148272) 2024-05-14 engine-flutter-autoroll@skia.org Roll Flutter Engine from 08b44d906fab to ae9ff69a0840 (1 revision) (flutter/flutter#148341) 2024-05-14 andrewrkolos@gmail.com add another print trace to runInView (flutter/flutter#148337) 2024-05-14 engine-flutter-autoroll@skia.org Roll Flutter Engine from 7bf865774d06 to 08b44d906fab (4 revisions) (flutter/flutter#148338) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-packages Please CC rmistry@google.com,stuartmorgan@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Packages: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
…r#6738) flutter/flutter@d2da1b2...39651e8 2024-05-15 engine-flutter-autoroll@skia.org Roll Flutter Engine from d35a1a603c80 to bf1c6da0dd31 (1 revision) (flutter/flutter#148369) 2024-05-15 engine-flutter-autoroll@skia.org Roll Flutter Engine from 55c62ff82c7e to d35a1a603c80 (4 revisions) (flutter/flutter#148367) 2024-05-15 engine-flutter-autoroll@skia.org Roll Flutter Engine from a1d930a3a84d to 55c62ff82c7e (3 revisions) (flutter/flutter#148365) 2024-05-14 engine-flutter-autoroll@skia.org Roll Flutter Engine from dfb5871260a6 to a1d930a3a84d (2 revisions) (flutter/flutter#148360) 2024-05-14 engine-flutter-autoroll@skia.org Roll Flutter Engine from 1b508a071c96 to dfb5871260a6 (1 revision) (flutter/flutter#148356) 2024-05-14 49699333+dependabot[bot]@users.noreply.github.com Bump codecov/codecov-action from 4.3.1 to 4.4.0 (flutter/flutter#148355) 2024-05-14 32538273+ValentinVignal@users.noreply.github.com Fix memory leaks in `SnackBar` (flutter/flutter#147212) 2024-05-14 32538273+ValentinVignal@users.noreply.github.com Fix memory leaks in open upwards page transition (flutter/flutter#148046) 2024-05-14 47866232+chunhtai@users.noreply.github.com Fixes semantics ordering when there are multiple TextFields with prefâ�¦ (flutter/flutter#148267) 2024-05-14 engine-flutter-autoroll@skia.org Roll Flutter Engine from ae9ff69a0840 to 1b508a071c96 (2 revisions) (flutter/flutter#148351) 2024-05-14 bruno.leroux@gmail.com Add missing InputDecorator.hintText tests (flutter/flutter#148113) 2024-05-14 katelovett@google.com Fix abi key for local golden file testing (flutter/flutter#148072) 2024-05-14 ybz975218925@gmail.com Maintain the same layout constraints for item in the ReorderableList during dragging as before dragging. (flutter/flutter#147863) 2024-05-14 82763757+NobodyForNothing@users.noreply.github.com test material text field example (flutter/flutter#147864) 2024-05-14 victorsanniay@gmail.com Move toggleable to widget layer (flutter/flutter#148272) 2024-05-14 engine-flutter-autoroll@skia.org Roll Flutter Engine from 08b44d906fab to ae9ff69a0840 (1 revision) (flutter/flutter#148341) 2024-05-14 andrewrkolos@gmail.com add another print trace to runInView (flutter/flutter#148337) 2024-05-14 engine-flutter-autoroll@skia.org Roll Flutter Engine from 7bf865774d06 to 08b44d906fab (4 revisions) (flutter/flutter#148338) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-packages Please CC rmistry@google.com,stuartmorgan@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Packages: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
…r#6738) flutter/flutter@d2da1b2...39651e8 2024-05-15 engine-flutter-autoroll@skia.org Roll Flutter Engine from d35a1a603c80 to bf1c6da0dd31 (1 revision) (flutter/flutter#148369) 2024-05-15 engine-flutter-autoroll@skia.org Roll Flutter Engine from 55c62ff82c7e to d35a1a603c80 (4 revisions) (flutter/flutter#148367) 2024-05-15 engine-flutter-autoroll@skia.org Roll Flutter Engine from a1d930a3a84d to 55c62ff82c7e (3 revisions) (flutter/flutter#148365) 2024-05-14 engine-flutter-autoroll@skia.org Roll Flutter Engine from dfb5871260a6 to a1d930a3a84d (2 revisions) (flutter/flutter#148360) 2024-05-14 engine-flutter-autoroll@skia.org Roll Flutter Engine from 1b508a071c96 to dfb5871260a6 (1 revision) (flutter/flutter#148356) 2024-05-14 49699333+dependabot[bot]@users.noreply.github.com Bump codecov/codecov-action from 4.3.1 to 4.4.0 (flutter/flutter#148355) 2024-05-14 32538273+ValentinVignal@users.noreply.github.com Fix memory leaks in `SnackBar` (flutter/flutter#147212) 2024-05-14 32538273+ValentinVignal@users.noreply.github.com Fix memory leaks in open upwards page transition (flutter/flutter#148046) 2024-05-14 47866232+chunhtai@users.noreply.github.com Fixes semantics ordering when there are multiple TextFields with prefâ�¦ (flutter/flutter#148267) 2024-05-14 engine-flutter-autoroll@skia.org Roll Flutter Engine from ae9ff69a0840 to 1b508a071c96 (2 revisions) (flutter/flutter#148351) 2024-05-14 bruno.leroux@gmail.com Add missing InputDecorator.hintText tests (flutter/flutter#148113) 2024-05-14 katelovett@google.com Fix abi key for local golden file testing (flutter/flutter#148072) 2024-05-14 ybz975218925@gmail.com Maintain the same layout constraints for item in the ReorderableList during dragging as before dragging. (flutter/flutter#147863) 2024-05-14 82763757+NobodyForNothing@users.noreply.github.com test material text field example (flutter/flutter#147864) 2024-05-14 victorsanniay@gmail.com Move toggleable to widget layer (flutter/flutter#148272) 2024-05-14 engine-flutter-autoroll@skia.org Roll Flutter Engine from 08b44d906fab to ae9ff69a0840 (1 revision) (flutter/flutter#148341) 2024-05-14 andrewrkolos@gmail.com add another print trace to runInView (flutter/flutter#148337) 2024-05-14 engine-flutter-autoroll@skia.org Roll Flutter Engine from 7bf865774d06 to 08b44d906fab (4 revisions) (flutter/flutter#148338) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-packages Please CC rmistry@google.com,stuartmorgan@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Packages: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Related to #53059. |
Currently, toggleable exists independently in the material and cupertino libraries. Cupertino's toggleable is a minimal copy of material's, and so it makes sense to have only one toggleable in the widgets layer.
This change makes it easier for cupertino's toggleables (switch, radio, checkbox) to potentially have as many capabilities as material toggleables (for example, resolving in different widget states), thus increasing support for the cupertino library.
Pre-launch Checklist
///
).If you need help, consider asking for advice on the #hackers-new channel on Discord.