Skip to content

TreeSliver & associated classes - #147171

Merged
auto-submit[bot] merged 34 commits into
flutter:masterfrom
Piinks:sliverTree-2
Jun 4, 2024
Merged

auto-submit[bot] merged 34 commits into
flutter:masterfrom
Piinks:sliverTree-2

Conversation

@Piinks

@Piinks Piinks commented Apr 22, 2024 •

Copy link
Copy Markdown
Contributor

FYI for Reviewers: Much of the API surface matches that of the 2D TreeView in flutter/packages#6592. If it changes here, it should change there, and vice versa.

📜 Design Document

This adds classes and associated callbacks and controllers for TreeSliver. Core components:

  • TreeSliver
  • RenderTreeSliver
  • TreeSliverNode
  • TreeSliverController
  • TreeSliverStateMixin
  • TreeSliverIndentationType

Fixes #114299

sliver_0.mov
sliver_1.mov

Pre-launch Checklist

If you need help, consider asking for advice on the #hackers-new channel on Discord.

@Piinks Piinks added c: new feature Nothing broken; request for a new capability framework flutter/packages/flutter repository. See also f: labels. f: scrolling Viewports, list views, slivers, etc. labels Apr 22, 2024
@github-actions github-actions Bot added d: api docs Issues with https://api.flutter.dev/ d: examples Sample code and demos labels Apr 22, 2024
@Piinks Piinks changed the title Sliver tree 2 SliverTree Apr 22, 2024
@github-actions github-actions Bot added the p: material_ui material_ui package in flutter/packages label Apr 22, 2024
Comment thread packages/flutter/lib/src/widgets/sliver_tree.dart Outdated
Comment thread examples/api/lib/widgets/sliver/sliver_tree.0.dart Outdated
Comment thread packages/flutter/lib/src/material/sliver_tree.dart Outdated
@Piinks

Piinks commented Apr 22, 2024

Copy link
Copy Markdown
Contributor Author

For tomorrow:

@github-actions github-actions Bot removed the p: material_ui material_ui package in flutter/packages label Apr 23, 2024
@Piinks Piinks changed the title SliverTree SliverTreeList Apr 23, 2024
@Piinks
Piinks marked this pull request as ready for review April 24, 2024 22:36
Comment thread packages/flutter/lib/src/widgets/sliver_tree.dart Outdated
Comment thread packages/flutter/lib/src/widgets/sliver_tree.dart Outdated

@bleroux bleroux left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM for the examples!

Spotted minor typos in the non-examples files.

Comment thread packages/flutter/lib/src/widgets/sliver_tree.dart Outdated
Comment thread packages/flutter/lib/src/rendering/sliver_multi_box_adaptor.dart Outdated
Comment thread packages/flutter/lib/src/widgets/sliver_tree.dart Outdated
Comment thread examples/api/lib/widgets/sliver/sliver_tree.0.dart Outdated
Comment thread examples/api/lib/widgets/sliver/sliver_tree.0.dart Outdated
Comment thread examples/api/lib/widgets/sliver/sliver_tree.1.dart Outdated
Comment thread examples/api/test/widgets/sliver/sliver_tree.0_test.dart Outdated
Comment thread examples/api/test/widgets/sliver/sliver_tree.1_test.dart Outdated
Comment thread examples/api/test/widgets/sliver/sliver_tree.1_test.dart Outdated
Comment thread examples/api/test/widgets/sliver/sliver_tree.0_test.dart Outdated
@auto-submit
auto-submit Bot merged commit b50eb97 into flutter:master Jun 4, 2024
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Jun 4, 2024
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Jun 5, 2024
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Jun 5, 2024
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Jun 5, 2024
@QuncCccccc QuncCccccc added the revert Autorevert PR (with "Reason for revert:" comment) label Jun 5, 2024
@auto-submit

auto-submit Bot commented Jun 5, 2024

Copy link
Copy Markdown
Contributor

A reason for requesting a revert of flutter/flutter/147171 could
not be found or the reason was not properly formatted. Begin a comment with 'Reason for revert:' to tell the bot why
this issue is being reverted.

@auto-submit auto-submit Bot removed the revert Autorevert PR (with "Reason for revert:" comment) label Jun 5, 2024
@QuncCccccc

Copy link
Copy Markdown
Contributor

Reason for revert: tree is red due to a test in this PR

