OLD | NEW |
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 library class_tree_element; | 5 library class_tree_element; |
6 | 6 |
7 import 'dart:html'; | 7 import 'dart:html'; |
8 import 'dart:async'; | 8 import 'dart:async'; |
9 import 'package:observatory/models.dart' as M; | 9 import 'package:observatory/models.dart' as M; |
10 import 'package:observatory/src/elements/class_ref.dart'; | 10 import 'package:observatory/src/elements/class_ref.dart'; |
11 import 'package:observatory/src/elements/containers/virtual_tree.dart'; | 11 import 'package:observatory/src/elements/containers/virtual_tree.dart'; |
| 12 import 'package:observatory/src/elements/helpers/nav_bar.dart'; |
| 13 import 'package:observatory/src/elements/helpers/nav_menu.dart'; |
12 import 'package:observatory/src/elements/helpers/rendering_scheduler.dart'; | 14 import 'package:observatory/src/elements/helpers/rendering_scheduler.dart'; |
13 import 'package:observatory/src/elements/helpers/tag.dart'; | 15 import 'package:observatory/src/elements/helpers/tag.dart'; |
14 import 'package:observatory/src/elements/helpers/uris.dart'; | 16 import 'package:observatory/src/elements/helpers/uris.dart'; |
15 import 'package:observatory/src/elements/nav/bar.dart'; | |
16 import 'package:observatory/src/elements/nav/isolate_menu.dart'; | 17 import 'package:observatory/src/elements/nav/isolate_menu.dart'; |
17 import 'package:observatory/src/elements/nav/menu.dart'; | |
18 import 'package:observatory/src/elements/nav/notify.dart'; | 18 import 'package:observatory/src/elements/nav/notify.dart'; |
19 import 'package:observatory/src/elements/nav/top_menu.dart'; | 19 import 'package:observatory/src/elements/nav/top_menu.dart'; |
20 import 'package:observatory/src/elements/nav/vm_menu.dart'; | 20 import 'package:observatory/src/elements/nav/vm_menu.dart'; |
21 | 21 |
22 | 22 |
23 class ClassTreeElement extends HtmlElement implements Renderable{ | 23 class ClassTreeElement extends HtmlElement implements Renderable{ |
24 static const tag = const Tag<ClassTreeElement>('class-tree', | 24 static const tag = const Tag<ClassTreeElement>('class-tree', |
25 dependencies: const [ClassRefElement.tag, | 25 dependencies: const [ClassRefElement.tag, |
26 NavBarElement.tag, | |
27 NavIsolateMenuElement.tag, | 26 NavIsolateMenuElement.tag, |
28 NavMenuElement.tag, | |
29 NavNotifyElement.tag, | 27 NavNotifyElement.tag, |
30 NavTopMenuElement.tag, | 28 NavTopMenuElement.tag, |
31 NavVMMenuElement.tag, | 29 NavVMMenuElement.tag, |
32 VirtualTreeElement.tag]); | 30 VirtualTreeElement.tag]); |
33 | 31 |
34 RenderingScheduler _r; | 32 RenderingScheduler _r; |
35 | 33 |
36 Stream<RenderedEvent<ClassTreeElement>> get onRendered => _r.onRendered; | 34 Stream<RenderedEvent<ClassTreeElement>> get onRendered => _r.onRendered; |
37 | 35 |
38 M.VMRef _vm; | 36 M.VMRef _vm; |
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
77 void detached() { | 75 void detached() { |
78 super.detached(); | 76 super.detached(); |
79 children = []; | 77 children = []; |
80 _r.disable(notify: true); | 78 _r.disable(notify: true); |
81 } | 79 } |
82 | 80 |
83 VirtualTreeElement _tree; | 81 VirtualTreeElement _tree; |
84 | 82 |
85 void render() { | 83 void render() { |
86 children = [ | 84 children = [ |
87 new NavBarElement(queue: _r.queue) | 85 navBar([ |
88 ..children = [ | 86 new NavTopMenuElement(queue: _r.queue), |
89 new NavTopMenuElement(queue: _r.queue), | 87 new NavVMMenuElement(_vm, _events, queue: _r.queue), |
90 new NavVMMenuElement(_vm, _events, queue: _r.queue), | 88 new NavIsolateMenuElement(_isolate, _events, queue: _r.queue), |
91 new NavIsolateMenuElement(_isolate, _events, queue: _r.queue), | 89 navMenu('class hierarchy'), |
92 new NavMenuElement('class hierarchy', link: Uris.classTree(_isolate), | 90 new NavNotifyElement(_notifications, queue: _r.queue) |
93 last: true, queue: _r.queue), | 91 ]), |
94 new NavNotifyElement(_notifications, queue: _r.queue) | |
95 ], | |
96 new DivElement() | 92 new DivElement() |
97 ..classes = ['content-centered'] | 93 ..classes = ['content-centered'] |
98 ..children = [ | 94 ..children = [ |
99 new HeadingElement.h1()..text = 'Class Hierarchy', | 95 new HeadingElement.h1()..text = 'Class Hierarchy', |
100 new BRElement(), new HRElement(), | 96 new BRElement(), new HRElement(), |
101 _object == null ? (new HeadingElement.h2()..text = 'Loading...') | 97 _object == null ? (new HeadingElement.h2()..text = 'Loading...') |
102 : _createTree() | 98 : _createTree() |
103 ] | 99 ] |
104 ]; | 100 ]; |
105 } | 101 } |
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
176 : new ClassRefElement(_isolate, type.typeClass, queue: _r.queue) | 172 : new ClassRefElement(_isolate, type.typeClass, queue: _r.queue) |
177 ]).toList(); | 173 ]).toList(); |
178 children.first.text = ' with '; | 174 children.first.text = ' with '; |
179 return children; | 175 return children; |
180 } | 176 } |
181 | 177 |
182 Iterable<M.Class> _children(M.Class cls) { | 178 Iterable<M.Class> _children(M.Class cls) { |
183 return _subclasses[cls.id]; | 179 return _subclasses[cls.id]; |
184 } | 180 } |
185 } | 181 } |
OLD | NEW |