| 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 |