wmayer
6cac113ec7
Gui: QuantitySpinBox inherits from ExpressionSpinBox to reduce code duplication
2021-04-02 22:22:16 +02:00
wmayer
f5063af183
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
b34acb8b31
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
d69bbaa51b
[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
30ccf14117
Gui: [skip ci] fixes #0004104 : Void property value defaults to 1
2021-02-23 17:32:02 +01:00
luz paz
38815b9550
Gui: Fix header uniformity, whitespace, and doxygen fixes
2020-11-26 10:14:56 +01:00
wmayer
c24516ae71
Gui: [skip ci] try to avoid to truncate QuantitySpinBox at bottom margin on macOS
2020-11-14 13:18:45 +01:00
wmayer
8e6bb060a7
Gui: [skip ci] try to avoid to truncate QuantitySpinBox at bottom margin on macOS
2020-11-08 16:07:10 +01:00
wmayer
9a951a96a9
Gui: [skip ci] fixes #0004422 : PartDesign value input does not accept trailing slash
2020-09-14 10:37:46 +02:00
wmayer
f3c697abe7
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
22bfd76efd
plugin: [skip ci] add new signal textChanged() to QuantitySpinBox
2020-08-09 11:22:47 +02:00
Thomas Gimpel
0ba7dcd0f6
Gui: do not drop unhandled key events in *SpinBox::keyPressedEvent() handlers
2020-07-12 11:38:44 +02:00
wmayer
8dbe26a95f
Qt5: 'int QFontMetrics::width' is deprecated since Qt 5.11: Use QFontMetrics::horizontalAdvance [-Wdeprecated-declarations]
2020-06-12 17:51:33 +02:00
wmayer
74bdc701a9
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
2c353464c9
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
755c537588
Gui: [skip ci] in QuantitySpinBox first set pendingEmit to false before actually emitting the signals
2020-06-02 08:22:24 +02:00
wmayer
e5f6b5dd81
Gui: [skip ci] make QuantitySpinBox to handle disabled keyboard tracking
2020-06-01 18:47:54 +02:00
wmayer
6b2e9d0a6d
Gui: [skip ci] remove superfluous word
2020-04-30 11:35:53 +02:00
wmayer
0d4a29aa0c
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
ec7ea875a1
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
d8d44f37cb
[skip ci] fix superfluous workarounds
2020-01-09 23:36:28 +01:00
wmayer
74953de3f0
fixes 0004059: Tooltips for Gui::QuantitySpinBox not showing [skip ci]
2020-01-09 22:39:47 +01:00
wmayer
3ab0a20fcd
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
c5061f73c5
Gui: [skip ci] avoid weird acronyms in function names
2020-01-09 17:23:12 +01:00
donovaly
910022bafd
QuantitySpinBox: add function to set/change tooltip at runtime
2020-01-07 07:39:28 -03:00
wmayer
ebf585c0c7
Gui: implement size hint for quantity spin box
2019-12-22 11:52:59 +01:00
wmayer
e1b7ef10c7
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
79ab25a25c
Gui: set/get number of decimals of a quantity spin box
2019-12-20 14:44:40 +01:00
Zheng, Lei
38c47d6e95
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
86b4272971
fixes 0003794: Shortcut-Key is executed in edit field of a constraint (Combo View)
2019-02-16 21:53:23 +01:00
wmayer
448408c28a
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
6c0fe8a947
when resetting expression on angle convert value back to radian
2017-10-19 23:47:51 +02:00
wmayer
96d01c9200
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
2ddbc6e482
Fixed expression retrieval if no expression is set.
2017-10-10 13:06:35 +02:00
wmayer
8d0dc20c20
support of sub-properties when binding QuantitySpinBox via Python
2017-10-07 19:01:33 +02:00
Markus Lampert
cecc568390
Disabled debug printing.
2017-10-07 15:52:31 +02:00
Markus Lampert
02bd04592c
Added read-only 'expression' property to QunatitySpinBox and renamed 'boundTo' to 'binding'.
2017-10-07 15:52:31 +02:00
Markus Lampert
bec9268ba3
Added boundTo as a property to QuantitySpinBox to enable binding from Python.
2017-10-07 15:52:31 +02:00
wmayer
356aa00193
add new property rawValue to QuantitySpinBox to make it accessible from Python
2017-10-05 22:46:02 +02:00
Eivind Kvedalen
0684109663
ExpressionBinding/QuantitySpinBox: skip updating if bound to a read-only property.
2017-07-26 23:39:00 +02:00
AjinkyaDahale
23d78e55c3
Shortened decimal check code in QuantitySpinBox
2016-10-16 09:30:49 +02:00
wmayer
67e3dc814a
issue #0002712 : Can't use more than one decimal in dimension
2016-10-15 16:27:38 +02:00
wmayer
2af6bb6e49
replace deprecated auto_ptr with unique_ptr
2016-09-22 13:01:20 +02:00
maurerpe
5a85155565
Add missing header files
...
Needed for Qt5, recommended for Qt4
2016-02-24 23:55:40 +01:00
Mateusz Skowroński
c275b35d48
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
2c249e69f2
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
96a586d04a
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
68fc3b5917
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
f33ce91c8f
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
273698307e
QunatitySpinBox: Removed unused code.
2015-09-30 15:54:16 +02:00