Commit Graph

18 Commits

Author SHA1 Message Date
Benjamin Nauck
b625e81a3e Gui: Use std::numeric_limits and std::numbers instead of defines 2025-03-29 13:32:38 +01:00
tritao
28f18ded85 Gui: Fix invalid scene graph mutation in EditableDatumLabel.
`EditableDatumLabel` uses `activate`/`deactivate` methods for showing or
hiding its widgets in the scene.

However, `activate`/`deactivate` methods can end up being called as part
of a scene graph / Coin action (`SoAction`) handler, in the context of
`SoFCUnifiedSelection`, and this ended up in a Coin warning and eventual
crash due to the scene graph being manipulated (nodes being removed),
which Coin has checks for in debug mode:

```
Coin error in SoGroup::removeChild(): tried to remove non-existent child
0x5555579c5290 (Annotation)
```

Fix this issue by using a `SoSwitch` node instead and by controling the
child visibility using it instead.
2025-01-27 17:51:40 +01:00
Ladislav Michl
0b3adee2ab Base: Quantity: return std::string 2024-12-23 17:48:42 +01:00
Abdullah Tahiri
f56eebea64 Sketcher: Fix lints 2023-11-08 17:46:34 +01:00
Abdullah Tahiri
5a4267a58e EditableDatumLabel: Extend with function to differentiate positioning from dimensioning OVPs 2023-11-08 15:20:13 +01:00
Paddle
95e6699a3e EditableDatumLabel : Fix issue where the spinbox would get in the way of the cursor for angle. For example line angle. 2023-11-07 15:36:21 +01:00
Paddle
4e20c25839 EditableDatumLabel : make sure the spinbox that has the focus is on top. 2023-11-07 15:36:21 +01:00
Paddle
5e9edfea73 EditableDatumLabel : prevent spinbox from going out of the view. 2023-11-07 15:36:21 +01:00
Paddle
b992ebfd07 EditableDatumLabel : prevent re-activation or re-startEdit. 2023-10-24 19:27:10 +02:00
Paddle
38d5580dfe Add a 'value' double to EditableDatumLabel such that we can store the raw value of the spinbox. For the case where editStopped but we still need to access value.
Also write the value in the SoDatumLabel in case we stopEdit.
2023-10-24 19:27:10 +02:00
Paddle
20e41aea0b EditableDatumLabel : Change the 'invisibleToMouse' to 'visibleToMouse' to avoid double negation.
Also add parameter to startEdit to set this setting. Defaulting to false. So that we don't have to set manually again and again in tool settings.
2023-10-24 19:27:10 +02:00
Paddle
ecdbd69db5 EditableDatumLabel add 'isInEdit' to check if the label is in edit. 2023-10-20 11:23:33 +02:00
Paddle
6c2493799e EditableDatumLabel add support for angle labels. 2023-10-20 11:23:33 +02:00
Paddle
527ffeb3b4 EditableDatumLabel : Prevent passing the focus with tab. And small thing. 2023-10-13 19:03:45 +02:00
Paddle
ce4cb6eea7 Adds SoDatumLabel::getLabelTextCenter() to get the externalize the finding of position of text center. 2023-10-13 19:03:45 +02:00
Paddle
6741e95990 editableDatumLabel : add setSpinboxInvisibleToMouse 2023-10-13 19:03:45 +02:00
wmayer
99358cd063 Gui: fix clang-tidy warnings in EditableDatumLabel
and fix two further memory leaks
2023-09-17 19:11:31 +02:00
Paddle
620c2ce239 Introduce EditableDatumLabel. A class that handles a SoDatumLabel with a spinbox to edit its value. 2023-09-17 13:05:53 +02:00