Gui::ViewProviderLink Class Reference

#include <ViewProviderLink.h>

Classes

struct  DraggerContext
 

Public Member Functions

virtual bool allowOverride (const App::DocumentObject &) const override
 Allow this class to be used as an override for the original view provider of the given object. More...
 
void attach (App::DocumentObject *pcObj) override
 
bool canDelete (App::DocumentObject *obj) const override
 Asks the view provider if the given object can be deleted. More...
 
bool canDragAndDropObject (App::DocumentObject *) const override
 Return false to force drop only operation for a given object. More...
 
bool canDragObject (App::DocumentObject *) const override
 Check whether the object can be removed from the view provider by drag and drop. More...
 
bool canDragObjects () const override
 Check whether children can be removed from the view provider by drag and drop. More...
 
bool canDropObjectEx (App::DocumentObject *obj, App::DocumentObject *owner, const char *subname, const std::vector< std::string > &subElements) const override
 Query object dropping with full qualified name. More...
 
bool canDropObjects () const override
 Check whether objects can be added to the view provider by drag and drop or drop only. More...
 
std::vector< App::DocumentObject * > claimChildren (void) const override
 deliver the children belonging to this object this method is used to deliver the objects to the tree framework which should be grouped under its label. More...
 
Base::Placement currentDraggingPlacement () const
 
bool doubleClicked () override
 is called by the tree if the user double clicks on the object More...
 
void dragObject (App::DocumentObject *) override
 Remove a child from the view provider by drag and drop. More...
 
std::string dropObjectEx (App::DocumentObject *, App::DocumentObject *, const char *subname, const std::vector< std::string > &subElements) override
 Add an object with full qualified name to the view provider by drag and drop. More...
 
void enableCenterballDragger (bool enable)
 
void finishRestoring () override
 
ViewProviderDocumentObjectgetChildViewProvider () const
 
bool getDetailPath (const char *, SoFullPath *, bool, SoDetail *&) const override
 return the coin node detail and path to the node of the subname More...
 
std::vector< std::string > getDisplayModes (void) const override
 returns a list of all possible display modes More...
 
std::map< std::string, App::ColorgetElementColors (const char *subname=nullptr) const override
 
bool getElementPicked (const SoPickedPoint *, std::string &) const override
 return a hit element given the picked point which contains the full node path More...
 
QIcon getIcon (void) const override
 deliver the icon shown in the tree view More...
 
virtual ViewProviderDocumentObjectgetLinkedViewProvider (std::string *subname=nullptr, bool recursive=false) const override
 Return the linked view object. More...
 
virtual QPixmap getOverlayPixmap () const
 
virtual App::PropertygetPropertyByName (const char *name) const override
 find a property by its name More...
 
virtual void getPropertyList (std::vector< App::Property * > &List) const override
 get all properties of the class (including properties of the parent) More...
 
virtual void getPropertyMap (std::map< std::string, App::Property * > &Map) const override
 get all properties of the class (including properties of the parent) More...
 
PyObjectgetPyLinkView ()
 
PyObjectgetPyObject () override
 Get the python wrapper for that ViewProvider. More...
 
bool isSelectable (void) const override
 
bool isUsingCenterballDragger () const
 
virtual void onBeforeChange (const App::Property *) override
 get called before the value is changed More...
 
void onChanged (const App::Property *prop) override
 Gets called by the container whenever a property has been changed. More...
 
bool onDelete (const std::vector< std::string > &) override
 Get called if the object is about to get deleted. More...
 
void reattach (App::DocumentObject *pcObj) override
 
void setElementColors (const std::map< std::string, App::Color > &colors) override
 
void setOverrideMode (const std::string &mode) override
 Overrides the display mode with mode. More...
 
void setupContextMenu (QMenu *, QObject *, const char *) override
 set up the context-menu with the supported edit modes More...
 
ViewProviderstartEditing (int ModNum) override
 
void updateData (const App::Property *) override
 
void updateDraggingPlacement (const Base::Placement &pla, bool force=false)
 
bool useNewSelectionModel (void) const override
 indicates if the ViewProvider use the new Selection model More...
 
 ViewProviderLink ()
 
virtual ~ViewProviderLink ()
 
- Public Member Functions inherited from Gui::ViewProviderDocumentObject
virtual void attach (App::DocumentObject *pcObject)
 
virtual bool canDelete (App::DocumentObject *obj) const override
 Asks the view provider if the given object can be deleted. More...
 
virtual bool canDropObjectEx (App::DocumentObject *, App::DocumentObject *, const char *, const std::vector< std::string > &) const override
 Query object dropping with full qualified name. More...
 
virtual void forceUpdate (bool enable=true)
 
virtual bool getDetailPath (const char *subname, SoFullPath *pPath, bool append, SoDetail *&det) const override
 return the coin node detail and path to the node of the subname More...
 
Gui::DocumentgetDocument () const
 Get the GUI document to this ViewProvider object. More...
 
virtual bool getElementPicked (const SoPickedPoint *, std::string &subname) const override
 return a hit element given the picked point which contains the full node path More...
 
