Commit Graph

177 Commits

Author SHA1 Message Date
wmayer
ab247acd0d Gui: properly handle small quantities in property editor 2021-04-20 17:10:33 +02:00
Chris Hennes
b1f8184858 Remove unneeded Qt version checks 2021-03-28 17:41:27 +02:00
Chris Hennes
b15f134038 Remove deprecated Qt constants
Qt has deprecated the following constants, this commit replaces them
with their new equivalent/replacement:

Qt::TextColorRole -> Qt::ForegroundRole
Qt::BackgroundColorRole -> Qt::BackgroundRole
QPainter::HighQualityAntialiasing -> QPainter::Antialiasing
QPalette::Foreground -> QPalette::WindowText
2021-03-28 17:03:09 +02:00
wmayer
a3e3487f74 Gui: [skip ci] handle number of decimals in PropertyUnitItem, PropertyVectorDistanceItem and PropertyPlacementItem 2021-03-27 18:31:49 +01: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
df0f979f3b App/Gui: fix memory leaks:
+ add function to cleanup units and quantities in debug build
+ fix reference leak in PropertyVector::getPyPathValue()
+ fix reference leak in PropertyPlacement::getPyPathValue()
+ in InterpreterSingleton::init() use a static std::vector<wchar_t*> instead of a C array
  to free memory at program end
+ in MainWindow::closeEvent() explicitly delete all task watchers
+ in ReportOutputObserver constructor pass parent to QObject
+ in PropertyEditor destructor explicitly delete QItemEditorFactory
2021-02-27 10:56:19 +01:00
wmayer
5b864424db Gui: [skip ci] improve exception handling:
* handle all exceptions in Application::onLastWindowClosed because this method can be (indirectly)  called from ~BaseView and would otherwise trigger std::terminate()
* handle exceptions in PropertyEditor::closeTransaction() because when recomputing a document while closing it leaves the editor in a bad state
2021-02-25 12:23:13 +01:00
wmayer
72b3354a28 Gui: [skip ci] Fix coverity warning
Coverity warnings fixed:

