@@ -6,11 +6,46 @@ import '/src/view.dart';
66///
77class DevToolsSettings extends StatefulWidget {
88 ///
9- DevToolsSettings ({super .key}) : con = DevTools ();
9+ const DevToolsSettings ({super .key, this .shrinkWrap}) : column = false ;
10+
11+ ///
12+ const DevToolsSettings .column ({super .key, this .shrinkWrap}) : column = true ;
13+
1014 ///
11- final DevTools con;
15+ final bool ? shrinkWrap;
16+
17+ ///
18+ final bool ? column;
19+
1220 @override
1321 State createState () => _DevToolsSettingsState ();
22+ }
23+
24+ ///
25+ class _DevToolsSettingsState extends StateX <DevToolsSettings > {
26+ _DevToolsSettingsState () : super (controller: DevTools ()) {
27+ con = controller as DevTools ;
28+ }
29+
30+ late DevTools con;
31+
32+ @override
33+ Widget builder (BuildContext context) {
34+ Widget wid;
35+ if (widget.column ?? false ) {
36+ wid = Column (
37+ children: devSettings,
38+ );
39+ } else {
40+ wid = ListView (
41+ padding: const EdgeInsets .symmetric (vertical: 20 ),
42+ shrinkWrap: widget.shrinkWrap ?? false ,
43+ children: devSettings,
44+ );
45+ }
46+ return wid;
47+ }
48+
1449 ///
1550 List <Widget > get devSettings {
1651 final List <Widget > widgets = < Widget > [
@@ -155,26 +190,10 @@ class DevToolsSettings extends StatefulWidget {
155190 ]);
156191 return true ;
157192 }());
158-
159193 return widgets;
160194 }
161195}
162196
163- ///
164- class _DevToolsSettingsState extends StateX <DevToolsSettings > {
165- @override
166- void initState () {
167- super .initState ();
168- add (widget.con);
169- }
170-
171- @override
172- Widget build (BuildContext context) => ListView (
173- padding: const EdgeInsets .symmetric (vertical: 20 ),
174- children: widget.devSettings,
175- );
176- }
177-
178197///
179198class DevTools extends StateXController {
180199 /// Singleton Pattern
@@ -185,162 +204,142 @@ class DevTools extends StateXController {
185204 ///
186205 bool get debugShowCheckedModeBanner => _debugShowCheckedModeBanner;
187206 set debugShowCheckedModeBanner (bool ? v) {
188- //
189207 if (v != null ) {
190- //
191208 _debugShowCheckedModeBanner = v;
192-
193209 setSettingState ();
194210 }
195211 }
196212
213+ //
197214 bool _debugShowCheckedModeBanner = true ;
198215
199216 ///
200217 bool get debugShowMaterialGrid => _debugShowMaterialGrid;
201218 set debugShowMaterialGrid (bool ? v) {
202- //
203219 if (v != null ) {
204- //
205220 _debugShowMaterialGrid = v;
206-
207221 setSettingState ();
208222 }
209223 }
210224
225+ //
211226 bool _debugShowMaterialGrid = false ;
212227
213228 ///
214229 bool get debugPaintSizeEnabled => _debugPaintSizeEnabled;
215230 set debugPaintSizeEnabled (bool ? v) {
216- //
217231 if (v != null ) {
218- //
219232 _debugPaintSizeEnabled = v;
220-
221233 setSettingState ();
222234 }
223235 }
224236
237+ //
225238 bool _debugPaintSizeEnabled = false ;
226239
227240 ///
228241 bool get debugPaintBaselinesEnabled => _debugPaintBaselinesEnabled;
229242 set debugPaintBaselinesEnabled (bool ? v) {
230- //
231243 if (v != null ) {
232- //
233244 _debugPaintBaselinesEnabled = v;
234-
235245 setSettingState ();
236246 }
237247 }
238248
249+ //
239250 bool _debugPaintBaselinesEnabled = false ;
240251
241252 ///
242253 bool get debugPaintLayerBordersEnabled => _debugPaintLayerBordersEnabled;
243254 set debugPaintLayerBordersEnabled (bool ? v) {
244- //
245255 if (v != null ) {
246- //
247256 _debugPaintLayerBordersEnabled = v;
248-
249257 setSettingState ();
250258 }
251259 }
252260
261+ //
253262 bool _debugPaintLayerBordersEnabled = false ;
254263
255264 ///
256265 bool get debugPaintPointersEnabled => _debugPaintPointersEnabled;
257266 set debugPaintPointersEnabled (bool ? v) {
258- //
259267 if (v != null ) {
260- //
261268 _debugPaintPointersEnabled = v;
262-
263269 setSettingState ();
264270 }
265271 }
266272
273+ //
267274 bool _debugPaintPointersEnabled = false ;
268275
269276 ///
270277 bool get debugRepaintRainbowEnabled => _debugRepaintRainbowEnabled;
271278 set debugRepaintRainbowEnabled (bool ? v) {
272- //
273279 if (v != null ) {
274- //
275280 _debugRepaintRainbowEnabled = v;
276-
277281 setSettingState ();
278282 }
279283 }
280284
285+ //
281286 bool _debugRepaintRainbowEnabled = false ;
282287
283288 ///
284289 bool get debugRepaintTextRainbowEnabled => _debugRepaintTextRainbowEnabled;
285290 set debugRepaintTextRainbowEnabled (bool ? v) {
286- //
287291 if (v != null ) {
288- //
289292 _debugRepaintTextRainbowEnabled = v;
290-
291293 setSettingState ();
292294 }
293295 }
294296
297+ //
295298 bool _debugRepaintTextRainbowEnabled = false ;
296299
297300 ///
298301 bool get showPerformanceOverlay => _showPerformanceOverlay;
299302 set showPerformanceOverlay (bool ? v) {
300- //
301303 if (v != null ) {
302- //
303304 _showPerformanceOverlay = v;
304-
305305 setSettingState ();
306306 }
307307 }
308308
309+ //
309310 bool _showPerformanceOverlay = false ;
310311
311312 ///
312313 bool get showSemanticsDebugger => _showSemanticsDebugger;
313314 set showSemanticsDebugger (bool ? v) {
314- //
315315 if (v != null ) {
316- //
317316 _showSemanticsDebugger = v;
318-
319317 setSettingState ();
320318 }
321319 }
322320
321+ //
323322 bool _showSemanticsDebugger = false ;
324323
325324 ///
326325 bool get useMaterial3 => _useMaterial3;
327326 set useMaterial3 (bool ? v) {
328- //
329327 if (v != null ) {
330- //
331328 _useMaterial3 = v;
332-
329+ App .themeData = ThemeData .from (
330+ useMaterial3: _useMaterial3,
331+ colorScheme: Theme .of (state! .context).colorScheme,
332+ );
333333 setSettingState ();
334334 }
335335 }
336336
337+ //
337338 bool _useMaterial3 = true ;
338339
339340 /// Call the setState() functions
340341 void setSettingState () {
341- //
342342 setState (() {});
343-
344343 appState? .setState (() {});
345344 }
346345}
0 commit comments