Projects/Usability/HIG/Toolbox

From KDE TechBase
< Projects‎ | Usability‎ | HIG
Revision as of 22:23, 15 November 2014 by Louis94 (talk | contribs)


 
Under Construction
This is a new page, currently under construction!


Purpose

A tool box is a graphical presentation of tools optimized for fast access. Tools are the different ways an user can manipulate a document. Only one tool can be enabled at any given time.

Examples

Guidelines

Is this the right control

  • Provide a toolbox if there are different modes for manipulating documents directly using the cursor (such as e.g. in most graphics applications).
  • Provide a toolbox in addition to the menu bar, but do not replace the menu bar.

Behavior

  • A tool box should contain all available tools. If the number of operations is above 5 they have to be grouped with separators.
  • Do not put any buttons that directly modify the document in the toolbox. Selecting a tool in the toolbox only changes the mode of operations. The document is only modified when the selected tool is applied to the canvas.
  • Do not extend the toolbox by other controls than tool- or toggle buttons. It contradicts the quick access purpose.
  • Provide a keyboard shortcut to allow fast switch between tools.
  • Do not use menu buttons in tool boxes. They do not fit well the concept of fast access.
  • Do not hide tool boxes by default. If configurable, users should easily be able to make the tool box viewable again.
  • Disable buttons that do not apply to the current context.
  • Consider to provide customization for tool boxes in respect to position and content.

Appearance

  • Use icon-only flat toggle buttons.
  • Use a tooltip. As the user has no mean of knowing what it is, describe it to the tooltip.
  • Toolboxes should be placed on the left side of the document by default.
  • Toolboxes should look good in both vertical and horizontal mode.
  • Use and design toolbox icons with special care. Users remember location of an object but rely as well on icon properties.
  • A distinct association between the underlying function and its visual depiction is crucial. Follow the advice for icon design.
  • Do not simulate Microsoft's ribbon controls. KDE stays plain and simple.

Implementation

  • If there are less than 11 tools, use a QToolBar.
  • If there are more than 10 tools, use a QToolBox.
  • Use QKeySequence::toString() to add the keyboard shortcut to the tooltip, don't hard-code it.
  • The keyboards shortcuts may change if they can be edited by the user. Don't forget to update the tooltip when needed.