2007-10-21 19:44:49 +00:00
|
|
|
|
2011-09-30 18:15:37 +00:00
|
|
|
** General UI Guidelines for KiCad Development
|
2007-10-21 19:44:49 +00:00
|
|
|
|
|
|
|
|
2009-12-02 21:44:03 +00:00
|
|
|
Capitalization:
|
2007-10-21 19:44:49 +00:00
|
|
|
|
2011-09-30 18:15:37 +00:00
|
|
|
For any visible text used within KiCad, follow recommendations here:
|
2013-03-07 17:12:59 +00:00
|
|
|
http://developer.gnome.org/hig-book/stable/design-text-labels.html.en
|
|
|
|
in the "Capitalization" section. This applies to all Menus, Titles,
|
|
|
|
Labels, Tooltips, Buttons, etc.
|
2007-10-21 19:44:49 +00:00
|
|
|
|
2011-09-30 18:15:37 +00:00
|
|
|
The capitalization for the application names is KiCad, Eeschema, CvPcb,
|
|
|
|
GerbView, and Pcbnew. All strings that have application names that are
|
|
|
|
visible to the user should be capitalized this way. It's also a good
|
|
|
|
idea use this capitalization in source code comments as well to prevent
|
|
|
|
confusion of new contributors.
|
|
|
|
|
2007-10-21 19:44:49 +00:00
|
|
|
|
2009-12-02 21:44:03 +00:00
|
|
|
Dialogs:
|
2007-10-21 19:44:49 +00:00
|
|
|
|
|
|
|
Follow the recommendations here:
|
2013-01-18 06:04:25 +00:00
|
|
|
|
2013-03-07 17:12:59 +00:00
|
|
|
http://developer.gnome.org/hig-book/stable/design-window.html.en
|
2007-10-21 19:44:49 +00:00
|
|
|
paying particular attention to "initial focus", "sensible default values",
|
2011-03-14 19:17:42 +00:00
|
|
|
"default buttons", ESC key termination. Please note that the escape key
|
|
|
|
termination only works properly if there is a dialog button defined with
|
|
|
|
an ID of wxID_CANCEL or SetEscapeID( MY_ESCAPE_BUTTON_ID ) is called during
|
|
|
|
dialog initialization. The former is the preferred method for handling
|
2013-01-18 06:04:25 +00:00
|
|
|
escape key dialog termination. There is a checkbox in wxformbuilder for
|
|
|
|
the "default" control, and this is the one fired when the "enter" key
|
|
|
|
is pressed.
|
2009-12-02 21:44:03 +00:00
|
|
|
|
|
|
|
Use wxWidgets "sizers" in all dialogs, no matter how simple they are:
|
2009-10-15 18:44:06 +00:00
|
|
|
http://zetcode.com/tutorials/wxwidgetstutorial/layoutmanagement
|
2007-10-21 19:44:49 +00:00
|
|
|
and keep dialogs resizeable.
|
2009-12-02 21:44:03 +00:00
|
|
|
|
2007-10-21 19:44:49 +00:00
|
|
|
Configure the sizers so that as the dialog window is expanded, the most
|
|
|
|
sensible use of the increased dialog window occurs automatically by the
|
2011-10-01 19:24:27 +00:00
|
|
|
sizers. For example, in the DRC dialog of Pcbnew, sizers should be used to
|
2007-10-21 19:44:49 +00:00
|
|
|
expand the text control to use the full available free window area, so that
|
|
|
|
the user's view of the items in the text control is maximized as he/she
|
|
|
|
expands the dialog window, making it easier to read more DRC error messages.
|
|
|
|
In other dialogs without one component more important than the others, the
|
|
|
|
sizers might be configured to position the controls to sensible positions
|
2009-12-02 21:44:03 +00:00
|
|
|
near the perimeter of the increasingly larger dialog box, not necessarily
|
|
|
|
leaving them all bundled tightly together. The dialog box should look
|
2007-10-21 19:44:49 +00:00
|
|
|
nice at any size large enough to show all the components.
|
2009-12-02 21:44:03 +00:00
|
|
|
|
2012-05-29 18:10:56 +00:00
|
|
|
When using wxFormBuilder, please add the following settings to the
|
|
|
|
"Dialog" node:
|
|
|
|
subclass.name <- DIALOG_SHIM
|
|
|
|
subclass.header <- dialog_shim.h
|
|
|
|
|
|
|
|
This will provide for an override of the Show( bool ) wxWindow() function
|
|
|
|
and provide retentitive size and position for the session.
|
|
|
|
|
2009-12-02 21:44:03 +00:00
|
|
|
Use tooltips to explain the functionality of each non-obvious control.
|
2007-10-21 19:44:49 +00:00
|
|
|
This is important because the help files and the wiki often lag behind
|
|
|
|
the source code.
|
2009-12-02 21:44:03 +00:00
|
|
|
|
|
|
|
Avoid defining initial dialog sizes if possible. Let the sizers do their
|
|
|
|
job. After the dialog is fit to the sizers, set the minimum size to the
|
|
|
|
current size to prevent the dialog controls from being obscured when
|
|
|
|
resizing the dialog. If the labels or text of the dialog controls are,
|
|
|
|
set or changed at run time. Rerun wxWindow::Fit() to allow the dialog to
|
|
|
|
re-size and adjust for the new control widths. This can all be done after
|
|
|
|
the dialog is created but before it is shown or use class methods to
|
|
|
|
re-size the dialog as required. Reset the minimum size to the updated
|
|
|
|
dialog size.
|
2010-03-08 03:29:16 +00:00
|
|
|
|
2010-03-08 19:43:29 +00:00
|
|
|
Dialog windows shall not exceed 1024 x 768 when displayed in a 13 point font.
|
2010-03-08 03:29:16 +00:00
|
|
|
Note that the font used by end users is not something that you control from
|
|
|
|
within the dialog, but for testing purposes please do not exceed this dialog
|
|
|
|
size should the user have selected a font size of 13 points.
|
|
|
|
|
2013-09-25 19:17:06 +00:00
|
|
|
Quoting:
|
2013-12-08 04:49:44 +00:00
|
|
|
Filenames, paths or other text should be with single quotes ''. e.g.:
|
|
|
|
'filename.kicad_pcb'
|
|
|
|
'longpath/subdir'
|
2013-09-25 19:17:06 +00:00
|
|
|
'FOOTPRINTNAME'
|
|
|
|
'anything else'
|
2010-03-08 03:29:16 +00:00
|
|
|
|
2013-12-08 04:49:44 +00:00
|
|
|
Often text strings like this end up in panels which use HTML rendering, and this
|
|
|
|
can happen in the future. Previously used angle brackets only cause grief there.
|
|
|
|
|