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