App::DocumentObjectgetObject (void) const
 Get the object of this ViewProvider object. More...
 
PyObjectgetPyObject () override
 Get the python wrapper for that ViewProvider. More...
 
virtual void getTaskViewContent (std::vector< Gui::TaskView::TaskContent * > &) const override
 Get a list of TaskBoxes associated with this object. More...
 
virtual const char * getTransactionText () const override
 Is called by the tree if the user double clicks on the object. More...
 
virtual void hide (void) override
 Hide the object in the view. More...
 
virtual bool isUpdateForced () const
 
virtual void reattach (App::DocumentObject *)
 
virtual int replaceObject (App::DocumentObject *, App::DocumentObject *) override
 Replace an object to the view provider by drag and drop. More...
 
void setActiveMode ()
 Set the active mode, i.e. the first item of the 'Display' property. More...
 
virtual void show (void) override
 Show the object in the view. More...
 
virtual bool showInTree () const override
 Tell the tree view if this object should appear there. More...
 
virtual void update (const App::Property *) override
 update the content of the ViewProvider this method have to implement the recalculation of the ViewProvider. More...
 
void updateView ()
 Run a redraw. More...
 
 ViewProviderDocumentObject ()
 constructor. More...
 
virtual ~ViewProviderDocumentObject ()
 destructor. More...
 
virtual void startRestoring ()
 
virtual bool removeDynamicProperty (const char *prop) override
 
virtual App::PropertyaddDynamicProperty (const char *type, const char *name=nullptr, const char *group=nullptr, const char *doc=nullptr, short attr=0, bool ro=false, bool hidden=false) override
 
virtual std::string getFullName () const override
 
void setShowable (bool enable)
 
bool isShowable () const
 
void startDefaultEditMode ()
 Start the edit mode with ViewProvider::Default. More...
 
- Public Member Functions inherited from Gui::ViewProvider
virtual bool canAddToSceneGraph () const
 Indicate whether to be added to scene graph or not. More...
 
virtual std::vector< App::DocumentObject * > claimChildren3D (void) const
 deliver the children belonging to this object this method is used to deliver the objects to the 3DView which should be grouped under its scene graph. More...
 
SoSeparatorgetAnnotation (void)
 
virtual SoSeparatorgetBackRoot (void) const
 
virtual SoGroupgetChildRoot (void) const
 
virtual SoSeparatorgetFrontRoot (void) const
 
SoSwitch * getModeSwitch (void) const
 
virtual SoSeparatorgetRoot (void) const
 
SoTransform * getTransformNode () const
 
 ViewProvider ()
 constructor. More...
 
virtual ~ViewProvider ()
 destructor. More...
 
virtual std::string getElement (const SoDetail *) const
 return a hit element to the selection path or 0 More...
 
virtual SoDetail * getDetail (const char *) const
 return the coin node detail of the subelement More...
 
int partialRender (const std::vector< std::string > &subelements, bool clear)
 partial rendering setup More...
 
virtual std::vector< Base::Vector3dgetModelPoints (const SoPickedPoint *) const
 
virtual std::vector< Base::Vector3dgetSelectionShape (const char *Element) const
 return the highlight lines for a given element or the whole shape More...
 
Base::BoundBox3d getBoundingBox (const char *subname=nullptr, bool transform=true, MDIView *view=nullptr) const
 Return the bound box of this view object. More...
 
virtual void beforeDelete ()
 Called before deletion. More...
 
virtual bool canDropObject (App::DocumentObject *) const
 Check whether the object can be dropped to the view provider by drag and drop or drop only. More...
 
virtual void dropObject (App::DocumentObject *)
 Add an object to the view provider by drag and drop. More...
 
virtual std::string getDropPrefix () const
 return a subname referencing the sub-object holding the dropped objects More...
 
virtual bool canRemoveChildrenFromRoot () const
 Tell the tree view to remove children items from the tree root. More...
 
std::string getActiveDisplayMode (void) const
 
virtual void setDisplayMode (const char *ModeName)
 set the display mode More...
 
virtual const char * getDefaultDisplayMode () const
 get the default display mode More...
 
virtual bool isShow (void) const
 checks whether the view provider is visible or not More...
 
void setVisible (bool)
 
bool isVisible () const
 
void setLinkVisible (bool)
 
bool isLinkVisible () const
 
const std::string getOverrideMode ()
 
virtual bool keyPressed (bool pressed, int key)
 is called when the provider is in edit and a key event occurs. Only ESC ends edit. More...
 
virtual bool mouseMove (const SbVec2s &cursorPos, View3DInventorViewer *viewer)
 is called when the provider is in edit and the mouse is moved More...
 
virtual bool mouseButtonPressed (int button, bool pressed, const SbVec2s &cursorPos, const View3DInventorViewer *viewer)
 is called when the Provider is in edit and the mouse is clicked More...
 
virtual bool mouseWheelEvent (int delta, const SbVec2s &cursorPos, const View3DInventorViewer *viewer)
 
bool isEditing () const
 
void finishEditing ()
 
bool isUpdatesEnabled () const
 
void setUpdatesEnabled (bool enable)
 
