Version 1 (modified by jeroens, 12 years ago) (diff)

--

User Interface Guidelines

When designing user interfaces for EwE you should try to adhere the following implementation guidelines:

Overall Structure

  • Triple-dots after a command (…) should only pull up a dialogues, i.e. New Scenario...
  • Spelling: Ecopath, Multi-stanza??? QB etc
  • Always use wait cursors and status bar messages for lengthy operations
  • All texts should be specified in resources, NEVER in the code

Placement of commands

  • Module commands, e.g. commands that apply to more than one form, are accessible from the menu.
  • Commands that apply to ONE interface only shoud be placed on a toolbar above their form.
  • Module commands may be repeated in the toolbar above a form if this aids functionality
  • Every word should be capitalized, except for prepositions and conjunctions
  • Every menu item should have a keyboard shortcut
  • Module-wide command should be present in specific module menu structure i.e. edit group, edit fleet

Forms

  • Forms should have toolbars for native commands, i.e. diet comp – Sum to one.
  • All configuration forms should be based on Ecospace parameters layout
  • All configuration forms have scroll bars when too small to fit in docking area (see Ecospace parameters AutoScroll? setting)
  • Every form should be resizable; every control should have its anchors properly set (see Ecospace parameters)
  • All controls should be consistently aligned and spaced (see Ecospace parameters)
  • All controls should be accessible via the [TAB] key in an intuitive order
  • Use of form icons should be consistent with the menu item that invoked the form
  • There may be no usage instructions on forms or form toolbars; all help text moves to the manual
  • 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
  • Maps should have the quick-edit toolbar to export content to CSV for all maps, and read from CSV for input maps only
  • Graphs should have the floating toolbar to zoom in, zoom out and reset zoom, and export to CSV
  • Try to refrain from using Group boxes unless strictly necessary. Controls should be grouped using the standard EwE headers when possible (see Ecopath parameters)

Dialogues

  • Should be smaller than 600x400 800x600
  • 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
  • All controls should be consistently aligned and spaced (see Options dialogue)
  • All controls should be accessible via the [TAB] key in an intuitive order (see Options dialogue)
  • 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]
  • Only Ok/Cancel/Apply? buttons should have three dimensional borders JS: rule dropped; following Windows guidelines
  • Dialogs may not have a title bar icon
  • Dialogs may be resizable
  • There may be no usage instructions on forms or form toolbars; all help text moves to the manual
  • Title bar should have the same text as invoking menu item

Grids

  • Ability to select range ([SHIFT] click), row, column or all
  • Read-only cells should not be modified on delete/backspace/paste
  • If grid shows indexed items such as group/fleets it must display an index column.
  • Only navigation tree leafs should invoke pages
  • Only master nodes should be written in bold font JS: rule dropped; following Windows guidelines
  • Capitalize only on the first word of tree item texts

Toolbars

  • Caps only on the first word
  • Shortcut keys available
  • Toolbars in EwE cannot be docked and undocked, and should not display a grip indicator
  • Toolbars in EwE should not show repeated separators without controls in between

Values

  • Whenever an indexed item is displayed by name, the item index must be displayed as well
  • All number formatting should follow the number of decimal digits and thousands separator settings as configured by the user
  • All values display should follow the colour coding settings as configured by the user