You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: stylebook/index.md
+5-93Lines changed: 5 additions & 93 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -14,6 +14,11 @@ In the long term, the book should settle down and become primarily a resource fo
14
14
15
15
Note: The stylebook is a catalog of _guidelines_. These are not hard laws to be followed. The overarching principle is to make the user interface intuitive and welcoming. If blindly following a guideline does not serve that purpose, then ignoring the guideline is acceptable. However, the _right answer_ is to refine the guideline here to account for what has been learned.
@@ -45,47 +50,6 @@ The workbench switcher is an important control to the general FreeCAD workflow.
45
50
2. The first ten workbenches are automatically assigned an accelerator of W <#>. The user has no control over the assignment of accelerators.
46
51
3. By default, all workbenches installed in FreeCAD are shown. This includes workbenches that are of marginal value or seldom used, especially by new users. This contributes to confusion since users don’t know yet which workbenches they need to use.
47
52
48
-
### Toolbars
49
-
50
-
1. File
51
-
2. Edit
52
-
3. Clipboard
53
-
4. Workbench
54
-
5. Macro
55
-
6. View
56
-
7. Structure
57
-
8. Help
58
-
9. Navigation
59
-
10. <<Workbench>>
60
-
61
-
#### Guidelines
62
-
63
-
1. Toolbars provide convenient access to frequently used commands. They do this at the expense of permanently occupying screen real space.
64
-
2. Too many toolbars create visual clutter. All tools compete for the users attention simultaneously. They are not context aware.
65
-
3. Toolbars group related commands.
66
-
4. Anticipate the user might disable the toolbar.
67
-
5. Group locally similar tools into a toolgroup.
68
-
6. All tools in a toolbar should have a translatable and useful tooltip.
69
-
7. The toolbar itself should have a translatable and useful tooltip.
70
-
8. A toolbar should contain a minimum number of tools, ideally less than seven. Longer toolbars provide fewer options for customization and often get shortened or clipped offscreen. They also increase cognitive burden since the user has to process the group as a whole.
71
-
72
-
#### Problems
73
-
74
-
1. Toolbars are the developers go-to UI element. They are simple to code and useful during development. As a result they are often overused and visually cluttered.
75
-
76
-
### Toolbar Area
77
-
78
-
The toolbar area contains toolbars. Some of the toolbars are available everywhere and some are workbench specific.
79
-
80
-
#### Guidelines
81
-
82
-
1. Consider how toolbars will look and arrange on small screens
83
-
2. Consider how toolbars will look and arrange on multi-screen configurations
84
-
85
-
#### Problems
86
-
87
-
1. Toolbars can be rearranged on a per-workbench basis and the arrangement is meant to persist between sessions. This is intended to be a feature but often acts like a bug. The user arranges toolbars to his liking (including those toolbars that appear on multiple workbenches) while in one workbench. After a switch to another workbench it can happen that the toolbars rearrange in a different order.
88
-
89
53
### ComboView
90
54
91
55
The combo view contains the tree view and the task panel area.
@@ -176,18 +140,6 @@ The status bar is the only part of the UI that is always the same regardless of
176
140
177
141
tbd
178
142
179
-
### Navigation Cube
180
-
181
-
General
182
-
183
-
#### Guidelines
184
-
185
-
tbd
186
-
187
-
#### Problems
188
-
189
-
tbd
190
-
191
143
### Task View
192
144
193
145
Each tool should put all of it’s settings in a single task box.
@@ -202,26 +154,6 @@ Task panels should always start with valid defaults (e.g. the shapestring dialog
202
154
203
155
Task panels should always preview their results in the 3d window. If a preview is computationally too intense, provide an `Apply` button to generate a preview. _(I’m looking at YOU, shapestring tool!)_
204
156
205
-
### Selection
206
-
207
-
Reference: [FreeCAD Wiki - Selection Methods](https://wiki.freecad.org/selection_methods)
208
-
209
-

210
-
211
-
#### Terms
212
-
213
-
1. Selection: the set of objects and subobjects that the user has selected
214
-
2. Pre-selection: the object directly under the pointer which will be added to the selection if the user clicks
215
-
3. Selection View: The panel which allows the user to see the selection items
216
-
4. Greedy selection: Mode in which additional items are added to the selection without requiring a modifier key
217
-
5. Selection gate: Logic which can be initiated via code that controls which objects may be selected
218
-
6. Selection observer: Logic which can be initiated via code that watches the selection. It can be used to trigger actions under specific selection conditions.
219
-
220
-
#### Guidelines
221
-
222
-
1. Selection gates and observers are powerful tools for adjusting the affordances of the GUI and providing signals. They must be used with care because they can adversely affect the performance of the GUI.
223
-
2. If the user is asked to select multiple features, he should be able to select by clicking them, and unselect them as well by clicking on selected features.
Reference: [FreeCAD Wiki - Selection Methods](https://wiki.freecad.org/selection_methods)
8
+
9
+

10
+
11
+
### Terms
12
+
13
+
1. Selection: the set of objects and subobjects that the user has selected
14
+
2. Pre-selection: the object directly under the pointer which will be added to the selection if the user clicks
15
+
3. Selection View: The panel which allows the user to see the selection items
16
+
4. Greedy selection: Mode in which additional items are added to the selection without requiring a modifier key
17
+
5. Selection gate: Logic which can be initiated via code that controls which objects may be selected
18
+
6. Selection observer: Logic which can be initiated via code that watches the selection. It can be used to trigger actions under specific selection conditions.
19
+
20
+
### Guidelines
21
+
22
+
1. Selection gates and observers are powerful tools for adjusting the affordances of the GUI and providing signals. They must be used with care because they can adversely affect the performance of the GUI.
23
+
2. If the user is asked to select multiple features, he should be able to select by clicking them, and unselect them as well by clicking on selected features.
1. Toolbars provide convenient access to frequently used commands. They do this at the expense of permanently occupying screen real space.
27
+
2. Too many toolbars create visual clutter. All tools compete for the users attention simultaneously. They are not context aware.
28
+
3. Toolbars group related commands.
29
+
4. Anticipate the user might disable the toolbar.
30
+
5. Group locally similar tools into a toolgroup.
31
+
6. All tools in a toolbar should have a translatable and useful tooltip.
32
+
7. The toolbar itself should have a translatable and useful tooltip.
33
+
8. A toolbar should contain a minimum number of tools, ideally less than seven. Longer toolbars provide fewer options for customization and often get shortened or clipped offscreen. They also increase cognitive burden since the user has to process the group as a whole.
34
+
35
+
#### Problems
36
+
37
+
1. Toolbars are the developers go-to UI element. They are simple to code and useful during development. As a result they are often overused and visually cluttered.
38
+
39
+
### Toolbar Area
40
+
41
+
The toolbar area contains toolbars. Some of the toolbars are available everywhere and some are workbench specific.
42
+
43
+
#### Guidelines
44
+
45
+
1. Consider how toolbars will look and arrange on small screens
46
+
2. Consider how toolbars will look and arrange on multi-screen configurations
47
+
48
+
#### Problems
49
+
50
+
1. Toolbars can be rearranged on a per-workbench basis and the arrangement is meant to persist between sessions. This is intended to be a feature but often acts like a bug. The user arranges toolbars to his liking (including those toolbars that appear on multiple workbenches) while in one workbench. After a switch to another workbench it can happen that the toolbars rearrange in a different order.
0 commit comments