summaryrefslogtreecommitdiff
path: root/Documentation/guidelines/UIpolicies.txt
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation/guidelines/UIpolicies.txt')
-rw-r--r--Documentation/guidelines/UIpolicies.txt85
1 files changed, 85 insertions, 0 deletions
diff --git a/Documentation/guidelines/UIpolicies.txt b/Documentation/guidelines/UIpolicies.txt
new file mode 100644
index 0000000..98a2c18
--- /dev/null
+++ b/Documentation/guidelines/UIpolicies.txt
@@ -0,0 +1,85 @@
+
+** General UI Guidelines for KiCad Development
+
+
+Capitalization:
+
+ For any visible text used within KiCad, follow recommendations here:
+ 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.
+
+ 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.
+
+
+Dialogs:
+
+ Follow the recommendations here:
+
+ http://developer.gnome.org/hig-book/stable/design-window.html.en
+ paying particular attention to "initial focus", "sensible default values",
+ "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
+ 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.
+
+ Use wxWidgets "sizers" in all dialogs, no matter how simple they are:
+ http://zetcode.com/tutorials/wxwidgetstutorial/layoutmanagement
+ and keep dialogs resizeable.
+
+ Configure the sizers so that as the dialog window is expanded, the most
+ sensible use of the increased dialog window occurs automatically by the
+ sizers. For example, in the DRC dialog of Pcbnew, sizers should be used to
+ 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
+ near the perimeter of the increasingly larger dialog box, not necessarily
+ leaving them all bundled tightly together. The dialog box should look
+ nice at any size large enough to show all the components.
+
+ 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.
+
+ Use tooltips to explain the functionality of each non-obvious control.
+ This is important because the help files and the wiki often lag behind
+ the source code.
+
+ 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.
+
+ Dialog windows shall not exceed 1024 x 768 when displayed in a 13 point font.
+ 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.
+
+Quoting:
+ Filenames, paths or other text should be with single quotes ''. e.g.:
+ 'filename.kicad_pcb'
+ 'longpath/subdir'
+ 'FOOTPRINTNAME'
+ 'anything else'
+
+ 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.
+