unsigned long getStatus () const
 return the status bits More...
 
bool testStatus (ViewStatus pos) const
 
void setStatus (ViewStatus pos, bool on)
 
std::string toString () const
 
virtual QIcon mergeColorfulOverlayIcons (const QIcon &orig) const
 
virtual void setTransformation (const Base::Matrix4D &rcMatrix)
 set the viewing transformation of the provider More...
 
virtual void setTransformation (const SbMatrix &rcMatrix)
 
virtual MDIViewgetMDIView () const
 
virtual void Restore (Base::XMLReader &reader)
 This method is used to restore properties from an XML document. More...
 
bool isRestoring ()
 
void addDisplayMaskMode (SoNode *node, const char *type)
 Adds a new display mask mode. More...
 
void setDisplayMaskMode (const char *type)
 Activates the display mask mode type. More...
 
SoNodegetDisplayMaskMode (const char *type) const
 Get the node to the display mask mode type. More...
 
std::vector< std::string > getDisplayMaskModes () const
 Returns a list of added display mask modes. More...
 
void setDefaultMode (int)
 
int getDefaultMode () const
 
virtual void setRenderCacheMode (int)
 
- Public Member Functions inherited from App::TransactionalObject
virtual const char * detachFromDocument ()
 
virtual bool isAttachedToDocument () const
 
 TransactionalObject (void)
 Constructor. More...
 
virtual ~TransactionalObject ()
 
- Public Member Functions inherited from App::ExtensionContainer
ExtensionIterator extensionBegin ()
 
 ExtensionContainer ()
 
ExtensionIterator extensionEnd ()
 
App::ExtensiongetExtension (Base::Type, bool derived=true, bool no_except=false) const
 
App::ExtensiongetExtension (const std::string &name) const
 
template<typename ExtensionT >
ExtensionTgetExtensionByType (bool no_except=false, bool derived=true) const
 
std::vector< Extension * > getExtensionsDerivedFrom (Base::Type type) const
 
template<typename ExtensionT >
std::vector< ExtensionT * > getExtensionsDerivedFromType () const
 
bool hasExtension (Base::Type, bool derived=true) const
 
bool hasExtension (const std::string &name) const
 
bool hasExtensions () const
 
void registerExtension (Base::Type extension, App::Extension *ext)
 
virtual ~ExtensionContainer ()
 
virtual const char * getPropertyName (const Property *prop) const override
 get the name of a property More...
 
virtual short getPropertyType (const Property *prop) const override
 get the Type of a Property More...
 
virtual short getPropertyType (const char *name) const override
 get the Type of a named Property More...
 
virtual const char * getPropertyGroup (const Property *prop) const override
 get the Group of a Property More...
 
virtual const char * getPropertyGroup (const char *name) const override
 get the Group of a named Property More...
 
virtual const char * getPropertyDocumentation (const Property *prop) const override
 get the Group of a Property More...
 
virtual const char * getPropertyDocumentation (const char *name) const override
 get the Group of a named Property More...
 
virtual void Save (Base::Writer &writer) const override
 This method is used to save properties to an XML document. More...
 
void saveExtensions (Base::Writer &writer) const
 
void restoreExtensions (Base::XMLReader &reader)
 
- Public Member Functions inherited from App::PropertyContainer
virtual App::PropertyaddDynamicProperty (const char *type, const char *name=nullptr, const char *group=nullptr, const char *doc=nullptr, short attr=0, bool ro=false, bool hidden=false)
 
bool changeDynamicProperty (const Property *prop, const char *group, const char *doc)
 
virtual void editProperty (const char *)
 
virtual App::PropertygetDynamicPropertyByName (const char *name) const
 
DynamicProperty::PropData getDynamicPropertyData (const Property *prop) const
 
virtual std::vector< std::string > getDynamicPropertyNames () const
 
virtual std::string getFullName () const
 
virtual unsigned int getMemSize (void) const
 This method is used to get the size of objects It is not meant to have the exact size, it is more or less an estimation which runs fast! Is it two bytes or a GB? More...
 
virtual PropertygetPropertyByName (const char *name) const
 find a property by its name More...
 
virtual const char * getPropertyDocumentation (const char *name) const
 get the Group of a named Property More...
 
virtual const char * getPropertyDocumentation (const Property *prop) const
 get the Group of a Property More...
 
virtual const char * getPropertyGroup (const char *name) const
 get the Group of a named Property More...
 
virtual const char * getPropertyGroup (const Property *prop) const
 get the Group of a Property More...
 
virtual void getPropertyList (std::vector< Property * > &List) const
 get all properties of the class (including properties of the parent) More...
 
virtual void getPropertyMap (std::map< std::string, Property * > &Map) const
 get all properties of the class (including properties of the parent) More...
 
virtual const char * getPropertyName (const Property *prop) const
 get the name of a property More...
 
virtual void getPropertyNamedList (std::vector< std::pair< const char *, Property * > > &List) const
 get all properties with their names, may contain duplicates and aliases More...
 
const char * getPropertyPrefix () const
 
virtual short getPropertyType (const char *name) const
 get the Type of a named Property More...
 
