Changesets: FreeCAD
staging 9dd5392f 2019-06-29 09:30:51 Zheng, Lei Details Diff |
PropertyExpressionEngine: convert to link type property PropertyExpressionEngine is changed to derived from a new class PropertyExpressionContainer, which is in turn derives from PropertyXLinkContainer. This makes PropertyExpressionEngine a link type property that is capable of external linking. It now uses the unified link property APIs for dependency management and tracking of object life time, re-labeling, etc. ObjectIdentifier is modified to support sub-object reference, but is not exposed to end-user, because expression syntax is kept mostly unchanged, which will be submitted in future PR. There is, however, one small change in expression syntax (ExpressionParser.y) to introduce local property reference to avoid ambiguity mentioned in FreeCAD/FreeCAD#1619 Modified Expression/ExpressionModifier interface to support various link property API for link modification. |
||
mod - src/App/Application.cpp | Diff File | ||
mod - src/App/Document.cpp | Diff File | ||
mod - src/App/DocumentObject.cpp | Diff File | ||
mod - src/App/DocumentObject.h | Diff File | ||
mod - src/App/DocumentObjectPy.xml | Diff File | ||
mod - src/App/DocumentObjectPyImp.cpp | Diff File | ||
mod - src/App/Expression.cpp | Diff File | ||
mod - src/App/Expression.h | Diff File | ||
mod - src/App/ExpressionParser.tab.c | Diff File | ||
mod - src/App/ExpressionParser.y | Diff File | ||
mod - src/App/ExpressionVisitors.h | Diff File | ||
mod - src/App/ObjectIdentifier.cpp | Diff File | ||
mod - src/App/ObjectIdentifier.h | Diff File | ||
mod - src/App/Property.h | Diff File | ||
mod - src/App/PropertyExpressionEngine.cpp | Diff File | ||
mod - src/App/PropertyExpressionEngine.h | Diff File | ||
mod - src/App/PropertyGeo.cpp | Diff File | ||
mod - src/App/PropertyGeo.h | Diff File | ||
mod - src/App/PropertyUnits.cpp | Diff File | ||
mod - src/App/Range.cpp | Diff File | ||
mod - src/App/Range.h | Diff File | ||
mod - src/Mod/Sketcher/App/PropertyConstraintList.cpp | Diff File | ||
mod - src/Mod/Sketcher/App/PropertyConstraintList.h | Diff File | ||
mod - src/Mod/Sketcher/App/SketchObject.cpp | Diff File | ||
mod - src/Mod/Sketcher/App/SketchObject.h | Diff File | ||
master 93e60caa 2019-06-29 09:30:51 Zheng, Lei Committer: wmayer Details Diff |
PropertyExpressionEngine: convert to link type property PropertyExpressionEngine is changed to derived from a new class PropertyExpressionContainer, which is in turn derives from PropertyXLinkContainer. This makes PropertyExpressionEngine a link type property that is capable of external linking. It now uses the unified link property APIs for dependency management and tracking of object life time, re-labeling, etc. ObjectIdentifier is modified to support sub-object reference, but is not exposed to end-user, because expression syntax is kept mostly unchanged, which will be submitted in future PR. There is, however, one small change in expression syntax (ExpressionParser.y) to introduce local property reference to avoid ambiguity mentioned in FreeCAD/FreeCAD#1619 Modified Expression/ExpressionModifier interface to support various link property API for link modification. |
Affected Issues 0003271 |
|
mod - src/App/Application.cpp | Diff File | ||
mod - src/App/Document.cpp | Diff File | ||
mod - src/App/DocumentObject.cpp | Diff File | ||
mod - src/App/DocumentObject.h | Diff File | ||
mod - src/App/DocumentObjectPy.xml | Diff File | ||
mod - src/App/DocumentObjectPyImp.cpp | Diff File | ||
mod - src/App/Expression.cpp | Diff File | ||
mod - src/App/Expression.h | Diff File | ||
mod - src/App/ExpressionParser.tab.c | Diff File | ||
mod - src/App/ExpressionParser.y | Diff File | ||
mod - src/App/ExpressionVisitors.h | Diff File | ||
mod - src/App/ObjectIdentifier.cpp | Diff File | ||
mod - src/App/ObjectIdentifier.h | Diff File | ||
mod - src/App/Property.h | Diff File | ||
mod - src/App/PropertyExpressionEngine.cpp | Diff File | ||
mod - src/App/PropertyExpressionEngine.h | Diff File | ||
mod - src/App/PropertyGeo.cpp | Diff File | ||
mod - src/App/PropertyGeo.h | Diff File | ||
mod - src/App/PropertyUnits.cpp | Diff File | ||
mod - src/App/Range.cpp | Diff File | ||
mod - src/App/Range.h | Diff File | ||
mod - src/Mod/Sketcher/App/PropertyConstraintList.cpp | Diff File | ||
mod - src/Mod/Sketcher/App/PropertyConstraintList.h | Diff File | ||
mod - src/Mod/Sketcher/App/SketchObject.cpp | Diff File | ||
mod - src/Mod/Sketcher/App/SketchObject.h | Diff File | ||
staging ccda5af7 2019-06-29 09:24:14 Zheng, Lei Details Diff |
PropertyLinks: refactor property link API Create new class PropertyLinkBase as the common parent class for all type of links. See the class document for details of its API. Added new link scope 'Hidden' that is ignored during normal object dependency calculation, but still keep tracks of object remove, relabel, etc. DocumentObject added a new API adjustRelativeLink() and a helper resolveRelativeLink() function. |
||
mod - src/App/Application.cpp | Diff File | ||
mod - src/App/DocumentObject.cpp | Diff File | ||
mod - src/App/DocumentObject.h | Diff File | ||
mod - src/App/DocumentObjectPy.xml | Diff File | ||
mod - src/App/DocumentObjectPyImp.cpp | Diff File | ||
mod - src/App/Property.h | Diff File | ||
mod - src/App/PropertyLinks.cpp | Diff File | ||
mod - src/App/PropertyLinks.h | Diff File | ||
staging 90f10fd2 2019-06-29 09:24:14 Zheng, Lei Details Diff |
PropertyLinks: refactor property link API * Create new class PropertyLinkBase as the common parent class for all type of links. See the class document for details of its API. * Added new link scope 'Hidden' that is ignored during normal object dependency calculation, but still keep tracks of object remove, relabel, etc. * There is a new concept called 'Shadow subname' introduced in this patch, which will only be meaningful in future topological naming feature. See [here](https://git.io/fjXKR) for more details. * DocumentObject added a new API adjustRelativeLink() and a helper resolveRelativeLink() function. |
||
mod - src/App/Application.cpp | Diff File | ||
mod - src/App/DocumentObject.cpp | Diff File | ||
mod - src/App/DocumentObject.h | Diff File | ||
mod - src/App/DocumentObjectPy.xml | Diff File | ||
mod - src/App/DocumentObjectPyImp.cpp | Diff File | ||
mod - src/App/Property.h | Diff File | ||
mod - src/App/PropertyLinks.cpp | Diff File | ||
mod - src/App/PropertyLinks.h | Diff File | ||
master e85bf9cd 2019-06-29 09:24:14 Zheng, Lei Committer: wmayer Details Diff |
PropertyLinks: refactor property link API * Create new class PropertyLinkBase as the common parent class for all type of links. See the class document for details of its API. * Added new link scope 'Hidden' that is ignored during normal object dependency calculation, but still keep tracks of object remove, relabel, etc. * There is a new concept called 'Shadow subname' introduced in this patch, which will only be meaningful in future topological naming feature. See [here](https://git.io/fjXKR) for more details. * DocumentObject added a new API adjustRelativeLink() and a helper resolveRelativeLink() function. |
||
mod - src/App/Application.cpp | Diff File | ||
mod - src/App/DocumentObject.cpp | Diff File | ||
mod - src/App/DocumentObject.h | Diff File | ||
mod - src/App/DocumentObjectPy.xml | Diff File | ||
mod - src/App/DocumentObjectPyImp.cpp | Diff File | ||
mod - src/App/Property.h | Diff File | ||
mod - src/App/PropertyLinks.cpp | Diff File | ||
mod - src/App/PropertyLinks.h | Diff File | ||
master 05249b21 2019-06-29 06:42:03 Details Diff |
Removed redundant log message | ||
mod - src/Mod/Path/PathScripts/PathAreaOp.py | Diff File | ||
mod - src/Mod/Path/PathScripts/PathOpGui.py | Diff File | ||
master 9c5fa124 2019-06-29 06:14:20 Details Diff |
Fixed extension selection | ||
mod - src/Mod/Path/PathScripts/PathPocketShapeGui.py | Diff File | ||
master 70d8be5b 2019-06-29 05:09:01 Details Diff |
Fixed document restoration logic. | ||
mod - src/Mod/Path/PathScripts/PathPocketShape.py | Diff File | ||
master 9e174f11 2019-06-28 15:26:18 Details Diff |
AddonManager: Fixed wrong file name | ||
master 287d763e 2019-06-28 15:00:25 Details Diff |
AddonManager: Added Render icon | ||
mod - src/Mod/AddonManager/Resources/AddonManager.qrc | Diff File | ||
add - src/Mod/AddonManager/Resources/icons/Render.svg | Diff File | ||
master 89b8ab61 2019-06-28 13:33:33 Oliver Oxtoby Committer: yorik Details Diff |
[AddonManager] Correct the name of the CfdOF workbench icon | ||
mod - src/Mod/AddonManager/Resources/AddonManager.qrc | Diff File | ||
master accf578d 2019-06-28 12:23:21 Franck Jullien Committer: wandererfan Details Diff |
[TD] Fix TaskPanel comboBox values | ||
mod - src/Mod/TechDraw/Gui/TaskBalloon.cpp | Diff File | ||
master 4d7d46b4 2019-06-28 12:00:52 Committer: yorik Details Diff |
[AddonManager] Add Geomatics WB logo | ||
mod - src/Mod/AddonManager/Resources/AddonManager.qrc | Diff File | ||
add - src/Mod/AddonManager/Resources/icons/Geomatics_workbench_icon.svg | Diff File | ||
master 3abffaea 2019-06-28 11:20:10 Committer: yorik Details Diff |
src/App/MaterialPyImp.cpp: fix source code typos s/transpareny/transparency/ |
||
mod - src/App/MaterialPyImp.cpp | Diff File | ||
master e0377f8e 2019-06-28 11:19:00 Committer: yorik Details Diff |
Misc. typo and whitespace fixes Found via `codespell` |
||
mod - src/Mod/Path/PathScripts/PathAreaOp.py | Diff File | ||
mod - src/Mod/Path/PathScripts/PathPocketShape.py | Diff File | ||
staging 6cbbc39f 2019-06-28 09:45:27 Zheng, Lei Details Diff |
App: transaction related API changes Introduce a new concept of transaction ID. Each transaction must be unique inside the document. Multiple transactions from different documents can be grouped together with the same transaction ID. This makes it possible to undo/redo single operation that contains changes from multiple documents due to external linking. Application: * get/set/closeActiveTransaction() is used to setup potential transactions with a given name. The transaction is only created when there is actual changes. If objects from multiple documents are changed under the same active transaction, they will have the same trasnaction ID, and can be undo/redo togtether later. * signalUndo/signalRedo, new signals triggered once after an undo/redo operation. Unlike signalUndo/RedoDocument, these signals will only be triggered once even if there may be multiple documents involved during undo/redo. * signal(Before)CloseTransaction, new signals triggered before/after an actual transaction is created or aborted. AutoTransaction: * Helper class to enable automatic management of transactions. See class document for more details. This class will be used by Gui::Command in later patches to allow better automation of transactions in command. Document: * open/commit/abortTransaction() are now redirected to call Application::get/set/closeActiveTransaction() instead. * _openTransaction() is added to do the real creation of transaction. * _checkTransaction() is modified to create transaction on actual change of any property. * getTransactionID() is used to find out the position of a transaction with a given ID. When triggering undo in external document, it may be necessary to perform multi-step undo/redo in order to match for the transaction ID. Transaction/TransactionObject: * Various changes for the new transaction ID concept. * Support undo/redo add/remove dynamic property |
||
mod - src/App/Application.cpp | Diff File | ||
mod - src/App/Application.h | Diff File | ||
mod - src/App/ApplicationPy.cpp | Diff File | ||
mod - src/App/Document.cpp | Diff File | ||
mod - src/App/Document.h | Diff File | ||
mod - src/App/DocumentPy.xml | Diff File | ||
mod - src/App/DocumentPyImp.cpp | Diff File | ||
mod - src/App/TransactionalObject.cpp | Diff File | ||
mod - src/App/TransactionalObject.h | Diff File | ||
mod - src/App/Transactions.cpp | Diff File | ||
mod - src/App/Transactions.h | Diff File | ||
staging d26cb0f1 2019-06-28 09:45:27 Zheng, Lei Details Diff |
App: transaction related API changes Introduce a new concept of transaction ID. Each transaction must be unique inside the document. Multiple transactions from different documents can be grouped together with the same transaction ID. This makes it possible to undo/redo single operation that contains changes from multiple documents due to external linking. Application: * get/set/closeActiveTransaction() is used to setup potential transactions with a given name. The transaction is only created when there is actual changes. If objects from multiple documents are changed under the same active transaction, they will have the same trasnaction ID, and can be undo/redo togtether later. * signalUndo/signalRedo, new signals triggered once after an undo/redo operation. Unlike signalUndo/RedoDocument, these signals will only be triggered once even if there may be multiple documents involved during undo/redo. * signal(Before)CloseTransaction, new signals triggered before/after an actual transaction is created or aborted. AutoTransaction: * Helper class to enable automatic management of transactions. See class document for more details. This class will be used by Gui::Command in later patches to allow better automation of transactions in command. Document: * open/commit/abortTransaction() are now redirected to call Application::get/set/closeActiveTransaction() instead. * _openTransaction() is added to do the real creation of transaction. * _checkTransaction() is modified to create transaction on actual change of any property. * getTransactionID() is used to find out the position of a transaction with a given ID. When triggering undo in external document, it may be necessary to perform multi-step undo/redo in order to match for the transaction ID. Transaction/TransactionObject: * Various changes for the new transaction ID concept. * Support undo/redo add/remove dynamic property |
||
mod - src/App/Application.cpp | Diff File | ||
mod - src/App/Application.h | Diff File | ||
mod - src/App/ApplicationPy.cpp | Diff File | ||
mod - src/App/Document.cpp | Diff File | ||
mod - src/App/Document.h | Diff File | ||
mod - src/App/DocumentPy.xml | Diff File | ||
mod - src/App/DocumentPyImp.cpp | Diff File | ||
mod - src/App/TransactionalObject.cpp | Diff File | ||
mod - src/App/TransactionalObject.h | Diff File | ||
mod - src/App/Transactions.cpp | Diff File | ||
mod - src/App/Transactions.h | Diff File | ||
master 1cb2e190 2019-06-28 09:45:27 Zheng, Lei Committer: wmayer Details Diff |
App: transaction related API changes Introduce a new concept of transaction ID. Each transaction must be unique inside the document. Multiple transactions from different documents can be grouped together with the same transaction ID. This makes it possible to undo/redo single operation that contains changes from multiple documents due to external linking. Application: * get/set/closeActiveTransaction() is used to setup potential transactions with a given name. The transaction is only created when there is actual changes. If objects from multiple documents are changed under the same active transaction, they will have the same trasnaction ID, and can be undo/redo togtether later. * signalUndo/signalRedo, new signals triggered once after an undo/redo operation. Unlike signalUndo/RedoDocument, these signals will only be triggered once even if there may be multiple documents involved during undo/redo. * signal(Before)CloseTransaction, new signals triggered before/after an actual transaction is created or aborted. AutoTransaction: * Helper class to enable automatic management of transactions. See class document for more details. This class will be used by Gui::Command in later patches to allow better automation of transactions in command. Document: * open/commit/abortTransaction() are now redirected to call Application::get/set/closeActiveTransaction() instead. * _openTransaction() is added to do the real creation of transaction. * _checkTransaction() is modified to create transaction on actual change of any property. * getTransactionID() is used to find out the position of a transaction with a given ID. When triggering undo in external document, it may be necessary to perform multi-step undo/redo in order to match for the transaction ID. Transaction/TransactionObject: * Various changes for the new transaction ID concept. * Support undo/redo add/remove dynamic property |
||
mod - src/App/Application.cpp | Diff File | ||
mod - src/App/Application.h | Diff File | ||
mod - src/App/ApplicationPy.cpp | Diff File | ||
mod - src/App/Document.cpp | Diff File | ||
mod - src/App/Document.h | Diff File | ||
mod - src/App/DocumentPy.xml | Diff File | ||
mod - src/App/DocumentPyImp.cpp | Diff File | ||
mod - src/App/TransactionalObject.cpp | Diff File | ||
mod - src/App/TransactionalObject.h | Diff File | ||
mod - src/App/Transactions.cpp | Diff File | ||
mod - src/App/Transactions.h | Diff File | ||
master a9b2e8e9 2019-06-28 07:12:20 Details Diff |
Cleaned up warnings for PathEngraveBase | ||
mod - src/Mod/Path/PathScripts/PathEngraveBase.py | Diff File | ||
staging efdb4658 2019-06-28 02:16:42 Zheng, Lei Details Diff |
App: Property related API changes Property: * Extended property status bitset. Mirror most of PropertyType and allow dynamic change property type. * Cache property name and type to improve performance * Centralize property status change signalling * Change aboutToSetValue()/hasSetValue() to virtual * Add new API getFullName() to obtain full quanlified name of the property AtomicPropertyChangeInterface: * Allow calling aboutToSetValue()/hasSetValue() when actually changed PropertyLists: * Refactor implementation by an abstract class PropertyListBase and a template class PropertyListsT, to allow better code reuse. PropertyListT is derived from AtomicPropertyChangeInterface to allow more efficient change on individual elements. * All list type property now accept setting python value as a dictionary with index as key to set individual element of a list. * Add touch list for more efficient handling of value changes. The list contains the index of changed value. And empty touch list should be treated as the entire list is changed. PropertyContainerPy expose this functionality with getPropertyTouchList(). PropertyPersistentObject: * New property to allow dynamic creation of any FreeCAD object derived from Base::Persistence, and use it as a property. DynamicProperty: * Use boost multi_index_container for efficient property lookup while keeping order. * Modify to be allowed to use in PropertyContainer directly PropertyContainer: * Use boost multi_index_container for efficient property lookup while keeping order. * Allow adding/removing dynamic property on all property container * Modify Save/Restore() to persist property status, and better handle transient property which can now be dynamically enabled/disabled per object. * Add new API getFullName() to obtain full quanlified name of the property. Implemented by Document, DocumentObject, and also ViewProviderDocumentObject if future patch DocumentObject and FeaturePython are modified to accommondate the dynamic property changes. Removed get/setCustomAttribute() implementation from DocumentObjectPy, and rely on PropertyContainerPy for the implementation, because of the additional dynamic property support in property container. Gui::ViewProviderDocumentObject, which is derived from PropertyContainer, is also modified accordingly |
||
mod - src/App/Application.cpp | Diff File | ||
mod - src/App/Application.h | Diff File | ||
mod - src/App/Document.cpp | Diff File | ||
mod - src/App/Document.h | Diff File | ||
mod - src/App/DocumentObject.cpp | Diff File | ||
mod - src/App/DocumentObject.h | Diff File | ||
mod - src/App/DocumentObjectPyImp.cpp | Diff File | ||
mod - src/App/DynamicProperty.cpp | Diff File | ||
mod - src/App/DynamicProperty.h | Diff File | ||
mod - src/App/FeatureCustom.h | Diff File | ||
mod - src/App/FeaturePython.h | Diff File | ||
mod - src/App/PreCompiled.h | Diff File | ||
mod - src/App/Property.cpp | Diff File | ||
mod - src/App/Property.h | Diff File | ||
mod - src/App/PropertyContainer.cpp | Diff File | ||
mod - src/App/PropertyContainer.h | Diff File | ||
mod - src/App/PropertyContainerPy.xml | Diff File | ||
mod - src/App/PropertyContainerPyImp.cpp | Diff File | ||
mod - src/App/PropertyGeo.cpp | Diff File | ||
mod - src/App/PropertyGeo.h | Diff File | ||
mod - src/App/PropertyStandard.cpp | Diff File | ||
mod - src/App/PropertyStandard.h | Diff File | ||
mod - src/Gui/ViewProviderDocumentObject.cpp | Diff File | ||
mod - src/Gui/ViewProviderDocumentObject.h | Diff File | ||
mod - src/Gui/ViewProviderPythonFeature.h | Diff File | ||
staging 819c8078 2019-06-28 02:16:42 Zheng, Lei Details Diff |
App: Property related API changes Property: * Extended property status bitset. Mirror most of PropertyType and allow dynamic change property type. * Cache property name and type to improve performance * Centralize property status change signalling * Change aboutToSetValue()/hasSetValue() to virtual * Add new API getFullName() to obtain full quanlified name of the property AtomicPropertyChangeInterface: * Allow calling aboutToSetValue()/hasSetValue() when actually changed PropertyLists: * Refactor implementation by an abstract class PropertyListBase and a template class PropertyListsT, to allow better code reuse. PropertyListT is derived from AtomicPropertyChangeInterface to allow more efficient change on individual elements. * All list type property now accept setting python value as a dictionary with index as key to set individual element of a list. * Add touch list for more efficient handling of value changes. The list contains the index of changed value. And empty touch list should be treated as the entire list is changed. PropertyContainerPy expose this functionality with getPropertyTouchList(). PropertyPersistentObject: * New property to allow dynamic creation of any FreeCAD object derived from Base::Persistence, and use it as a property. DynamicProperty: * Use boost multi_index_container for efficient property lookup while keeping order. * Modify to be allowed to use in PropertyContainer directly PropertyContainer: * Use boost multi_index_container for efficient property lookup while keeping order. * Allow adding/removing dynamic property on all property container * Modify Save/Restore() to persist property status, and better handle transient property which can now be dynamically enabled/disabled per object. * Add new API getFullName() to obtain full quanlified name of the property. Implemented by Document, DocumentObject, and also ViewProviderDocumentObject if future patch DocumentObject and FeaturePython are modified to accommondate the dynamic property changes. Removed get/setCustomAttribute() implementation from DocumentObjectPy, and rely on PropertyContainerPy for the implementation, because of the additional dynamic property support in property container. Gui::ViewProviderDocumentObject, which is derived from PropertyContainer, is also modified accordingly |
||
mod - src/App/Application.cpp | Diff File | ||
mod - src/App/Application.h | Diff File | ||
mod - src/App/Document.cpp | Diff File | ||
mod - src/App/Document.h | Diff File | ||
mod - src/App/DocumentObject.cpp | Diff File | ||
mod - src/App/DocumentObject.h | Diff File | ||
mod - src/App/DocumentObjectPyImp.cpp | Diff File | ||
mod - src/App/DynamicProperty.cpp | Diff File | ||
mod - src/App/DynamicProperty.h | Diff File | ||
mod - src/App/FeatureCustom.h | Diff File | ||
mod - src/App/FeaturePython.h | Diff File | ||
mod - src/App/PreCompiled.h | Diff File | ||
mod - src/App/Property.cpp | Diff File | ||
mod - src/App/Property.h | Diff File | ||
mod - src/App/PropertyContainer.cpp | Diff File | ||
mod - src/App/PropertyContainer.h | Diff File | ||
mod - src/App/PropertyContainerPy.xml | Diff File | ||
mod - src/App/PropertyContainerPyImp.cpp | Diff File | ||
mod - src/App/PropertyGeo.cpp | Diff File | ||
mod - src/App/PropertyGeo.h | Diff File | ||
mod - src/App/PropertyStandard.cpp | Diff File | ||
mod - src/App/PropertyStandard.h | Diff File | ||
mod - src/Gui/ViewProviderDocumentObject.cpp | Diff File | ||
mod - src/Gui/ViewProviderDocumentObject.h | Diff File | ||
mod - src/Gui/ViewProviderPythonFeature.h | Diff File | ||
master f4205130 2019-06-28 02:16:42 Zheng, Lei Committer: wmayer Details Diff |
App: Property related API changes Property: * Extended property status bitset. Mirror most of PropertyType and allow dynamic change property type. * Cache property name and type to improve performance * Centralize property status change signalling * Change aboutToSetValue()/hasSetValue() to virtual * Add new API getFullName() to obtain full quanlified name of the property AtomicPropertyChangeInterface: * Allow calling aboutToSetValue()/hasSetValue() when actually changed PropertyLists: * Refactor implementation by an abstract class PropertyListBase and a template class PropertyListsT, to allow better code reuse. PropertyListT is derived from AtomicPropertyChangeInterface to allow more efficient change on individual elements. * All list type property now accept setting python value as a dictionary with index as key to set individual element of a list. * Add touch list for more efficient handling of value changes. The list contains the index of changed value. And empty touch list should be treated as the entire list is changed. PropertyContainerPy expose this functionality with getPropertyTouchList(). PropertyPersistentObject: * New property to allow dynamic creation of any FreeCAD object derived from Base::Persistence, and use it as a property. DynamicProperty: * Use boost multi_index_container for efficient property lookup while keeping order. * Modify to be allowed to use in PropertyContainer directly PropertyContainer: * Use boost multi_index_container for efficient property lookup while keeping order. * Allow adding/removing dynamic property on all property container * Modify Save/Restore() to persist property status, and better handle transient property which can now be dynamically enabled/disabled per object. * Add new API getFullName() to obtain full quanlified name of the property. Implemented by Document, DocumentObject, and also ViewProviderDocumentObject if future patch DocumentObject and FeaturePython are modified to accommondate the dynamic property changes. Removed get/setCustomAttribute() implementation from DocumentObjectPy, and rely on PropertyContainerPy for the implementation, because of the additional dynamic property support in property container. Gui::ViewProviderDocumentObject, which is derived from PropertyContainer, is also modified accordingly |
||
mod - src/App/Application.cpp | Diff File | ||
mod - src/App/Application.h | Diff File | ||
mod - src/App/Document.cpp | Diff File | ||
mod - src/App/Document.h | Diff File | ||
mod - src/App/DocumentObject.cpp | Diff File | ||
mod - src/App/DocumentObject.h | Diff File | ||
mod - src/App/DocumentObjectPyImp.cpp | Diff File | ||
mod - src/App/DynamicProperty.cpp | Diff File | ||
mod - src/App/DynamicProperty.h | Diff File | ||
mod - src/App/FeatureCustom.h | Diff File | ||
mod - src/App/FeaturePython.h | Diff File | ||
mod - src/App/PreCompiled.h | Diff File | ||
mod - src/App/Property.cpp | Diff File | ||
mod - src/App/Property.h | Diff File | ||
mod - src/App/PropertyContainer.cpp | Diff File | ||
mod - src/App/PropertyContainer.h | Diff File | ||
mod - src/App/PropertyContainerPy.xml | Diff File | ||
mod - src/App/PropertyContainerPyImp.cpp | Diff File | ||
mod - src/App/PropertyGeo.cpp | Diff File | ||
mod - src/App/PropertyGeo.h | Diff File | ||
mod - src/App/PropertyStandard.cpp | Diff File | ||
mod - src/App/PropertyStandard.h | Diff File | ||
mod - src/Gui/ViewProviderDocumentObject.cpp | Diff File | ||
mod - src/Gui/ViewProviderDocumentObject.h | Diff File | ||
mod - src/Gui/ViewProviderPythonFeature.h | Diff File | ||
master 49067725 2019-06-27 17:53:02 Details Diff |
AddonManager: Fixed image links | ||
mod - src/Mod/AddonManager/addonmanager_workers.py | Diff File | ||
master 4fc39dfb 2019-06-27 17:41:46 Details Diff |
PathDrilling 4th-axis integration Initial integration of 4th-axis functionality to the Drilling op in PathWB |
||
mod - src/Mod/Path/PathScripts/PathCircularHoleBase.py | Diff File | ||
mod - src/Mod/Path/PathScripts/PathDrilling.py | Diff File | ||
master 115ff019 2019-06-27 17:27:47 Details Diff |
improve projection of points onto mesh | ||
mod - src/Mod/MeshPart/App/CurveProjector.cpp | Diff File |