| // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file | |
| // for details. All rights reserved. Use of this source code is governed by a | |
| // BSD-style license that can be found in the LICENSE file. | |
| part of swarmlib; | |
| /// An informational dialog that shows keyboard shortcuts and provides a | |
| /// link to the Dart language webpage. | |
| //TODO(efortuna): fix DialogView so it doesn't require the HTML passed to | |
| // the constructor. | |
| class HelpDialog extends DialogView { | |
| final CompositeView _parent; | |
| final Function _doneHandler; | |
| HelpDialog(this._parent, this._doneHandler) | |
| : super('Information', '', makeContent()); | |
| @override | |
| void onDone() { | |
| _doneHandler(); | |
| } | |
| static View makeContent() { | |
| return View.html(''' | |
| <div> | |
| <p> | |
| Keyboard shortcuts: | |
| ${generateTableHtml()} | |
| </p> | |
| <p> | |
| <div id="dart-logo"> | |
| <a href="http://dartlang.org"> | |
| Dart, the programming language</a>. | |
| </div> | |
| </p> | |
| </div> | |
| '''); | |
| } | |
| static String generateTableHtml() { | |
| String cellStart = '''<th valign="middle" align="center">'''; | |
| return '''<table width="90%" border=1 cellspacing="0" cellpadding="2"> | |
| <tr bgcolor="#c3d9ff"> | |
| $cellStart Shortcut Key </th> | |
| $cellStart Action </th> | |
| </tr> | |
| <tr> | |
| $cellStart j, <down arrow> </th> | |
| $cellStart Next Article </th> | |
| </tr> | |
| <tr> | |
| $cellStart k, <up arrow> </th> | |
| $cellStart Previous Article </th> | |
| </tr> | |
| <tr> | |
| $cellStart o, <enter> </th> | |
| $cellStart Open Article </th> | |
| </tr> | |
| <tr> | |
| $cellStart <esc>, <delete> </th> | |
| $cellStart Back </th> | |
| </tr> | |
| <tr> | |
| $cellStart a, h, <left arrow> </th> | |
| $cellStart Left </th> | |
| </tr> | |
| <tr> | |
| $cellStart d, l, <right arrow> </th> | |
| $cellStart Right </th> | |
| </tr> | |
| <tr> | |
| $cellStart n </th> | |
| $cellStart Next Category </th> | |
| </tr> | |
| <tr> | |
| $cellStart p </th> | |
| $cellStart Previous Category </th> | |
| </tr> | |
| </table>'''; | |
| } | |
| } |