virtual short getPropertyType (const Property *prop) const
 get the Type of a Property More...
 
bool isHidden (const char *name) const
 check if the named property is hidden More...
 
bool isHidden (const Property *prop) const
 check if the property is hidden More...
 
bool isReadOnly (const char *name) const
 check if the named property is read-only More...
 
bool isReadOnly (const Property *prop) const
 check if the property is read-only More...
 
virtual void onPropertyStatusChanged (const Property &prop, unsigned long oldStatus)
 
 PropertyContainer ()
 A constructor. More...
 
virtual bool removeDynamicProperty (const char *name)
 
virtual void Restore (Base::XMLReader &reader)
 This method is used to restore properties from an XML document. More...
 
virtual void Save (Base::Writer &writer) const
 This method is used to save properties to an XML document. More...
 
void setPropertyPrefix (const char *prefix)
 
void setPropertyStatus (unsigned char bit, bool value)
 set the Status bit of all properties at once More...
 
virtual ~PropertyContainer ()
 A destructor. More...
 
- Public Member Functions inherited from Base::Persistence
void dumpToStream (std::ostream &stream, int compression)
 
virtual unsigned int getMemSize () const =0
 This method is used to get the size of objects It is not meant to have the exact size, it is more or less an estimation which runs fast! Is it two bytes or a GB? More...
 
virtual Base::Type getTypeId (void) const
 
virtual void Restore (XMLReader &)=0
 This method is used to restore properties from an XML document. More...
 
virtual void RestoreDocFile (Reader &)
 This method is used to restore large amounts of data from a file In this method you simply stream in your SaveDocFile() saved data. More...
 
void restoreFromStream (std::istream &stream)
 
virtual void Save (Writer &) const =0
 This method is used to save properties to an XML document. More...
 
virtual void SaveDocFile (Writer &) const
 This method is used to save large amounts of data to a binary file. More...
 
- Public Member Functions inherited from Base::BaseClass
 BaseClass ()
 Construction. More...
 
 BaseClass (const BaseClass &)=default
 
virtual PyObjectgetPyObject ()
 This method returns the Python wrapper for a C++ object. More...
 
virtual Type getTypeId () const
 
bool isDerivedFrom (const Type type) const
 
BaseClassoperator= (const BaseClass &)=default
 
virtual void setPyObject (PyObject *)
 
virtual ~BaseClass ()
 Destruction. More...
 

Static Public Member Functions

static void updateLinks (ViewProvider *vp)
 
- Static Public Member Functions inherited from Gui::ViewProvider
static const std::string & hiddenMarker ()
 
static const char * hasHiddenMarker (const char *subname)
 
static SbMatrix convert (const Base::Matrix4D &rcMatrix)
 
static Base::Matrix4D convert (const SbMatrix &sbMat)
 
static void eventCallback (void *ud, SoEventCallback *node)
 
- Static Public Member Functions inherited from Base::Persistence
static void * create (void)
 
static std::string encodeAttribute (const std::string &)
 Encodes an attribute upon saving. More...
 
static Base::Type getClassTypeId (void)
 
static void init (void)
 
- Static Public Member Functions inherited from Base::BaseClass
static void * create ()
 
static Type getClassTypeId ()
 
static void init ()
 

Public Attributes

App::PropertyPersistentObject ChildViewProvider
 
App::PropertyEnumeration DrawStyle
 
App::PropertyFloatConstraint LineWidth
 
App::PropertyMaterialList MaterialList
 
App::PropertyColorList OverrideColorList
 
App::PropertyBool OverrideMaterial
 
App::PropertyBoolList OverrideMaterialList
 
App::PropertyFloatConstraint PointSize
 
App::PropertyBool Selectable
 
App::PropertyMaterial ShapeMaterial
 
- Public Attributes inherited from Gui::ViewProviderDocumentObject
App::PropertyEnumeration DisplayMode
 
App::PropertyEnumeration OnTopWhenSelected
 
App::PropertyEnumeration SelectionStyle
 
App::PropertyBool ShowInTree
 
App::PropertyBool Visibility
 
- Public Attributes inherited from Gui::ViewProvider
boost::signals2::signal< void()> signalChangeIcon
 signal on icon change More...
 
boost::signals2::signal< void(const QString &)> signalChangeToolTip
 signal on tooltip change More...
 
boost::signals2::signal< void(const QString &)> signalChangeStatusTip
 signal on status tip change More...
 

Protected Types

enum  LinkType { LinkTypeNone , LinkTypeNormal , LinkTypeSubs }
 

Protected Member Functions

void applyColors ()
 
void applyMaterial ()
 
bool callDraggerProxy (const char *fname, bool update)
 
void checkIcon (const App::LinkBaseExtension *ext=nullptr)
 
std::vector< App::DocumentObject * > claimChildrenPrivate () const
 
ViewProvidergetLinkedView (bool real, const App::LinkBaseExtension *ext=nullptr) const
 
App::LinkBaseExtensiongetLinkExtension ()
 
const App::LinkBaseExtensiongetLinkExtension () const
 
bool hasElements (const App::LinkBaseExtension *ext=nullptr) const
 
