Commit Graph

57 Commits

Author SHA1 Message Date
wandererfan
f8f85f0079 Improve "links go out of scope" message 2018-12-08 11:29:45 -03:00
wmayer
7ceac311b3 add specialized exception type for bad graphs 2018-11-26 14:15:19 +01:00
wmayer
e58f72933a fix DocumentObject::isInInListRecursive and DocumentObject::isInOutListRecursive 2018-11-16 01:14:33 +01:00
wmayer
c009a206f8 make _getInListRecursive much more efficient by avoiding to process objects multiple times 2018-11-15 23:17:04 +01:00
wmayer
5479936894 remove superfluous error messages in In/Out list methods 2018-11-15 22:16:29 +01:00
wmayer
23addab20d fix exception message 2018-11-14 23:18:27 +01:00
wmayer
6186a310d7 Add a new PropertyType enum Prop_NoRecompute to reduce possible inconsistencies between touched and recomputed features.
At the moment many feature classes lack of the mustExecute() method and thus can cause a touched feature not to be recomputed and causes the feature to be in a broken state.
Now this new enum value virtually makes the mustExecute() superfluous and thus guarantees to recompute a feature if a modified property has not set the Prop_NoRecompute flag.

On the other hand there are properties that should only touch a feature but not enforce a recompute. This guarantees a better performance and avoids unnecessary recomputes.
For example this is useful for placements where a change can be applied on-the-fly and the feature is up-to-date. Other features that depend on the touched feature will still be recomputed.
2018-11-08 10:20:50 +01:00
wmayer
dedf42102e remove leftover of boost.signals headers 2018-11-05 00:03:36 +01:00
wmayer
b6712e264a fix crash with Py3 when releasing memory buffer 2018-10-27 19:58:54 +02:00
wmayer
93f06f8256 fixes 0003410: 0.17 Regression: recompute will make parts lose color and take a longer delay compared to FC0.16 2018-10-02 19:04:44 +02:00
wmayer
cc00dc85d0 #3325: DlgPropertyLink as editor of Tip property 2018-01-28 22:37:03 +01:00
wmayer
7fed1a29c1 do not raise exception if link is out of scope, but write a warning 2018-01-28 00:15:12 +01:00
wmayer
4b781d75b4 fix crash when querying information about an object that is not part of a document 2018-01-11 16:13:07 +01:00
Eivind Kvedalen
2ae1313975 Moved ObjectStatusLocker template class to Base/Tools.h 2017-11-30 16:28:41 +01:00
wmayer
7d3af3647d add virtual method onExtendedDocumentRestored DocumentObjectExtension 2017-10-25 22:51:50 +02:00
wmayer
725a5b6545 method to get paths between two objects 2017-10-20 18:26:18 +02:00
wmayer
04ac31cba0 make _getOutListRecursive much more efficient by avoiding to process objects multiple times 2017-10-10 00:51:25 +02:00
wmayer
88962a8c45 update expressions when relabelling a document object 2017-10-08 01:45:39 +02:00
Stefan Tröger
3dccf50e83 Introduce Scoped links to prevent cross cs links 2017-09-09 16:47:07 +02:00
Stefan Tröger
51005bb81e Fix _inList tracking in case of link removal 2017-09-09 16:47:07 +02:00
Stefan Tröger
f96c69deed Prevent cross GeoFeatureGroup links on recompute 2017-09-09 16:47:07 +02:00
wmayer
a5bc70cca0 remove properties from transactions when being deleted 2017-08-28 21:20:17 +02:00
wmayer
033242ead8 protect document against nested recomputes
+ convert ObjectStatusLocker into a template class to make its usage more flexible
+ add status flag 'Recomputing' and set in Document::recompute to detect and avoid nested calls of recompute
2017-07-17 18:24:10 +02:00
wmayer
989fe4028e various fixes:
+ fix typos
+ fix const correctness
+ whitespace improvements
2017-06-19 17:18:16 +02:00
Stefan Tröger
9fbf118cdd Group tests and fixes 2017-06-19 15:37:09 +02:00
wmayer
8032a7a492 replace hard-coded values with enum values 2017-05-30 15:21:23 +02:00
wmayer
1543566716 fix memory leak in DocumentObject::execute and return ASAP on errors 2017-05-07 16:21:41 +02:00
wmayer
1673ab801e use specialized exception classes 2017-04-28 18:49:11 +02:00
wmayer
db0fe5b200 change old DAG implementation to pass unit tests 2017-01-22 15:32:31 +01:00
wmayer
172206f58e restore old DAG implementation and fix some build failures 2017-01-22 13:31:49 +01:00
wmayer
f21fa3e17f fix compiler warning 2017-01-21 21:49:13 +01:00
wmayer
f3f7b01202 improve whitespaces 2017-01-21 19:15:36 +01:00
Stefan Tröger
4f8e046f7f DAG: Fix preprocessor definition inconsistencies 2017-01-21 19:15:36 +01:00
Stefan Tröger
665eb63d4c DAG: Change object graph handling to be bidirectional 2017-01-21 19:15:36 +01:00
Stefan Tröger
cd1c753fa2 Extensions: Implement persistence 2016-12-11 19:27:35 +01:00
Stefan Tröger
d0d4d6bc07 Port Attacher codde to the extension framework
AttachableObjects are desired in multiple occasions, and the current AttachableObject is not flexible enough to handle all cases. Hence the code is portet to an extension, which gives the needed flexibility.
2016-12-07 06:41:40 +01:00
wmayer
2a145a12e1 expose recompute() of document object to Python 2016-11-19 16:24:11 +01:00
wmayer
3b961bcb5f + add convenience method recomputeFeature()
+ make method recompute() protected
2016-11-06 17:16:50 +01:00
wmayer
9ac1810ea3 Fix issues:
+ improve formatting
+ remove superfluous semicolons
+ comment unused parameters
+ rename Initialisation to Initialization
+ rename Deinitialisation to Finalization
+ remove spaces
2016-10-08 12:48:34 +02:00
Stefan Tröger
a8d0accdad Extensions: special calls for document object extensions 2016-10-08 12:48:34 +02:00
Stefan Tröger
c5a2419e14 Extensions: Introduce classes and port App groups 2016-10-08 12:48:34 +02:00
wmayer
f0e00311cd prepare view provider for undo/redo 2016-07-23 11:45:21 +02:00
Stefan Tröger
83eedba043 crossreferences only with ctrl button and fix missing return value 2016-04-12 18:12:20 +02:00
DeepSOIC
a1557d07da App: circular reference testing routine for new links
DocumentObject::testIfLinkDAGCompatible: return true if link can be
created (no cycles will be made). False if the link will cause a
circular dependency and break recomputes.
2016-04-12 18:12:20 +02:00
Alexander Golubev
ecbb576330 App: minor fix of spacing 2016-04-12 18:12:17 +02:00
Eivind Kvedalen
df660dc280 PropertyExpressionEngine/DocumentObject: Track object deletes and update dependencies accordingly. 2015-12-21 14:11:13 +01:00
Eivind Kvedalen
83d221e161 DocumentObject: Don't emit signal if Label hasn't actually changed. 2015-12-21 14:11:11 +01:00
wmayer
e4768c1c75 + fix clang warning: -Woverloaded-virtual 2015-10-02 20:42:16 +02:00
wmayer
b33be62bb6 + rename signal to signalRelabelObject and remove unused code 2015-09-22 17:13:03 +02:00
Mateusz Skowroński
43a4a5938c Fix files encoding. Go from ISO8859-1 to UTF-8. 2015-09-21 19:50:49 -03:00