Commit Graph

185 Commits

Author SHA1 Message Date
Zheng, Lei
8cf3cf330b App/Gui: allow change dynamic property group and documentation
Exposed as PropertyContainerPy.setGroup/DocumentationOfProperty.

Added a menu action to property view for rename dynamic property group.
2021-11-14 20:45:09 -06:00
Zheng, Lei
72ae26dfee App/Gui: improve expression binding of PropertyEnumeration
The enumeration items are exposed through sub path '.Enum'. When
'ShowAll' is enabled in property view, this sub path is exposed as a
sub property item named 'Enum', and can be either manually edited or
bound with an expression.
2021-11-14 20:45:09 -06:00
wmayer
7a35afdd8e Gui: add class RotationHelper to reduce code duplication of PropertyRotationItem and PropertyPlacementItem 2021-10-29 15:59:55 +02:00
wmayer
61de191771 Gui: implement editor for PropertyRotation 2021-10-29 12:41:03 +02:00
Yorik van Havre
f3ccc6d660 Merge pull request #5023 from marioalexis84/gui-encoding
Gui:  Harmonize encoding/decoding between view, property editor and command line.
2021-10-14 12:24:49 +02:00
Zheng, Lei
51d814d222 Gui: handle exception in property item display 2021-10-12 14:49:15 -05:00
marioalexis
6d51083240 Gui: Fix Unicode and UTF-8 encoding character behavior 2021-09-23 21:21:24 -03:00
Syres916
dddf76b47f [Gui] PropertyItem change Base Quantity Format 2021-08-12 10:52:25 +01:00
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