| 1 | = User Interface Guidelines = |
| 2 | When designing user interfaces for EwE you should try to adhere the following implementation guidelines: |
| 3 | |
| 4 | == Overall Structure == |
| 5 | * Triple-dots after a command (…) should only pull up a dialogues, i.e. New Scenario... |
| 6 | * Spelling: Ecopath, Multi-stanza??? QB etc |
| 7 | * Always use wait cursors and status bar messages for lengthy operations |
| 8 | * All texts should be specified in resources, NEVER in the code |
| 9 | |
| 10 | == Placement of commands == |
| 11 | * Module commands, e.g. commands that apply to more than one form, are accessible from the menu. |
| 12 | * Commands that apply to ONE interface only shoud be placed on a toolbar above their form. |
| 13 | * Module commands may be repeated in the toolbar above a form if this aids functionality |
| 14 | |
| 15 | == Menu Structure == |
| 16 | * Every word should be capitalized, except for prepositions and conjunctions |
| 17 | * Every menu item should have a keyboard shortcut |
| 18 | * Module-wide command should be present in specific module menu structure i.e. edit group, edit fleet |
| 19 | |
| 20 | == Forms == |
| 21 | * Forms should have toolbars for native commands, i.e. diet comp – Sum to one. |
| 22 | * All configuration forms should be based on Ecospace parameters layout |
| 23 | * All configuration forms have scroll bars when too small to fit in docking area (see Ecospace parameters AutoScroll setting) |
| 24 | * Every form should be resizable; every control should have its anchors properly set (see Ecospace parameters) |
| 25 | * All controls should be consistently aligned and spaced (see Ecospace parameters) |
| 26 | * All controls should be accessible via the [TAB] key in an intuitive order |
| 27 | * Use of form icons should be consistent with the menu item that invoked the form |
| 28 | * There may be no usage instructions on forms or form toolbars; all help text moves to the manual |
| 29 | * Grids should be accompanied by the quick-edit toolbar to export content to CSV for all grids, and read from CSV and set option to input grids only |
| 30 | * Maps should have the quick-edit toolbar to export content to CSV for all maps, and read from CSV for input maps only |
| 31 | * Graphs should have the floating toolbar to zoom in, zoom out and reset zoom, and export to CSV |
| 32 | * Try to refrain from using Group boxes unless strictly necessary. Controls should be grouped using the standard EwE headers when possible (see Ecopath parameters) |
| 33 | |
| 34 | == Dialogues == |
| 35 | * Should be smaller than 600x400 800x600 |
| 36 | * Every dialog must have default buttons assigned that consume [ENTER] and [ESC] keystrokes (Accept_button = OK or similar, Cancel_button = Cancel) JS: [ENTER] rule dropped because 1) Grid edit controls need [ENTER] to commit and 2) [ENTER] is too easily pressed. However, [CANCEL] should be quickly accessible |
| 37 | * All controls should be consistently aligned and spaced (see Options dialogue) |
| 38 | * All controls should be accessible via the [TAB] key in an intuitive order (see Options dialogue) |
| 39 | * All controls should have an intuitive and preferrably unique shortcut key (see Options dialogue). This excludes default buttons (see above), default buttons never have keyboard shortcuts other than [ENTER] and [ESC] |
| 40 | * Only Ok/Cancel/Apply buttons should have three dimensional borders JS: rule dropped; following Windows guidelines |
| 41 | * Dialogs may not have a title bar icon |
| 42 | * Dialogs may be resizable |
| 43 | * There may be no usage instructions on forms or form toolbars; all help text moves to the manual |
| 44 | * Title bar should have the same text as invoking menu item |
| 45 | |
| 46 | == Grids == |
| 47 | * Ability to select range ([SHIFT] click), row, column or all |
| 48 | * Read-only cells should not be modified on delete/backspace/paste |
| 49 | * If grid shows indexed items such as group/fleets it must display an index column. |
| 50 | |
| 51 | == Navigation == |
| 52 | * Only navigation tree leafs should invoke pages |
| 53 | * Only master nodes should be written in bold font JS: rule dropped; following Windows guidelines |
| 54 | * Capitalize only on the first word of tree item texts |
| 55 | |
| 56 | == Toolbars == |
| 57 | * Caps only on the first word |
| 58 | * Shortcut keys available |
| 59 | * Toolbars in EwE cannot be docked and undocked, and should not display a grip indicator |
| 60 | * Toolbars in EwE should not show repeated separators without controls in between |
| 61 | |
| 62 | == Values == |
| 63 | * Whenever an indexed item is displayed by name, the item index must be displayed as well |
| 64 | * All number formatting should follow the number of decimal digits and thousands separator settings as configured by the user |
| 65 | * All values display should follow the colour coding settings as configured by the user |