| // 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>'''; | 
 |   } | 
 | } |