bool initDraggingPlacement ()
 
bool isGroup (const App::LinkBaseExtension *ext=nullptr, bool plainGroup=false) const
 
bool linkEdit (const App::LinkBaseExtension *ext=nullptr) const
 
void onChangeIcon () const
 
bool setEdit (int ModNum) override
 is called by the document when the provider goes in edit mode More...
 
void setEditViewer (View3DInventorViewer *, int ModNum) override
 adjust viewer settings when editing a view provider More...
 
bool setLinkType (App::LinkBaseExtension *ext)
 
void unsetEditViewer (View3DInventorViewer *) override
 restores viewer settings when leaving editing mode More...
 
void updateDataPrivate (App::LinkBaseExtension *ext, const App::Property *)
 
void updateElementList (App::LinkBaseExtension *ext)
 
- Protected Member Functions inherited from Gui::ViewProviderDocumentObject
virtual bool isAttachedToDocument () const override
 
virtual const char * detachFromDocument () override
 
virtual void onPropertyStatusChanged (const App::Property &prop, unsigned long oldStatus) override
 get called when a property status has changed More...
 
virtual void setModeSwitch () override
 Turn on mode switch. More...
 
void addDefaultAction (QMenu *, const QString &)
 Adds a menu item and bind it with startDefaultEditMode(). More...
 
Gui::MDIViewgetActiveView () const
 
Gui::MDIViewgetEditingView () const
 
Gui::MDIViewgetInventorView () const
 
Gui::MDIViewgetViewOfNode (SoNode *node) const
 
SoNodefindFrontRootOfType (const SoType &type) const
 Searches in all view providers that are attached to an object that is part of the same document as the object this view provider is attached to for an front root of type. More...
 
- Protected Member Functions inherited from Gui::ViewProvider
virtual void unsetEdit (int ModNum)
 is called when you lose the edit mode More...
 
int getEditingMode () const
 return the edit mode or -1 if nothing is being edited More...
 
virtual QIcon mergeGreyableOverlayIcons (const QIcon &orig) const
 
bool checkRecursion (SoNode *)
 Helper method to check that the node is valid, i.e. More...
 
SoPickedPoint * getPointOnRay (const SbVec2s &pos, const View3DInventorViewer *viewer) const
 Helper method to get picked entities while editing. More...
 
SoPickedPoint * getPointOnRay (const SbVec3f &pos, const SbVec3f &dir, const View3DInventorViewer *viewer) const
 Helper method to get picked entities while editing. More...
 
- Protected Member Functions inherited from App::TransactionalObject
void onBeforeChangeProperty (Document *doc, const Property *prop)
 
- Protected Member Functions inherited from App::PropertyContainer
virtual const PropertyDatagetPropertyData (void) const
 
virtual void handleChangedPropertyName (Base::XMLReader &reader, const char *TypeName, const char *PropName)
 PropertyContainer::handleChangedPropertyName is called during restore to possibly fix reading of older versions of this property container. More...
 
virtual void handleChangedPropertyType (Base::XMLReader &reader, const char *TypeName, Property *prop)
 PropertyContainer::handleChangedPropertyType is called during restore to possibly fix reading of older versions of the property container. More...
 
virtual void onBeforeChange (const Property *)
 get called before the value is changed More...
 
virtual void onChanged (const Property *)
 get called by the container when a property has changed More...
 

Protected Attributes

ViewProviderDocumentObjectchildVp
 
LinkInfoPtr childVpLink
 
std::unique_ptr< DraggerContextdragCtx
 
bool hasSubElement
 
bool hasSubName
 
LinkType linkType
 
LinkViewlinkView
 
qint64 overlayCacheKey
 
CoinPtr< SoDraggerpcDragger
 
bool useCenterballDragger
 
- Protected Attributes inherited from Gui::ViewProviderDocumentObject
App::DocumentObjectpcObject
 
Gui::DocumentpcDocument
 
- Protected Attributes inherited from Gui::ViewProvider
SoSeparatorpcRoot
 The root Separator of the ViewProvider. More...
 
SoTransform * pcTransform
 this is transformation for the provider More...
 
const char * sPixmap
 
SoSwitch * pcModeSwitch
 this is the mode switch, all the different viewing modes are collected here More...
 
SoSeparatorpcAnnotation
 The root separator for annotations. More...
 
ViewProviderPy * pyViewObject
 
std::string overrideMode
 
std::bitset< 32 > StatusBits
 
- Protected Attributes inherited from App::PropertyContainer
DynamicProperty dynamicProps
 

Additional Inherited Members

- Public Types inherited from Gui::ViewProvider
enum  EditMode { Default = 0 , Transform , Cutting , Color }
 
- Public Types inherited from App::ExtensionContainer
typedef std::map< Base::Type, App::Extension * >::iterator ExtensionIterator
 
- Static Protected Member Functions inherited from App::PropertyContainer
static const PropertyDatagetPropertyDataPtr (void)
 
- Static Protected Member Functions inherited from Base::BaseClass
static void initSubclass (Base::Type &toInit, const char *ClassName, const char *ParentName, Type::instantiationMethod method=nullptr)
 

