Make the `TriStateButton` class "universal" and use it in place of the
`OccludedLinesButton` class which is now removed.
Fix the tool-tips on the constraint button to show what will come instead
of what is - just like the the occluded lines button. Also change the
text of the tool-tips wording to be more clear and consistent with other
buttons.
Small stylistic and code formatting changes.
Afetr the `GetDevicePixelRatio` function was fixed to return `double`
`useWorkaround_devicePixelRatio` is not needed any more so remove it.
See the discussion in #1310 pull request for details.
The fuction GetDevicePixelRatio now returns a `double` instead of an `int`.
This should allow the scaling of the GUI on devices where the pixel ratio
is non integer to work properly. For example a monitor on Windows where the
DPI is not a multiple of 96. It may help with the Web Emscripten port on
tablets and phones as well.
In addition on Windows the mouse wheel delta calculation is fixed.
Prior to this commit, the "Nearest Isometric" GUI command searched all
24 possible isometric views. When using turntable navigation, this
could result in the z-axis no longer being oriented vertically. This
commit restricts the views being searched while in turntable
navigation mode to those that follow this restriction.
1. Use regular spaces instead of non-breaking, like English
2. Use en dashes instead of stars, which are more common in French
typography as bullet style
"Rotation Importation 90°" was the only noun group in this part
of the menu.
This replaces it with an infinitive group like the rest of the menu,
which is also easier to understand.
"Step" has plenty of meanings, and the wrong one was used here:
"espacement" roughly means "spacing", which is very confusing for the
"Step dimension" feature, and weird for "Step translation"/"Step rotation".
Instead, I chose to translate it as:
* "Pas-à-pas" for the former, which is a noun for lack of a verb that fully
captures the meaning, which literally translates to "step-by-step".
"Pas-à-pas" is also the common translation of "Step debugging" in
programming.
* "Répétiter par" for the latter, which is a verb (+ adverb) which literally
translates to "Repeat by" and is the most natural way to phrase this.
As a side-effect, I made a key binding consistent with English.