@QuncCccccc QuncCccccc added the revert Autorevert PR (with "Reason for revert:" comment) label Jun 5, 2024
auto-submit Bot pushed a commit that referenced this pull request Jun 5, 2024
@auto-submit auto-submit Bot removed the revert Autorevert PR (with "Reason for revert:" comment) label Jun 5, 2024
auto-submit Bot added a commit that referenced this pull request Jun 5, 2024
Reverts: #147171
Initiated by: QuncCccccc
Reason for reverting: tree is red due to a test in this PR
Original PR Author: Piinks

Reviewed By: {QuncCccccc, TahaTesser, bleroux}

This change reverts the following previous change:
**FYI for Reviewers:** Much of the API surface matches that of the 2D TreeView in flutter/packages#6592. If it changes here, it should change there, and vice versa.

📜  [Design Document](https://docs.google.com/document/d/1-aFI7VjkF9yMkWpP94J8T_JREDS-M3bOak26PVehUYg/edit?usp=sharing)

This adds classes and associated callbacks and controllers for TreeSliver. Core components:
- TreeSliver
- RenderTreeSliver
- TreeSliverNode
- TreeSliverController
- TreeSliverStateMixin
- TreeSliverIndentationType

Fixes #114299

https://github.com/flutter/flutter/assets/16964204/3facd095-7262-4068-aa33-d713e2deca99

https://github.com/flutter/flutter/assets/16964204/f851ae30-8e71-45c7-82a4-9606986a5872
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Jun 5, 2024
auto-submit Bot pushed a commit to flutter/packages that referenced this pull request Jun 5, 2024
flutter/flutter@c246ecd...27e0656

2024-06-05 98614782+auto-submit[bot]@users.noreply.github.com Reverts "TreeSliver & associated classes (#147171)" (flutter/flutter#149754)
2024-06-05 [email protected] Feature: Add AnimatedList with separators (flutter/flutter#144899)
2024-06-05 [email protected] make output of flutter run web tests verbose (flutter/flutter#149694)
2024-06-05 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Request focus if `SemanticsAction.focus` is sent to a focusable widget (#142942)" (flutter/flutter#149741)
2024-06-05 [email protected] Roll Flutter Engine from e88469090fed to 11a32d43e3f6 (2 revisions) (flutter/flutter#149699)
2024-06-05 [email protected] Request focus if `SemanticsAction.focus` is sent to a focusable widget (flutter/flutter#142942)
2024-06-04 [email protected] Roll Flutter Engine from 3dd40156afb6 to e88469090fed (2 revisions) (flutter/flutter#149695)
2024-06-04 [email protected] TreeSliver & associated classes (flutter/flutter#147171)
2024-06-04 [email protected] Roll Flutter Engine from fe00f023666c to 3dd40156afb6 (3 revisions) (flutter/flutter#149692)
2024-06-04 49699333+dependabot[bot]@users.noreply.github.com Bump github/codeql-action from 3.25.7 to 3.25.8 (flutter/flutter#149691)
2024-06-04 [email protected] Prepares semantics_update_test for upcoming heading level changes (flutter/flutter#149671)
2024-06-04 [email protected] Identify and re-throw our dependency checking errors in `flutter.groovy` (flutter/flutter#149609)
2024-06-04 [email protected] Scrollbar thumb drag gestures now produce one start and one end scroll notification (flutter/flutter#146654)
2024-06-04 [email protected] Disable sandboxing for macOS apps and tests in CI (flutter/flutter#149618)
2024-06-04 [email protected] Roll Flutter Engine from e211c43f3dc1 to fe00f023666c (3 revisions) (flutter/flutter#149680)
2024-06-04 [email protected] Allow `find.byTooltip` to use a RegEx (flutter/flutter#149348)
2024-06-04 [email protected] Roll Flutter Engine from a6aa5d826649 to e211c43f3dc1 (8 revisions) (flutter/flutter#149658)

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 [email protected],[email protected],[email protected] 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
auto-submit Bot pushed a commit that referenced this pull request Jun 17, 2024
Reland of #147171

It was reverted for a failing unit test that had passed in presubmit. Hopefully this sticks better.
Also fixed leaks in 37b10ad
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Aug 6, 2024
creatorpiyush pushed a commit to creatorpiyush/packages that referenced this pull request Jun 10, 2026
flutter/flutter@c246ecd...27e0656

2024-06-05 98614782+auto-submit[bot]@users.noreply.github.com Reverts "TreeSliver & associated classes (#147171)" (flutter/flutter#149754)
2024-06-05 [email protected] Feature: Add AnimatedList with separators (flutter/flutter#144899)
2024-06-05 [email protected] make output of flutter run web tests verbose (flutter/flutter#149694)
2024-06-05 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Request focus if `SemanticsAction.focus` is sent to a focusable widget (#142942)" (flutter/flutter#149741)
2024-06-05 [email protected] Roll Flutter Engine from e88469090fed to 11a32d43e3f6 (2 revisions) (flutter/flutter#149699)
2024-06-05 [email protected] Request focus if `SemanticsAction.focus` is sent to a focusable widget (flutter/flutter#142942)
2024-06-04 [email protected] Roll Flutter Engine from 3dd40156afb6 to e88469090fed (2 revisions) (flutter/flutter#149695)
2024-06-04 [email protected] TreeSliver & associated classes (flutter/flutter#147171)
2024-06-04 [email protected] Roll Flutter Engine from fe00f023666c to 3dd40156afb6 (3 revisions) (flutter/flutter#149692)
2024-06-04 49699333+dependabot[bot]@users.noreply.github.com Bump github/codeql-action from 3.25.7 to 3.25.8 (flutter/flutter#149691)
2024-06-04 [email protected] Prepares semantics_update_test for upcoming heading level changes (flutter/flutter#149671)
2024-06-04 [email protected] Identify and re-throw our dependency checking errors in `flutter.groovy` (flutter/flutter#149609)
2024-06-04 [email protected] Scrollbar thumb drag gestures now produce one start and one end scroll notification (flutter/flutter#146654)
2024-06-04 [email protected] Disable sandboxing for macOS apps and tests in CI (flutter/flutter#149618)
2024-06-04 [email protected] Roll Flutter Engine from e211c43f3dc1 to fe00f023666c (3 revisions) (flutter/flutter#149680)
2024-06-04 [email protected] Allow `find.byTooltip` to use a RegEx (flutter/flutter#149348)
2024-06-04 [email protected] Roll Flutter Engine from a6aa5d826649 to e211c43f3dc1 (8 revisions) (flutter/flutter#149658)

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 [email protected],[email protected],[email protected] 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
bisor0627 pushed a commit to bisor0627/packages that referenced this pull request Jun 19, 2026
flutter/flutter@c246ecd...27e0656

2024-06-05 98614782+auto-submit[bot]@users.noreply.github.com Reverts "TreeSliver & associated classes (#147171)" (flutter/flutter#149754)
2024-06-05 [email protected] Feature: Add AnimatedList with separators (flutter/flutter#144899)
2024-06-05 [email protected] make output of flutter run web tests verbose (flutter/flutter#149694)
2024-06-05 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Request focus if `SemanticsAction.focus` is sent to a focusable widget (#142942)" (flutter/flutter#149741)
2024-06-05 [email protected] Roll Flutter Engine from e88469090fed to 11a32d43e3f6 (2 revisions) (flutter/flutter#149699)
2024-06-05 [email protected] Request focus if `SemanticsAction.focus` is sent to a focusable widget (flutter/flutter#142942)
2024-06-04 [email protected] Roll Flutter Engine from 3dd40156afb6 to e88469090fed (2 revisions) (flutter/flutter#149695)
2024-06-04 [email protected] TreeSliver & associated classes (flutter/flutter#147171)
2024-06-04 [email protected] Roll Flutter Engine from fe00f023666c to 3dd40156afb6 (3 revisions) (flutter/flutter#149692)
2024-06-04 49699333+dependabot[bot]@users.noreply.github.com Bump github/codeql-action from 3.25.7 to 3.25.8 (flutter/flutter#149691)
2024-06-04 [email protected] Prepares semantics_update_test for upcoming heading level changes (flutter/flutter#149671)
2024-06-04 [email protected] Identify and re-throw our dependency checking errors in `flutter.groovy` (flutter/flutter#149609)
2024-06-04 [email protected] Scrollbar thumb drag gestures now produce one start and one end scroll notification (flutter/flutter#146654)
2024-06-04 [email protected] Disable sandboxing for macOS apps and tests in CI (flutter/flutter#149618)
2024-06-04 [email protected] Roll Flutter Engine from e211c43f3dc1 to fe00f023666c (3 revisions) (flutter/flutter#149680)
2024-06-04 [email protected] Allow `find.byTooltip` to use a RegEx (flutter/flutter#149348)
2024-06-04 [email protected] Roll Flutter Engine from a6aa5d826649 to e211c43f3dc1 (8 revisions) (flutter/flutter#149658)

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 [email protected],[email protected],[email protected] 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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

autosubmit Merge PR when tree becomes green via auto submit App c: new feature Nothing broken; request for a new capability d: api docs Issues with https://api.flutter.dev/ d: examples Sample code and demos f: scrolling Viewports, list views, slivers, etc. framework flutter/packages/flutter repository. See also f: labels.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add a lazy SliverTree

6 participants