Member Enumeration Documentation

◆ LinkType

Enumerator
LinkTypeNone 
LinkTypeNormal 
LinkTypeSubs 

Constructor & Destructor Documentation

◆ ViewProviderLink()

◆ ~ViewProviderLink()

ViewProviderLink::~ViewProviderLink ( )
virtual

Member Function Documentation

◆ allowOverride()

virtual bool Gui::ViewProviderLink::allowOverride ( const App::DocumentObject ) const
overridevirtual

Allow this class to be used as an override for the original view provider of the given object.

See also
App::DocumentObject::getViewProviderNameOverride()

Reimplemented from Gui::ViewProviderDocumentObject.

◆ applyColors()

◆ applyMaterial()

◆ attach()

◆ callDraggerProxy()

◆ canDelete()

bool ViewProviderLink::canDelete ( App::DocumentObject obj) const
overridevirtual

Asks the view provider if the given object can be deleted.

Reimplemented from Gui::ViewProviderDocumentObject.

References getLinkedView(), getLinkExtension(), hasElements(), hasSubElement, and isGroup().

◆ canDragAndDropObject()

bool ViewProviderLink::canDragAndDropObject ( App::DocumentObject obj) const
overridevirtual

◆ canDragObject()

bool ViewProviderLink::canDragObject ( App::DocumentObject obj) const
overridevirtual

Check whether the object can be removed from the view provider by drag and drop.

Reimplemented from Gui::ViewProvider.

References getLinkedView(), getLinkExtension(), hasElements(), and isGroup().

◆ canDragObjects()

bool ViewProviderLink::canDragObjects ( ) const
overridevirtual

Check whether children can be removed from the view provider by drag and drop.

Reimplemented from Gui::ViewProvider.

References getLinkedView(), getLinkExtension(), hasElements(), and isGroup().

◆ canDropObjectEx()

bool ViewProviderLink::canDropObjectEx ( App::DocumentObject obj,
App::DocumentObject owner,
const char *  subname,
const std::vector< std::string > &  elements 
) const
overridevirtual

Query object dropping with full qualified name.

Tree view now calls this function instead of canDropObject(), and may query for objects from other document. The default implementation (actually in ViewProviderDocumentObject) inhibites cross document dropping, and calls canDropObject(obj) for the rest. Override this function to enable cross document linking.

Parameters
objthe object being dropped
ownerthe (grand)parent object of the dropping object. Maybe null. This may not be the top parent object, as tree view will try to find a parent of the dropping object relative to this object to avoid cyclic dependency
subnamesubname reference to the dropping object
elementsnon-object sub-elements, e.g. Faces, Edges, selected when the object is being dropped
Returns
Return whether the dropping action is allowed.

Reimplemented from Gui::ViewProviderDocumentObject.

References Gui::ViewProviderDocumentObject::getDocument(), getLinkedView(), getLinkExtension(), Gui::ViewProviderDocumentObject::getObject(), hasElements(), hasSubName, isGroup(), Gui::LinkView::isLinked(), linkView, and Gui::ViewProviderDocumentObject::pcObject.

◆ canDropObjects()

bool ViewProviderLink::canDropObjects ( ) const
overridevirtual

Check whether objects can be added to the view provider by drag and drop or drop only.

Reimplemented from Gui::ViewProvider.

References getLinkedView(), getLinkExtension(), hasElements(), hasSubElement, hasSubName, and isGroup().

◆ checkIcon()

◆ claimChildren()

std::vector< App::DocumentObject * > ViewProviderLink::claimChildren ( void  ) const
overridevirtual

deliver the children belonging to this object this method is used to deliver the objects to the tree framework which should be grouped under its label.

Obvious is the usage in the group but it can be used for any kind of grouping needed for a special purpose.

Reimplemented from Gui::ViewProvider.

References getLinkedView(), getLinkExtension(), hasElements(), hasSubName, and isGroup().

Referenced by femviewprovider.view_mesh_gmsh.VPMeshGmsh::onDelete(), femviewprovider.view_result_mechanical.VPResultMechanical::onDelete(), BOPTools.JoinFeatures.ViewProviderConnect::onDelete(), BOPTools.SplitFeatures.ViewProviderBooleanFragments::onDelete(), BOPTools.SplitFeatures.ViewProviderSlice::onDelete(), and BOPTools.SplitFeatures.ViewProviderXOR::onDelete().

◆ claimChildrenPrivate()

std::vector< App::DocumentObject * > Gui::ViewProviderLink::claimChildrenPrivate ( ) const
protected

◆ currentDraggingPlacement()

Base::Placement ViewProviderLink::currentDraggingPlacement ( ) const

◆ doubleClicked()

bool ViewProviderLink::doubleClicked ( void  )
overridevirtual

◆ dragObject()

void ViewProviderLink::dragObject ( App::DocumentObject obj)
overridevirtual

Remove a child from the view provider by drag and drop.

Reimplemented from Gui::ViewProvider.

References getLinkedView(), getLinkExtension(), hasElements(), and isGroup().

◆ dropObjectEx()

