FreeCAD: master 93e60caa

Author Committer Branch Timestamp Parent
Zheng, Lei wmayer master 2019-06-29 09:30:51 master e85bf9cd
Affected Issues  0003271: Relative file references give 'Document not found' unless that file is opened first
Changeset 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