-
Notifications
You must be signed in to change notification settings - Fork 399
Expand file tree
/
Copy pathaccessibility_screen.dart
More file actions
64 lines (53 loc) · 1.98 KB
/
Copy pathaccessibility_screen.dart
File metadata and controls
64 lines (53 loc) · 1.98 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
// Copyright 2026 The Flutter Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file or at https://developers.google.com/open-source/licenses/bsd.
import 'package:devtools_app_shared/ui.dart';
import 'package:devtools_app_shared/utils.dart';
import 'package:flutter/material.dart';
import '../../shared/framework/screen.dart';
import '../../shared/globals.dart';
import 'accessibility_controller.dart';
import 'overrides_pane.dart';
import 'semantics_tree_pane.dart';
export 'overrides_pane.dart';
export 'semantics_tree_pane.dart';
/// A screen that displays accessibility information.
class AccessibilityScreen extends Screen {
AccessibilityScreen() : super.fromMetaData(ScreenMetaData.accessibility);
@override
Widget buildScreenBody(BuildContext context) =>
const AccessibilityScreenBody();
}
class AccessibilityScreenBody extends StatefulWidget {
const AccessibilityScreenBody({super.key});
@override
State<AccessibilityScreenBody> createState() =>
_AccessibilityScreenBodyState();
}
class _AccessibilityScreenBodyState extends State<AccessibilityScreenBody>
with AutoDisposeMixin {
// ignore: unused-code, temporarily ignore since this screen is under active development.
late AccessibilityController controller;
@override
void initState() {
super.initState();
// ignore: unused-code, temporarily ignore since this screen is under active development.
controller = screenControllers.lookup<AccessibilityController>();
}
@override
Widget build(BuildContext context) {
final splitAxis = _splitAxisFor(context);
return SplitPane(
axis: splitAxis,
initialFractions: const [0.6, 0.4],
children: const [
AccessibilitySemanticsTreePane(),
AccessibilityOverridesPane(),
],
);
}
Axis _splitAxisFor(BuildContext context) {
final screenSize = MediaQuery.of(context).size;
return screenSize.width > 1000 ? Axis.horizontal : Axis.vertical;
}
}