std::string ViewProviderLink::dropObjectEx ( App::DocumentObject obj,
App::DocumentObject owner,
const char *  subname,
const std::vector< std::string > &  elements 
)
overridevirtual

Add an object with full qualified name to the view provider by drag and drop.

Parameters
objthe object being dropped
ownerthe (grand)parent object of the dropping object. Maybe null. This may not be the top parent object, as tree view will try to find a parent of the dropping object relative to this object to avoid cyclic dependency
subnamesubname reference to the dropping object
elementsnon-object sub-elements, e.g. Faces, Edges, selected when the object is being dropped
Returns
Optionally returns a subname reference locating the dropped object, which may or may not be the actual dropped object, e.g. it may be a link.

Reimplemented from Gui::ViewProvider.

References getLinkedView(), getLinkExtension(), hasElements(), hasSubName, and isGroup().

◆ enableCenterballDragger()

void ViewProviderLink::enableCenterballDragger ( bool  enable)

References pcDragger, and useCenterballDragger.

◆ finishRestoring()

◆ getChildViewProvider()

ViewProviderDocumentObject * Gui::ViewProviderLink::getChildViewProvider ( ) const

◆ getDetailPath()

bool ViewProviderLink::getDetailPath ( const char *  subname,
SoFullPath *  pPath,
bool  append,
SoDetail *&  det 
) const
overridevirtual

◆ getDisplayModes()

std::vector< std::string > ViewProviderLink::getDisplayModes ( void  ) const
overridevirtual

returns a list of all possible display modes

Reimplemented from Gui::ViewProvider.

References Gui::ViewProvider::getDisplayModes().

◆ getElementColors()

◆ getElementPicked()

bool ViewProviderLink::getElementPicked ( const SoPickedPoint *  pp,
std::string &  subname 
) const
overridevirtual

◆ getIcon()

◆ getLinkedView()

◆ getLinkedViewProvider()

ViewProviderDocumentObject * ViewProviderLink::getLinkedViewProvider ( std::string *  subname = nullptr,
bool  recursive = false 
) const
overridevirtual

Return the linked view object.

This function is mainly used for GUI navigation (e.g. StdCmdLinkSelectLinked).

Parameters
subnameoutput as the subname referencing the linked object
recursivewhether to follow the link recursively
Returns
Returns the linked view provider. If none, it shall return itself.

Reimplemented from Gui::ViewProviderDocumentObject.

References getLinkExtension(), and Gui::Application::Instance.

Referenced by getPropertyByName().

◆ getLinkExtension() [1/2]

◆ getLinkExtension() [2/2]

◆ getOverlayPixmap()

QPixmap ViewProviderLink::getOverlayPixmap ( ) const
virtual

◆ getPropertyByName()

App::Property * ViewProviderLink::getPropertyByName ( const char *  name) const
overridevirtual

◆ getPropertyList()

void ViewProviderLink::getPropertyList ( std::vector< App::Property * > &  List) const
overridevirtual

get all properties of the class (including properties of the parent)

Reimplemented from App::ExtensionContainer.

References getPropertyMap().

◆ getPropertyMap()

void ViewProviderLink::getPropertyMap ( std::map< std::string, App::Property * > &  Map) const
overridevirtual

get all properties of the class (including properties of the parent)

Reimplemented from App::ExtensionContainer.

References childVp, App::ExtensionContainer::getPropertyMap(), and App::Property::Hidden.

Referenced by getPropertyList().

◆ getPyLinkView()

PyObject * ViewProviderLink::getPyLinkView ( )

◆ getPyObject()

PyObject * ViewProviderLink::getPyObject ( void  )
overridevirtual

Get the python wrapper for that ViewProvider.

Reimplemented from Gui::ViewProviderDocumentObject.

References Gui::ViewProvider::pyViewObject.

◆ hasElements()

◆ initDraggingPlacement()

◆ isGroup()

bool ViewProviderLink::isGroup ( const App::LinkBaseExtension ext = nullptr,
bool  plainGroup = false 
) const
protected

◆ isSelectable()

bool ViewProviderLink::isSelectable ( void  ) const
overridevirtual

Reimplemented from Gui::ViewProvider.

References App::PropertyBool::getValue(), pcDragger, and Selectable.

Referenced by getElementPicked().

◆ isUsingCenterballDragger()

bool Gui::ViewProviderLink::isUsingCenterballDragger ( ) const

◆ linkEdit()

bool ViewProviderLink::linkEdit ( const App::LinkBaseExtension ext = nullptr) const
protected

◆ onBeforeChange()

◆ onChanged()

void ViewProviderLink::onChanged ( const App::Property prop)
overridevirtual

Gets called by the container whenever a property has been changed.

Reimplemented from Gui::ViewProviderDocumentObject.

