Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(348)

Side by Side Diff: runtime/observatory/lib/src/elements/eval_box.dart

Issue 2873013004: Omnibus Observatory UI fixes: (Closed)
Patch Set: Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, 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 eval_box_element; 5 library eval_box_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/helpers/any_ref.dart'; 10 import 'package:observatory/src/elements/helpers/any_ref.dart';
11 import 'package:observatory/src/elements/helpers/rendering_scheduler.dart'; 11 import 'package:observatory/src/elements/helpers/rendering_scheduler.dart';
12 import 'package:observatory/src/elements/helpers/tag.dart'; 12 import 'package:observatory/src/elements/helpers/tag.dart';
13 import 'package:observatory/src/elements/instance_ref.dart'; 13 import 'package:observatory/src/elements/instance_ref.dart';
14 14
15 class EvalBoxElement extends HtmlElement implements Renderable { 15 class EvalBoxElement extends HtmlElement implements Renderable {
16 static const tag = const Tag<EvalBoxElement>('eval-box', 16 static const tag = const Tag<EvalBoxElement>('eval-box',
17 dependencies: const [InstanceRefElement.tag]); 17 dependencies: const [InstanceRefElement.tag]);
18 18
19 RenderingScheduler<EvalBoxElement> _r; 19 RenderingScheduler<EvalBoxElement> _r;
20 20
21 Stream<RenderedEvent<EvalBoxElement>> get onRendered => _r.onRendered; 21 Stream<RenderedEvent<EvalBoxElement>> get onRendered => _r.onRendered;
22 22
23 M.IsolateRef _isolate; 23 M.IsolateRef _isolate;
24 M.ObjectRef _context; 24 M.ObjectRef _context;
25 M.InstanceRepository _instances; 25 M.ObjectRepository _objects;
26 M.EvalRepository _eval; 26 M.EvalRepository _eval;
27 final _results = <_ExpressionDescription>[]; 27 final _results = <_ExpressionDescription>[];
28 String _expression = ''; 28 String _expression = '';
29 bool _multiline; 29 bool _multiline;
30 Iterable<String> _quickExpressions; 30 Iterable<String> _quickExpressions;
31 31
32 M.IsolateRef get isolate => _isolate; 32 M.IsolateRef get isolate => _isolate;
33 M.ObjectRef get context => _context; 33 M.ObjectRef get context => _context;
34 34
35 factory EvalBoxElement(M.IsolateRef isolate, M.ObjectRef context, 35 factory EvalBoxElement(M.IsolateRef isolate, M.ObjectRef context,
36 M.InstanceRepository instances, M.EvalRepository eval, 36 M.ObjectRepository objects, M.EvalRepository eval,
37 {bool multiline: false, 37 {bool multiline: false,
38 Iterable<String> quickExpressions: const [], 38 Iterable<String> quickExpressions: const [],
39 RenderingQueue queue}) { 39 RenderingQueue queue}) {
40 assert(isolate != null); 40 assert(isolate != null);
41 assert(context != null); 41 assert(context != null);
42 assert(instances != null); 42 assert(objects != null);
43 assert(eval != null); 43 assert(eval != null);
44 assert(multiline != null); 44 assert(multiline != null);
45 assert(quickExpressions != null); 45 assert(quickExpressions != null);
46 EvalBoxElement e = document.createElement(tag.name); 46 EvalBoxElement e = document.createElement(tag.name);
47 e._r = new RenderingScheduler(e, queue: queue); 47 e._r = new RenderingScheduler(e, queue: queue);
48 e._isolate = isolate; 48 e._isolate = isolate;
49 e._context = context; 49 e._context = context;
50 e._instances = instances; 50 e._objects = objects;
51 e._eval = eval; 51 e._eval = eval;
52 e._multiline = multiline; 52 e._multiline = multiline;
53 e._quickExpressions = new List.unmodifiable(quickExpressions); 53 e._quickExpressions = new List.unmodifiable(quickExpressions);
54 return e; 54 return e;
55 } 55 }
56 56
57 EvalBoxElement.created() : super.created(); 57 EvalBoxElement.created() : super.created();
58 58
59 @override 59 @override
60 void attached() { 60 void attached() {
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
108 ..onClick.listen((_) { 108 ..onClick.listen((_) {
109 _expression = result.expression; 109 _expression = result.expression;
110 _r.dirty(); 110 _r.dirty();
111 }) 111 })
112 ], 112 ],
113 new TableCellElement() 113 new TableCellElement()
114 ..classes = ['historyValue'] 114 ..classes = ['historyValue']
115 ..children = [ 115 ..children = [
116 result.isPending 116 result.isPending
117 ? (new SpanElement()..text = 'Pending...') 117 ? (new SpanElement()..text = 'Pending...')
118 : anyRef(_isolate, result.value, _instances, 118 : anyRef(_isolate, result.value, _objects,
119 queue: _r.queue) 119 queue: _r.queue)
120 ], 120 ],
121 new TableCellElement() 121 new TableCellElement()
122 ..classes = ['historyDelete'] 122 ..classes = ['historyDelete']
123 ..children = [ 123 ..children = [
124 new ButtonElement() 124 new ButtonElement()
125 ..text = '✖ Remove' 125 ..text = '✖ Remove'
126 ..onClick.listen((_) { 126 ..onClick.listen((_) {
127 _results.remove(result); 127 _results.remove(result);
128 _r.dirty(); 128 _r.dirty();
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
199 } 199 }
200 200
201 class _ExpressionDescription { 201 class _ExpressionDescription {
202 final String expression; 202 final String expression;
203 final M.ObjectRef value; 203 final M.ObjectRef value;
204 bool get isPending => value == null; 204 bool get isPending => value == null;
205 205
206 _ExpressionDescription(this.expression, this.value); 206 _ExpressionDescription(this.expression, this.value);
207 _ExpressionDescription.pending(this.expression) : value = null; 207 _ExpressionDescription.pending(this.expression) : value = null;
208 } 208 }
OLDNEW
« no previous file with comments | « runtime/observatory/lib/src/elements/debugger.dart ('k') | runtime/observatory/lib/src/elements/field_ref.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698