CID 305123 (#1 of 1): Logically dead code (DEADCODE)
dead_error_line: Execution cannot reach the expression this->linked inside this statement: if (role == Qt::TextColorRole && linked)
2021-02-21 16:53:23 +01:00
wmayer
9a49453802 Gui: [skip ci] fix crash on macOS in editor of vector list property 2021-02-18 21:43:53 +01:00
wmayer
5e00309368 Gui: [skip ci] add possibility to auto-expand items in property editor 2021-02-08 18:53:07 +01:00
wmayer
91435c96f7 Gui: [skip ci] support undo/redo for view properties in editor 2021-02-08 13:22:14 +01:00
wmayer
6b2b6a4868 PyCXX: [skip ci] fix compiler warnings due to changes on PyCXX 2020-11-25 16:52:46 +01:00
Zheng, Lei
e8f5c66435 Gui: fix property editor transaction closing 2020-09-18 13:56:20 +02:00
Zheng, Lei
685fc401a8 Gui: improve transaction handling in PropertyEditor 2020-09-04 16:01:21 +02:00
wmayer
44f42a8e2c LGTM: [skip ci] fix: Declaration hides parameter
A local variable hides a parameter. This may be confusing. Consider renaming one of them.
2020-07-27 10:57:34 +02:00
wmayer
864483d550 PVS: V560 A part of conditional expression is always true 2020-07-18 10:59:28 +02:00
wmayer
0a8f4b5103 Gui: [skip ci] improve usability of VectorListEditor 2020-06-29 21:29:12 +02:00
wmayer
602a9a1633 Gui: [skip ci] fix -Wrange-loop-construct 2020-06-22 22:50:55 +02:00
wmayer
771b4738a1 Gui: implement property editor for vector list 2020-06-22 22:28:15 +02:00
wmayer
f9984a0ab1 Gui: [skip ci] fix regression by using UTF-8 encoding in PropertyItem::setPropertyValue 2020-04-03 16:22:35 +02:00
wmayer
110ea2c68e [skip ci] improve whitespaces 2020-04-03 16:19:24 +02:00
wmayer
5c4ddf42ee Gui: [skip ci] bind spin boxes to object in Placement dialog 2020-03-27 17:08:08 +01:00
wmayer
ec8b1bc072 [skip ci] use QLocale class consistently to make it possible to change it application-wide 2020-03-26 16:37:45 +01:00
Zheng, Lei
34c35f8eff Gui: fix property editor crash on remove dynamic property
The crash happens when the dynamic property is removed due changes of
the very same property.
2020-03-21 15:43:12 +01:00
Zheng, Lei
0633abb70d Gui: refactor link property editor
PropertyLinkItem now support all major types of link property.
PropertyLinkListItem is no longer necessary, but kept for backward
compatible, which is now identical to PropertyLinkItem.

DlgPropertyLink, the link selection dialog, is now made modeless, so
that that user can select geometry sub-element directory from 3D view.
2020-02-11 15:40:27 -05:00
Zheng, Lei
24d935096d Gui: fix missing property editor transaction closing
The problem happens when refreshing property editor while editing.
2020-02-11 15:40:27 -05:00
wmayer
4318375a51 Gui: allow user to set an expression for property editor of vectors 2019-12-28 17:36:41 +01:00
Zheng, Lei
b0c9325432 App: fix PropertyXLink file path saving
Also modified ProeprtyLinkItem to show file path as tooltip.
2019-11-10 11:32:59 +01:00
Zheng, Lei
86b22fe3f6 Gui: force dynamic property item background and text color
To avoid visual problem under dark theme.
2019-11-09 16:17:19 +01:00
Zheng, Lei
c4fec26aaa Gui: improve PropertyXLink display in property view 2019-10-08 10:21:31 +02:00
Tomas Pavlicek
7157a4ac4d TechDraw - Fix Annotation and Symbol international characters mangling 2019-10-07 16:56:09 -04:00
Zheng, Lei
29f5ac736b Gui: sync expression change in property editor
This patch fixes two problems,

When one property item is assigned an expression, auto remove any parent
and child item expressions to avoid expression conflicts.

Disable value update when an property item or any of its parents are
bound by an expression.
2019-10-07 17:24:31 +02:00
Zheng, Lei
be951cc0d8 Gui: fix missing expression highlight in property editor 2019-10-07 17:24:31 +02:00
Zheng, Lei
da19c8489a Gui: fix missing auto update when edit property expression
It only happens when editing expression through property editor context
menu action.
2019-10-07 17:24:31 +02:00
wandererfan
81d2ff358d [App][Gui]Add Filter for PropertyFile in PropertyEditor 2019-09-20 07:56:52 -04:00
wandererfan
dbf0644b60 [Gui]Fix Py SyntaxError on " in PropertyStringList 2019-09-19 06:59:05 -04:00
wmayer
b50b21576e core system
force strict ISO C++ (-Wpedantic)
TODO: still a lot of variadic macros are not valid ISO C++
2019-09-18 01:01:14 +02:00
Zheng, Lei
fd0f4f5654 Split App::AutoTransaction into its own file 2019-09-10 14:17:07 +02:00
Zheng, Lei
69d124a93c Gui: fix property view flickering 2019-09-10 14:17:07 +02:00
wmayer
6d9d94f118 correctly handle custom property names (e.g. sketcher constraints) 2019-09-08 17:32:43 +02:00
Zheng, Lei
ddb17b23b0 Gui: fix property editor crash on recompute
The actual cause of crash in previous commit 80f70ff6 is
Document::recompute() allows aborting using Base::Sequence, which
uses QApplication::processEvent() to catch 'ESC' key press. This local
event loop causes premature deletion of the editor widget.

This patch moves handling of closeEditor before calling recompute().
2019-08-30 14:25:41 +02:00
Zheng, Lei
378314aafb Gui: try to fix property editor crash
Crash stack trace
https://forum.freecadweb.org/viewtopic.php?f=8&t=37757&e=1&view=unread#p327901

It appears to by caused by handling QAbstractItemDelegate::closeEditor
signal twice. Once inside PropertyItemDelegate::editorClosed via slot
connection where the editor is closed/destroyed, the other in
PropertyEditor::closeEditor() which tries to access the destroyed
editor.

This patch removes handling of closeEditor signal in
PropertyItemDelegate.
2019-08-30 13:55:24 +02:00
Yorik van Havre
5a004191a3 Gui: Do not use hard-coded blue color in tree 2019-08-20 20:12:51 -03:00
wmayer
5172c3bc08 Fix clang compiler warnings:
+ fix -Winconsistent-missing-override
+ fix -Wunused-variable
+ fix -Wbraced-scalar-init
+ fix -Wparentheses (View3DInventorViewer::checkGroupOnTop: operator '?:' has lower precedence than '+'; '+' will be evaluated first)
+ fix -Wundefined-bool-conversion (MainWindow::updateActions)
+ suppress -Woverloaded-virtual but fix later
2019-08-17 19:52:12 +02:00
Zheng, Lei
088c282e2e PropertyEditor: fix bug when constructing context menu 2019-08-17 15:32:48 +02:00
Zheng, Lei
2bd4795e80 Gui: property view related changes
* Display property from linked object, colored green,

* Change DlgPropertyLink to support external linking and sub-object
  selection

* Improve large selection performance by using a timer

* Improve TAB key behavior in property editor

* Add context menu to show hidden properties, change property status,
  set expression on any and property, and add/remove dynamic properties

* Optimize expression completer model construction, as the original
  implementation gets prohibitively slow for moderate number of objects.
2019-08-17 15:08:33 +02:00
wmayer
16a84b9605 add some comments 2019-03-04 19:25:43 +01:00
wmayer
f24bed170a fix navigation with Tab or Shift+Tab in property editor 2019-03-04 19:15:53 +01: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
Mateusz Skowroński
317bcd59c9 Use QString's multi-arg overload to save memory allocations. [-Wclazy-qstring-arg] Thanks Clazy! 2019-02-11 15:39:14 +01:00