| // 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 { | |
| CompositeView _parent; | |
| Function _doneHandler; | |
| HelpDialog(this._parent, this._doneHandler) | |
| : super('Information', '', makeContent()); | |
| void onDone() { | |
| _doneHandler(); | |
| } | |
| static View makeContent() { | |
| return new 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>'''; | |
| } | |
| } |