References Gui::ViewProviderDocumentObject::allowOverride(), applyColors(), applyMaterial(), Gui::ViewProviderDocumentObject::attach(), ChildViewProvider, childVp, childVpLink, DrawStyle, Gui::LinkInfo::get(), Gui::ViewProviderDocumentObject::getFullName(), Base::Type::getName(), App::PropertyPersistentObject::getObject(), Gui::ViewProviderDocumentObject::getObject(), Base::Persistence::getTypeId(), App::PropertyEnumeration::getValue(), App::PropertyFloat::getValue(), Gui::ViewProvider::isRestoring(), LineWidth, linkView, MaterialList, Gui::ViewProviderDocumentObject::onChanged(), OverrideColorList, OverrideMaterial, OverrideMaterialList, Gui::ViewProvider::pcModeSwitch, PointSize, Gui::ViewProviderDocumentObject::setActiveMode(), Gui::LinkView::setDrawStyle(), App::PropertyContainer::setPropertyPrefix(), App::PropertyBool::setValue(), ShapeMaterial, Gui::LinkView::SnapshotTransform, Gui::ViewProviderDocumentObject::updateView(), and Gui::ViewProviderDocumentObject::Visibility.

Referenced by ArchStructure.CommandStructuralSystem::Activated(), draftviewproviders.view_base.ViewProviderDraft::attach(), ArchSite.Compass::buildCoordinates(), draftobjects.wire.Wire::execute(), ArchBuildingPart.ViewProviderBuildingPart::updateData(), ArchPanel.ViewProviderPanelCut::updateData(), ArchPanel.ViewProviderPanelSheet::updateData(), draftviewproviders.view_label.ViewProviderLabel::updateData(), draftviewproviders.view_layer.ViewProviderLayer::updateData(), and draftviewproviders.view_wpproxy.ViewProviderWorkingPlaneProxy::updateData().

◆ onChangeIcon()

void Gui::ViewProviderLink::onChangeIcon ( ) const
protected

◆ onDelete()

bool ViewProviderLink::onDelete ( const std::vector< std::string > &  subNames)
overridevirtual

Get called if the object is about to get deleted.

Here you can delete other objects, switch their visibility or prevent the deletion of the object.

Parameters
subNameslist of selected subelements
Returns
true if the deletion is approved by the view provider.

Reimplemented from Gui::ViewProvider.

References getLinkExtension(), and Gui::ViewProviderDocumentObject::getObject().

◆ reattach()

void ViewProviderLink::reattach ( App::DocumentObject pcObj)
overridevirtual

◆ setEdit()

◆ setEditViewer()

void ViewProviderLink::setEditViewer ( Gui::View3DInventorViewer ,
int  ModNum 
)
overrideprotectedvirtual

◆ setElementColors()

◆ setLinkType()

◆ setOverrideMode()

void ViewProviderLink::setOverrideMode ( const std::string &  mode)
overridevirtual

◆ setupContextMenu()

◆ startEditing()

◆ unsetEditViewer()

void ViewProviderLink::unsetEditViewer ( Gui::View3DInventorViewer )
overrideprotectedvirtual

restores viewer settings when leaving editing mode

Reimplemented from Gui::ViewProvider.

References Gui::ControlSingleton::closeDialog(), Gui::Control(), dragCtx, pcDragger, and OfflineRenderingUtils::viewer().

◆ updateData()

◆ updateDataPrivate()

◆ updateDraggingPlacement()

◆ updateElementList()

◆ updateLinks()

◆ useNewSelectionModel()

bool Gui::ViewProviderLink::useNewSelectionModel ( void  ) const
overridevirtual

indicates if the ViewProvider use the new Selection model

Reimplemented from Gui::ViewProvider.

Member Data Documentation

◆ ChildViewProvider

App::PropertyPersistentObject Gui::ViewProviderLink::ChildViewProvider

◆ childVp

◆ childVpLink

LinkInfoPtr Gui::ViewProviderLink::childVpLink
protected

◆ dragCtx

std::unique_ptr<DraggerContext> Gui::ViewProviderLink::dragCtx
protected

◆ DrawStyle

App::PropertyEnumeration Gui::ViewProviderLink::DrawStyle

◆ hasSubElement

bool Gui::ViewProviderLink::hasSubElement
protected

◆ hasSubName

◆ LineWidth

App::PropertyFloatConstraint Gui::ViewProviderLink::LineWidth

◆ linkType

LinkType Gui::ViewProviderLink::linkType
protected

Referenced by setLinkType().

◆ linkView

◆ MaterialList

◆ overlayCacheKey

qint64 Gui::ViewProviderLink::overlayCacheKey
mutableprotected

Referenced by checkIcon(), and getIcon().

◆ OverrideColorList

App::PropertyColorList Gui::ViewProviderLink::OverrideColorList

◆ OverrideMaterial

App::PropertyBool Gui::ViewProviderLink::OverrideMaterial

◆ OverrideMaterialList

App::PropertyBoolList Gui::ViewProviderLink::OverrideMaterialList

◆ pcDragger

◆ PointSize

App::PropertyFloatConstraint Gui::ViewProviderLink::PointSize

◆ Selectable

App::PropertyBool Gui::ViewProviderLink::Selectable

Referenced by isSelectable(), and ViewProviderLink().

◆ ShapeMaterial

◆ useCenterballDragger

bool Gui::ViewProviderLink::useCenterballDragger
protected

The documentation for this class was generated from the following files: