@@ -37,7 +37,7 @@ import 'status_line.dart';
37
37
class DevToolsScaffold extends StatefulWidget {
38
38
const DevToolsScaffold ({
39
39
Key ? key,
40
- required this .tabs ,
40
+ required this .screens ,
41
41
this .page,
42
42
this .actions,
43
43
this .embed = false ,
@@ -51,7 +51,7 @@ class DevToolsScaffold extends StatefulWidget {
51
51
List <Widget >? actions,
52
52
}) : this (
53
53
key: key,
54
- tabs : [SimpleScreen (child)],
54
+ screens : [SimpleScreen (child)],
55
55
ideTheme: ideTheme,
56
56
actions: actions,
57
57
);
@@ -77,7 +77,7 @@ class DevToolsScaffold extends StatefulWidget {
77
77
EdgeInsets .symmetric (horizontal: isEmbedded () ? 2.0 : 16.0 );
78
78
79
79
/// All of the [Screen] s that it's possible to navigate to from this Scaffold.
80
- final List <Screen > tabs ;
80
+ final List <Screen > screens ;
81
81
82
82
/// The page being rendered.
83
83
final String ? page;
@@ -134,22 +134,23 @@ class DevToolsScaffoldState extends State<DevToolsScaffold>
134
134
void didUpdateWidget (DevToolsScaffold oldWidget) {
135
135
super .didUpdateWidget (oldWidget);
136
136
137
- if (widget.tabs .length != oldWidget.tabs .length) {
137
+ if (widget.screens .length != oldWidget.screens .length) {
138
138
var newIndex = 0 ;
139
139
// Stay on the current tab if possible when the collection of tabs changes.
140
140
if (_tabController != null &&
141
- widget.tabs.contains (oldWidget.tabs[_tabController! .index])) {
142
- newIndex = widget.tabs.indexOf (oldWidget.tabs[_tabController! .index]);
141
+ widget.screens.contains (oldWidget.screens[_tabController! .index])) {
142
+ newIndex =
143
+ widget.screens.indexOf (oldWidget.screens[_tabController! .index]);
143
144
}
144
145
// Create a new tab controller to reflect the changed tabs.
145
146
_setupTabController ();
146
147
_tabController! .index = newIndex;
147
- } else if (widget.tabs [_tabController! .index].screenId != widget.page) {
148
+ } else if (widget.screens [_tabController! .index].screenId != widget.page) {
148
149
// If the page changed (eg. the route was modified by pressing back in the
149
150
// browser), animate to the new one.
150
151
final newIndex = widget.page == null
151
152
? 0 // When there's no supplied page, we show the first one.
152
- : widget.tabs .indexWhere ((t) => t.screenId == widget.page);
153
+ : widget.screens .indexWhere ((t) => t.screenId == widget.page);
153
154
_tabController! .animateTo (newIndex);
154
155
}
155
156
}
@@ -183,19 +184,19 @@ class DevToolsScaffoldState extends State<DevToolsScaffold>
183
184
184
185
void _setupTabController () {
185
186
_tabController? .dispose ();
186
- _tabController = TabController (length: widget.tabs .length, vsync: this );
187
+ _tabController = TabController (length: widget.screens .length, vsync: this );
187
188
188
189
if (widget.page != null ) {
189
190
final initialIndex =
190
- widget.tabs .indexWhere ((screen) => screen.screenId == widget.page);
191
+ widget.screens .indexWhere ((screen) => screen.screenId == widget.page);
191
192
if (initialIndex != - 1 ) {
192
193
_tabController! .index = initialIndex;
193
194
}
194
195
}
195
196
196
- _currentScreen = widget.tabs [_tabController! .index];
197
+ _currentScreen = widget.screens [_tabController! .index];
197
198
_tabController! .addListener (() {
198
- final screen = widget.tabs [_tabController! .index];
199
+ final screen = widget.screens [_tabController! .index];
199
200
200
201
if (_currentScreen != screen) {
201
202
setState (() {
@@ -246,7 +247,7 @@ class DevToolsScaffoldState extends State<DevToolsScaffold>
246
247
final existingTabIndex = _tabController! .index;
247
248
248
249
final newIndex =
249
- widget.tabs .indexWhere ((screen) => screen.screenId == pageId);
250
+ widget.screens .indexWhere ((screen) => screen.screenId == pageId);
250
251
251
252
if (newIndex != - 1 && newIndex != existingTabIndex) {
252
253
DevToolsRouterDelegate .of (context).navigateIfNotCurrent (pageId);
@@ -278,7 +279,7 @@ class DevToolsScaffoldState extends State<DevToolsScaffold>
278
279
Widget build (BuildContext context) {
279
280
// Build the screens for each tab and wrap them in the appropriate styling.
280
281
final tabBodies = [
281
- for (var screen in widget.tabs )
282
+ for (var screen in widget.screens )
282
283
Container (
283
284
// TODO(kenz): this padding creates a flash when dragging and dropping
284
285
// into the app size screen because it creates space that is outside
@@ -380,17 +381,17 @@ class DevToolsScaffoldState extends State<DevToolsScaffold>
380
381
381
382
// Add a leading [BulletSpacer] to the actions if the screen is not narrow.
382
383
final actions = List <Widget >.from (widget.actions ?? []);
383
- if (! isNarrow && actions.isNotEmpty && widget.tabs .length > 1 ) {
384
+ if (! isNarrow && actions.isNotEmpty && widget.screens .length > 1 ) {
384
385
actions.insert (0 , const BulletSpacer (useAccentColor: true ));
385
386
}
386
387
387
- final bool hasMultipleTabs = widget.tabs .length > 1 ;
388
+ final bool hasMultipleTabs = widget.screens .length > 1 ;
388
389
389
390
if (hasMultipleTabs) {
390
391
tabBar = TabBar (
391
392
controller: _tabController,
392
393
isScrollable: true ,
393
- tabs: [for (var screen in widget.tabs ) screen.buildTab (context)],
394
+ tabs: [for (var screen in widget.screens ) screen.buildTab (context)],
394
395
);
395
396
preferredSize = isNarrow
396
397
? Size .fromHeight (
@@ -461,7 +462,7 @@ class DevToolsScaffoldState extends State<DevToolsScaffold>
461
462
// Approximate size of the title. Add [defaultSpacing] to account for
462
463
// title's leading padding.
463
464
double wideWidth = painter.width + defaultSpacing;
464
- for (var tab in widget.tabs ) {
465
+ for (var tab in widget.screens ) {
465
466
wideWidth += tab.approximateWidth (textTheme);
466
467
}
467
468
final actionsLength = widget.actions? .length ?? 0 ;
0 commit comments