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

Side by Side Diff: samples/dartcombat/views.dart

Issue 11418075: Dartifying members. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Fixing menuelement.compact exclusion. Created 8 years 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 | Annotate | Revision Log
« no previous file with comments | « samples/dartcombat/setup.dart ('k') | samples/isolate_html/isolate_sample.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2011, 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 /** Base class for all views. */ 5 /** Base class for all views. */
6 class View { 6 class View {
7 Document doc; 7 Document doc;
8 View(this.doc) {} 8 View(this.doc) {}
9 } 9 }
10 10
(...skipping 19 matching lines...) Expand all
30 _cells.add(cell); 30 _cells.add(cell);
31 } 31 }
32 String cells = _cells.toString(); 32 String cells = _cells.toString();
33 String row = "<div class='hbox'>${cells}</div>"; 33 String row = "<div class='hbox'>${cells}</div>";
34 StringBuffer _rows = new StringBuffer(); 34 StringBuffer _rows = new StringBuffer();
35 for (int i = 0 ; i < state.localGrid.cells.length; i++) { 35 for (int i = 0 ; i < state.localGrid.cells.length; i++) {
36 _rows.add(row); 36 _rows.add(row);
37 } 37 }
38 String rows = _rows.toString(); 38 String rows = _rows.toString();
39 String table = "<div class='vbox'>${rows}</div>"; 39 String table = "<div class='vbox'>${rows}</div>";
40 _rootNode.innerHTML = table; 40 _rootNode.innerHtml = table;
41 41
42 // Attaches listeners onto this view. 42 // Attaches listeners onto this view.
43 new PlaceBoatView(state, _rootNode).attach(); 43 new PlaceBoatView(state, _rootNode).attach();
44 } 44 }
45 45
46 /** Adds to this view the respresentation of a missed shot. */ 46 /** Adds to this view the respresentation of a missed shot. */
47 void addMiss(int x, int y) { 47 void addMiss(int x, int y) {
48 Element node = ViewUtil.createDiv("icons miss"); 48 Element node = ViewUtil.createDiv("icons miss");
49 ViewUtil.placeNodeAt(node, x, y); 49 ViewUtil.placeNodeAt(node, x, y);
50 _rootNode.nodes.add(node); 50 _rootNode.nodes.add(node);
(...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after
180 _cells.add(cell); 180 _cells.add(cell);
181 } 181 }
182 String cells = _cells.toString(); 182 String cells = _cells.toString();
183 String row = "<div class='hbox'>${cells}</div>"; 183 String row = "<div class='hbox'>${cells}</div>";
184 StringBuffer _rows = new StringBuffer(); 184 StringBuffer _rows = new StringBuffer();
185 for (int i = 0 ; i < state.enemyGrid.cells.length; i++) { 185 for (int i = 0 ; i < state.enemyGrid.cells.length; i++) {
186 _rows.add(row); 186 _rows.add(row);
187 } 187 }
188 String rows = _rows.toString(); 188 String rows = _rows.toString();
189 String table = "<div class='vbox'>${rows}</div>"; 189 String table = "<div class='vbox'>${rows}</div>";
190 _rootNode.innerHTML = 190 _rootNode.innerHtml =
191 "${table}<div class='notready'>ENEMY IS NOT READY</div>"; 191 "${table}<div class='notready'>ENEMY IS NOT READY</div>";
192 statusBar = new ShootingStatusView(state, doc); 192 statusBar = new ShootingStatusView(state, doc);
193 _rootNode.nodes.add(statusBar._rootNode); 193 _rootNode.nodes.add(statusBar._rootNode);
194 _rootNode.on.click.add((Event e) { 194 _rootNode.on.click.add((Event e) {
195 MouseEvent mouseEvent = e; 195 MouseEvent mouseEvent = e;
196 handleClick(mouseEvent); 196 handleClick(mouseEvent);
197 }, false); 197 }, false);
198 } 198 }
199 199
200 /** Interpret clicks as a shooting action. */ 200 /** Interpret clicks as a shooting action. */
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
261 updateStatus(); 261 updateStatus();
262 } 262 }
263 263
264 /** Update the view to indicate we sunk another enemy's boat. */ 264 /** Update the view to indicate we sunk another enemy's boat. */
265 void updateStatus() { 265 void updateStatus() {
266 final total = state.totalShots; 266 final total = state.totalShots;
267 final hit = state.totalHits; 267 final hit = state.totalHits;
268 final miss = state.totalMisses; 268 final miss = state.totalMisses;
269 final accounted = hit + miss; 269 final accounted = hit + miss;
270 final sunk = state.boatsSunk; 270 final sunk = state.boatsSunk;
271 _rootNode.innerHTML = 271 _rootNode.innerHtml =
272 "${total} &lt;= ${accounted} (${hit} + ${miss}); ${sunk}"; 272 "${total} &lt;= ${accounted} (${hit} + ${miss}); ${sunk}";
273 } 273 }
274 } 274 }
275 275
276 /** Utility methods used by the views above. */ 276 /** Utility methods used by the views above. */
277 class ViewUtil { 277 class ViewUtil {
278 278
279 /** Extract the position of a mouse event in a containing 500x500 grid. */ 279 /** Extract the position of a mouse event in a containing 500x500 grid. */
280 static Future<List<int>> positionFromEvent(Element gridNode, MouseEvent e) { 280 static Future<List<int>> positionFromEvent(Element gridNode, MouseEvent e) {
281 final completer = new Completer<List<int>>(); 281 final completer = new Completer<List<int>>();
(...skipping 13 matching lines...) Expand all
295 node.style.setProperty("left", "${xoffset}px"); 295 node.style.setProperty("left", "${xoffset}px");
296 } 296 }
297 297
298 /** Create a div node with a given class name. */ 298 /** Create a div node with a given class name. */
299 static Element createDiv(String className) { 299 static Element createDiv(String className) {
300 Element node = new Element.tag("div"); 300 Element node = new Element.tag("div");
301 node.attributes["class"] = className; 301 node.attributes["class"] = className;
302 return node; 302 return node;
303 } 303 }
304 } 304 }
OLDNEW
« no previous file with comments | « samples/dartcombat/setup.dart ('k') | samples/isolate_html/isolate_sample.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698