wmayer
5d49bf78de
Gui: QuantitySpinBox inherits from ExpressionSpinBox to reduce code duplication
2021-04-02 22:22:16 +02:00
wmayer
75bf85eb5b
Gui: Change label type to ExpressionLabel in ExpressionBinding
...
* Add function ExpressionBinding::makeLabel() and use it in subclasses to reduce code duplication
2021-04-02 17:46:42 +02:00
Chris Hennes
64fb634ed1
Add tooltip to f(x) when there is no expression
...
As suggested by @luzpaz, this adds a tooltip to the f(x) icon of all
of the widgets that use it: QuantitySpinBox, UIntSpinBox, IntSpinBox,
DoubleSpinBox, and ExpLineEdit. These five classes are divided across
three files, and all five classes duplicate the same basic code. In the
existing code, no tooltip is shown if there is no expression. If there
is an expression, it (alone) is used as the tooltip.
This commit modifies that behavior to have explanatory text as the
tooltip when there is no expression, and when there is, to prepend a
short string to the beginning.
To reduce further code duplication, this is implemented by adding a new
function to ExpressionLabel allowing the text of the expression to be set.
It checks that text and if it's empty, uses a preset default string as the
tooltip. If there is expression text, it instead prepends another
bit of text to the front and sets the entire expression+prefix as the
tooltip.
TODO: In the future a lot of the preexisting code duplication could be
removed by making the ExpressionLabel class do more internal management
of the expression.
Thanks to @kisolre for the assistance tracking these down, and
suggesting the default text used.
2021-04-02 16:17:04 +02:00
Benjamin Nauck
f9ac51b6a6
[Gui] Use std::shared_ptr instead of boost::shared_ptr
...
There's no need to use boost version when stl has support for shared_ptr
2021-03-06 19:32:03 +01:00
wmayer
1939b93fa7
Gui: [skip ci] fixes #0004104 : Void property value defaults to 1
2021-02-23 17:32:02 +01:00
luz paz
298c677873
Gui: Fix header uniformity, whitespace, and doxygen fixes
2020-11-26 10:14:56 +01:00
wmayer
aabff60388
Gui: [skip ci] try to avoid to truncate QuantitySpinBox at bottom margin on macOS
2020-11-14 13:18:45 +01:00
wmayer
c5a4b01d2e
Gui: [skip ci] try to avoid to truncate QuantitySpinBox at bottom margin on macOS
2020-11-08 16:07:10 +01:00
wmayer
d205122160
Gui: [skip ci] fixes #0004422 : PartDesign value input does not accept trailing slash
2020-09-14 10:37:46 +02:00
wmayer
877d7e3c49
Gui: [skip ci] workaround for QWindowsStyle to disable spin buttons when it is set read-only
2020-09-11 14:10:45 +02:00
wmayer
050356aa55
plugin: [skip ci] add new signal textChanged() to QuantitySpinBox
2020-08-09 11:22:47 +02:00
Thomas Gimpel
33499a5552
Gui: do not drop unhandled key events in *SpinBox::keyPressedEvent() handlers
2020-07-12 11:38:44 +02:00
wmayer
1ee3d79d7c
Qt5: 'int QFontMetrics::width' is deprecated since Qt 5.11: Use QFontMetrics::horizontalAdvance [-Wdeprecated-declarations]
2020-06-12 17:51:33 +02:00
wmayer
9a67154e73
Gui: [skip ci] fix bug when keyboard tracking for QuantitySpinBox is disabled and value is changed by mouse wheel or the spin buttons
2020-06-07 23:38:03 +02:00
wmayer
03113405fc
Gui: [skip ci] fix bug when keyboard tracking for QuantitySpinBox is disabled and value is changed by mouse wheel or the spin buttons
2020-06-07 11:30:56 +02:00
wmayer
8fb5da86b4
Gui: [skip ci] in QuantitySpinBox first set pendingEmit to false before actually emitting the signals
2020-06-02 08:22:24 +02:00
wmayer
15c9644008
Gui: [skip ci] make QuantitySpinBox to handle disabled keyboard tracking
2020-06-01 18:47:54 +02:00
wmayer
a1ab4bb3f2
Gui: [skip ci] remove superfluous word
2020-04-30 11:35:53 +02:00
wmayer
227246e01b
Gui: [skip ci] avoid to override the format settings of the quantity after validating the input text
2020-04-28 18:43:50 +02:00
wmayer
a74137146b
Gui: [skip ci] fix size hint of QuantitySpinBox by setting text margins of 2px
...
See https://forum.freecadweb.org/viewtopic.php?f=3&t=45344
2020-04-28 16:53:52 +02:00
wmayer
379018cde4
[skip ci] fix superfluous workarounds
2020-01-09 23:36:28 +01:00
wmayer
d700744052
fixes 0004059: Tooltips for Gui::QuantitySpinBox not showing [skip ci]
2020-01-09 22:39:47 +01:00
wmayer
a03244fa1e
Gui: [skip ci] when changing expression of a widget then set tooltip only for the label child but not for the widget itself
...
this allows that a custom tooltip can be set
2020-01-09 21:35:13 +01:00
wmayer
222a84423d
Gui: [skip ci] avoid weird acronyms in function names
2020-01-09 17:23:12 +01:00
donovaly
65acf2371e
QuantitySpinBox: add function to set/change tooltip at runtime
2020-01-07 07:39:28 -03:00
wmayer
a056d85f7d
Gui: implement size hint for quantity spin box
2019-12-22 11:52:59 +01:00
wmayer
98dfe7c387
add posibility to use a unit schema other then the system schema to represent a quantity
2019-12-21 13:35:14 +01:00
wmayer
b6ae122351
Gui: set/get number of decimals of a quantity spin box
2019-12-20 14:44:40 +01:00
Zheng, Lei
ea7eee8061
Expression: split Expression.h to ExpressionParser.h
...
Split Expression details into a separate header to reduce recompilation
time on changes.
2019-09-28 15:30:41 +02:00
wmayer
5f4deea7c9
fixes 0003794: Shortcut-Key is executed in edit field of a constraint (Combo View)
2019-02-16 21:53:23 +01:00
wmayer
93163b28d0
Improve usability of expression dialog:
...
+ add signal showFormulaDialog to QuantitySpinBox in order to indicate whether the formula dialog opens or closes
+ when formula dialog opens then hide the button box in the parent dialog, show it again when the formula dialog closes
2018-08-23 12:22:57 +02:00
wmayer
e06ae2cfde
when resetting expression on angle convert value back to radian
2017-10-19 23:47:51 +02:00
wmayer
8b2fcf3677
fix several kind of warnings:
...
+ fix -Wparentheses/-Wlogical-op-parentheses
+ fix -Wunused-variable
+ disable -Wundefined-var-template due to many false-positives (clang)
+ fix -Winconsistent-missing-override
+ fix -Wmaybe-uninitialized
2017-10-15 19:12:07 +02:00
Markus Lampert
5632f17d81
Fixed expression retrieval if no expression is set.
2017-10-10 13:06:35 +02:00
wmayer
187c398cd4
support of sub-properties when binding QuantitySpinBox via Python
2017-10-07 19:01:33 +02:00
Markus Lampert
b76f9d5423
Disabled debug printing.
2017-10-07 15:52:31 +02:00
Markus Lampert
b28e48c10b
Added read-only 'expression' property to QunatitySpinBox and renamed 'boundTo' to 'binding'.
2017-10-07 15:52:31 +02:00
Markus Lampert
7a352fea52
Added boundTo as a property to QuantitySpinBox to enable binding from Python.
2017-10-07 15:52:31 +02:00
wmayer
81e2480ca6
add new property rawValue to QuantitySpinBox to make it accessible from Python
2017-10-05 22:46:02 +02:00
Eivind Kvedalen
f114cc8898
ExpressionBinding/QuantitySpinBox: skip updating if bound to a read-only property.
2017-07-26 23:39:00 +02:00
AjinkyaDahale
7535d7a1d1
Shortened decimal check code in QuantitySpinBox
2016-10-16 09:30:49 +02:00
wmayer
a68364e913
issue #0002712 : Can't use more than one decimal in dimension
2016-10-15 16:27:38 +02:00
wmayer
f944ab3846
replace deprecated auto_ptr with unique_ptr
2016-09-22 13:01:20 +02:00
maurerpe
8de9436c36
Add missing header files
...
Needed for Qt5, recommended for Qt4
2016-02-24 23:55:40 +01:00
Mateusz Skowroński
cd2db00f22
QString::fromAscii() is obsolete in Qt5. Replace it with fromLatin1().
...
This change is Qt4/Qt5 neutral.
2016-01-05 16:07:25 +01:00
Stefan Tröger
dcad131357
Expressions: Fix property editor behavior
...
- change responsibility of python code emition
- Correct python code handling for expressions
- handle constraints expressions handling
2015-12-09 14:08:50 +01:00
Stefan Tröger
4203a6f35b
Expressions: Integrate into the property editor
...
- basic infrastructure for handling of expressions
- port the unit properties editor to support expressions
- port placement editor to support expressions
- expressions for double spinbox
- expressions in sketch constraints
2015-12-09 14:08:48 +01:00
Eivind Kvedalen
081bc6b107
QuantitySpinBox: Make sure Python code is emitted also when expressions are not used.
...
In that case, the property should be set directly.
2015-11-13 20:26:13 +01:00
Eivind Kvedalen
014bb5b519
QuantitySpinBox: Moved getIcon() and some data members to ExpressionBinding class.
...
Conflicts:
src/Gui/QuantitySpinBox.cpp
2015-09-30 15:54:17 +02:00
Eivind Kvedalen
5826a6ccb3
QunatitySpinBox: Removed unused code.
2015-09-30 15:54:16 +02:00