#include <Link.h>
Public Member Functions | |
| LinkExtension () | |
| virtual | ~LinkExtension () |
Helpers for defining extended parameter | |
extended parameter definition (Name, Type, Property_Type, Default, Document, Property_Name, Derived_Property_Type, App_Property_Type, Group) This helper simply reuses Name as Property_Name, Property_Type as Derived_Property_type, Prop_None as App_Propert_Type Note: Because PropertyView will merge linked object's properties into ours, we set the default group name as ' Link' with a leading space to try to make our group before others | |
| void | onExtendedDocumentRestored () override |
| get called after a document has been fully restored More... | |
Public Member Functions inherited from App::LinkBaseExtension | |
| LinkBaseExtension () | |
| virtual | ~LinkBaseExtension () |
| virtual void | setProperty (int idx, Property *prop) |
| Property * | getProperty (int idx) |
| Property * | getProperty (const char *) |
| virtual const std::vector< PropInfo > & | getPropertyInfo () const |
| virtual const PropInfoMap & | getPropertyInfoMap () const |
| std::vector< DocumentObject * > | getLinkedChildren (bool filter=true) const |
| const char * | flattenSubname (const char *subname) const |
| void | expandSubname (std::string &subname) const |
| DocumentObject * | getLink (int depth=0) const |
| Base::Matrix4D | getTransform (bool transform) const |
| Base::Vector3d | getScaleVector () const |
| App::GroupExtension * | linkedPlainGroup () const |
| bool | linkTransform () const |
| const char * | getSubName () const |
| const std::vector< std::string > & | getSubElements () const |
| bool | extensionGetSubObject (DocumentObject *&ret, const char *subname, PyObject **pyObj=nullptr, Base::Matrix4D *mat=nullptr, bool transform=false, int depth=0) const override |
| Get the sub object by name. More... | |
| bool | extensionGetSubObjects (std::vector< std::string > &ret, int reason) const override |
| Get name references of all sub objects. More... | |
| bool | extensionGetLinkedObject (DocumentObject *&ret, bool recurse, Base::Matrix4D *mat, bool transform, int depth) const override |
| Get the linked object. More... | |
| virtual App::DocumentObjectExecReturn * | extensionExecute (void) override |
| virtual short | extensionMustExecute (void) override |
| virtual void | extensionOnChanged (const Property *p) override |
| virtual void | onExtendedUnsetupObject () override |
| get called when object is going to be removed from the document More... | |
| virtual int | extensionSetElementVisible (const char *, bool) override |
| virtual int | extensionIsElementVisible (const char *) override |
| virtual bool | extensionHasChildElement () const override |
| virtual PyObject * | getExtensionPyObject (void) override |
| virtual Property * | extensionGetPropertyByName (const char *name) const override |
| find a property by its name More... | |
| int | getElementIndex (const char *subname, const char **psubname=nullptr) const |
| void | elementNameFromIndex (int idx, std::ostream &ss) const |
| DocumentObject * | getContainer () |
| const DocumentObject * | getContainer () const |
| void | setLink (int index, DocumentObject *obj, const char *subname=nullptr, const std::vector< std::string > &subs=std::vector< std::string >()) |
| DocumentObject * | getTrueLinkedObject (bool recurse, Base::Matrix4D *mat=nullptr, int depth=0, bool noElement=false) const |
| bool | hasPlacement () const |
| void | cacheChildLabel (int enable=-1) const |
| void | syncCopyOnChange () |
| void | setOnChangeCopyObject (App::DocumentObject *obj, OnChangeCopyOptions options) |
| Include or exclude object from list of objects to copy on change. More... | |
| std::vector< App::DocumentObject * > | getOnChangeCopyObjects (std::vector< App::DocumentObject * > *excludes=nullptr, App::DocumentObject *src=nullptr) |
| bool | isLinkedToConfigurableObject () const |
| void | monitorOnChangeCopyObjects (const std::vector< App::DocumentObject * > &objs) |
| bool | isLinkMutated () const |
| Check if the linked object is a copy on change. More... | |
Public Member Functions inherited from App::DocumentObjectExtension | |
| DocumentObjectExtension () | |
| virtual App::DocumentObjectExecReturn * | extensionExecute () |
| virtual bool | extensionGetLinkedObject (DocumentObject *&ret, bool recursive, Base::Matrix4D *mat, bool transform, int depth) const |
| Get the linked object. More... | |
| virtual bool | extensionGetSubObject (DocumentObject *&ret, const char *subname, PyObject **pyObj, Base::Matrix4D *mat, bool transform, int depth) const |
| Get the sub object by name. More... | |
| virtual bool | extensionGetSubObjects (std::vector< std::string > &ret, int reason) const |
| Get name references of all sub objects. More... | |
| virtual bool | extensionHasChildElement () const |
| virtual int | extensionIsElementVisible (const char *) |
| virtual short | extensionMustExecute () |
| virtual int | extensionSetElementVisible (const char *, bool) |
| App::DocumentObject * | getExtendedObject () |
| const App::DocumentObject * | getExtendedObject () const |
| virtual PyObject * | getExtensionPyObject () override |
| virtual const char * | getViewProviderExtensionName () const |
| returns the type name of the ViewProviderExtension which is automatically attached to the viewprovider object when it is initiated More... | |
| virtual void | onExtendedDocumentRestored () |
| get called after a document has been fully restored More... | |
| virtual void | onExtendedSettingDocument () |
| get called after setting the document More... | |
| virtual void | onExtendedSetupObject () |
| get called after a brand new object was created More... | |
| virtual void | onExtendedUnsetupObject () |
| get called when object is going to be removed from the document More... | |
| virtual | ~DocumentObjectExtension () |
Public Member Functions inherited from App::Extension | |
| Extension () | |
| App::ExtensionContainer * | getExtendedContainer () |
| const App::ExtensionContainer * | getExtendedContainer () const |
| virtual PyObject * | getExtensionPyObject () |
| virtual void | initExtension (App::ExtensionContainer *obj) |
| bool | isPythonExtension () |
| std::string | name () const |
| virtual | ~Extension () |
| virtual const char * | extensionGetPropertyName (const Property *prop) const |
| get the name of a property More... | |
| virtual void | extensionGetPropertyMap (std::map< std::string, Property * > &Map) const |
| get all properties of the class (including properties of the parent) More... | |
| virtual void | extensionGetPropertyList (std::vector< Property * > &List) const |
| get all properties of the class (including properties of the parent) More... | |
| virtual short | extensionGetPropertyType (const Property *prop) const |
| get the Type of a Property More... | |
| virtual short | extensionGetPropertyType (const char *name) const |
| get the Type of a named Property More... | |
| virtual const char * | extensionGetPropertyGroup (const Property *prop) const |
| get the Group of a Property More... | |
| virtual const char * | extensionGetPropertyGroup (const char *name) const |
| get the Group of a named Property More... | |
| virtual const char * | extensionGetPropertyDocumentation (const Property *prop) const |
| get the Group of a Property More... | |
| virtual const char * | extensionGetPropertyDocumentation (const char *name) const |
| get the Group of a named Property More... | |
| virtual void | extensionSave (Base::Writer &) const |
| virtual void | extensionRestore (Base::XMLReader &) |
| bool | extensionIsDerivedFrom (const Base::Type type) const |
Additional Inherited Members | |
Public Types inherited from App::LinkBaseExtension | |
| enum | { LinkModeNone , LinkModeAutoDelete , LinkModeAutoLink , LinkModeAutoUnlink } |
| enum | PropIndex { PropMax } |
| enum | LinkCopyOnChangeType { CopyOnChangeDisabled = 0 , CopyOnChangeEnabled = 1 , CopyOnChangeOwned = 2 , CopyOnChangeTracking = 3 } |
| enum class | OnChangeCopyOptions { Exclude = 1 , ApplyAll = 2 } |
| Options used in setOnChangeCopyObject() Multiple options can be combined by bitwise or operator. More... | |
| typedef std::map< std::string, PropInfo > | PropInfoMap |
| typedef std::map< const Property *, std::pair< LinkBaseExtension *, int > > | LinkPropMap |
Static Public Member Functions inherited from App::LinkBaseExtension | |
| static int | getArrayIndex (const char *subname, const char **psubname=nullptr) |
| static bool | setupCopyOnChange (App::DocumentObject *obj, App::DocumentObject *linked, std::vector< boost::signals2::scoped_connection > *copyOnChangeConns, bool checkExisting) |
| static bool | isCopyOnChangeProperty (App::DocumentObject *obj, const Property &prop) |
Protected Member Functions inherited from App::LinkBaseExtension | |
| void | parseSubName () const |
| void | update (App::DocumentObject *parent, const Property *prop) |
| void | checkCopyOnChange (App::DocumentObject *parent, const App::Property &prop) |
| void | setupCopyOnChange (App::DocumentObject *parent, bool checkSource=false) |
| App::DocumentObject * | makeCopyOnChange () |
| void | syncElementList () |
| void | detachElement (App::DocumentObject *obj) |
| void | detachElements () |
| void | checkGeoElementMap (const App::DocumentObject *obj, const App::DocumentObject *linked, PyObject **pyObj, const char *postfix) const |
| void | updateGroup () |
| void | slotChangedPlainGroup (const App::DocumentObject &, const App::Property &) |
Protected Member Functions inherited from App::Extension | |
| void | initExtensionType (Base::Type type) |
Static Protected Member Functions inherited from App::Extension | |
| static void | initExtensionSubclass (Base::Type &toInit, const char *ClassName, const char *ParentName, Base::Type::instantiationMethod method=nullptr) |
Protected Attributes inherited from App::LinkBaseExtension | |
| std::vector< Property * > | props |
| std::unordered_set< const App::DocumentObject * > | myHiddenElements |
| std::vector< std::string > | mySubElements |
| std::string | mySubName |
| std::unordered_map< const App::DocumentObject *, boost::signals2::scoped_connection > | plainGroupConns |
| long | prevLinkedObjectID = 0 |
| std::unordered_map< std::string, int > | myLabelCache |
| bool | enableLabelCache |
| bool | hasOldSubElement |
| std::vector< boost::signals2::scoped_connection > | copyOnChangeConns |
| std::vector< boost::signals2::scoped_connection > | copyOnChangeSrcConns |
| bool | hasCopyOnChange |
| bool | checkingProperty = false |
| bool | pauseCopyOnChange = false |
| boost::signals2::scoped_connection | connCopyOnChangeSource |
Protected Attributes inherited from App::Extension | |
| bool | m_isPythonExtension = false |
| Py::SmartPtr | ExtensionPythonObject |
| LinkExtension::LinkExtension | ( | void | ) |
|
virtual |
|
overridevirtual |
get called after a document has been fully restored
Reimplemented from App::LinkBaseExtension.