Projects/Usability/HIG/CustomControls: Difference between revisions

From KDE TechBase
< Projects‎ | Usability‎ | HIG
(2 intermediate revisions by 2 users not shown)
Line 7: Line 7:
== Guidelines ==
== Guidelines ==
* Do you really need a custom widget? Check whether an existing widget cannot be used instead.
* Do you really need a custom widget? Check whether an existing widget cannot be used instead.
* It is strongly recommended to consult the usability team (https://git.reviewboard.kde.org/groups/usability/) and the accessibility team (https://git.reviewboard.kde.org/groups/kdeaccessibility/).
* It is strongly recommended to consult the usability team (https://git.reviewboard.kde.org/groups/usability/) and the accessibility team (https://git.reviewboard.kde.org/groups/kdeaccessibility/) in advance of your implementation.
* Create interaction by following natural design. Find the appropriate metaphor and create interface as near to real usage as possible.
* Create interaction by following natural design. Find the appropriate metaphor and create interface as near to real usage as possible.
* Make sure your new widget:
* Make sure your new widget:
** Resizes correctly
** Resizes correctly
** Handles right-to-left setups
** Handles right-to-left setups
** Supports keyboard navigation (receives and gives focus, indicates when it is focused)
** Works well with different color schemes
** Works well with different color schemes
** Looks as close to existing Qt or kdelibs widgets as possible (use QStyle or QStylePainter to draw elements).
** Looks as close to existing Qt or kdelibs widgets as possible (use QStyle or QStylePainter to draw elements).
** Is based on an existing widget rather than a plain QWidget if possible
** Is based on an existing widget rather than a plain QWidget if possible
** supports keyboard navigation (receives and gives focus, indicates when it is focused)
* If possible, consider making your widget reusable enough so that it can be integrated in standard widgets
* If possible, consider making your widget reusable enough so that it can be integrated in standard widgets


== Implementation ==
== Implementation ==

Revision as of 15:44, 10 July 2013

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

Purpose

Examples

Guidelines

  • Do you really need a custom widget? Check whether an existing widget cannot be used instead.
  • It is strongly recommended to consult the usability team (https://git.reviewboard.kde.org/groups/usability/) and the accessibility team (https://git.reviewboard.kde.org/groups/kdeaccessibility/) in advance of your implementation.
  • Create interaction by following natural design. Find the appropriate metaphor and create interface as near to real usage as possible.
  • Make sure your new widget:
    • Resizes correctly
    • Handles right-to-left setups
    • Supports keyboard navigation (receives and gives focus, indicates when it is focused)
    • Works well with different color schemes
    • Looks as close to existing Qt or kdelibs widgets as possible (use QStyle or QStylePainter to draw elements).
    • Is based on an existing widget rather than a plain QWidget if possible
    • supports keyboard navigation (receives and gives focus, indicates when it is focused)
  • If possible, consider making your widget reusable enough so that it can be integrated in standard widgets

Implementation