Public Types | |
typedef boost::signals2::scoped_connection Connection | |
typedef std::unordered_map< SoNode *, Pointer > NodeMap | |
typedef LinkInfoPtr Pointer | |
Public Member Functions | |
void addref () | |
bool checkName (const char *name) const | |
void detach (bool unlink) | |
bool getDetail (bool checkname, int type, const char *subname, SoDetail *&det, SoFullPath *path) const | |
const char * getDocName () const | |
bool getElementPicked (bool addname, int type, const SoPickedPoint *pp, std::ostream &str) const | |
QIcon getIcon (QPixmap px) | |
const char * getLinkedName () const | |
const char * getLinkedNameSafe () const | |
SoSeparator * getSnapshot (int type, bool update=false) | |
bool isLinked () const | |
bool isVisible () const | |
LinkInfo (ViewProviderDocumentObject *vp) | |
void release () | |
void remove (LinkOwner *owner) | |
void setVisible (bool visible) | |
void slotChangeIcon () | |
void update () | |
void updateChildren () | |
void updateData (const App::Property *prop) | |
void updateSwitch (SoSwitch *node=0) | |
~LinkInfo () | |
Static Public Member Functions | |
static const char * checkSubname (App::DocumentObject *obj, const char *subname) | |
static void childSensorCB (void *data, SoSensor *) | |
static Pointer get (App::DocumentObject *obj, Gui::LinkOwner *owner) | |
static Pointer get (ViewProviderDocumentObject *vp, LinkOwner *owner) | |
static ViewProviderDocumentObject * getView (App::DocumentObject *obj) | |
static void sensorCB (void *data, SoSensor *) | |
static void switchSensorCB (void *data, SoSensor *) | |
static void transformSensorCB (void *data, SoSensor *) | |
Public Attributes | |
SoNodeSensor childSensor | |
Connection connChangeIcon | |
std::map< qint64, QIcon > iconMap | |
std::unordered_set< Gui::LinkOwner * > links | |
NodeMap nodeMap | |
CoinPtr< SoGroup > pcChildGroup | |
ViewProviderDocumentObject * pcLinked | |
CoinPtr< SoSwitch > pcLinkedSwitch | |
std::array< CoinPtr< SoSeparator >, LinkView::SnapshotMax > pcSnapshots | |
std::array< CoinPtr< SoSwitch >, LinkView::SnapshotMax > pcSwitches | |
std::atomic< int > ref | |
SoNodeSensor sensor | |
SoNodeSensor switchSensor | |
SoNodeSensor transformSensor | |
Friends | |
void intrusive_ptr_add_ref (LinkInfo *px) | |
void intrusive_ptr_release (LinkInfo *px) | |
Member Typedef Documentation
◆ Connection
typedef boost::signals2::scoped_connection Gui::LinkInfo::Connection |
◆ NodeMap
typedef std::unordered_map<SoNode *, Pointer> Gui::LinkInfo::NodeMap |
◆ Pointer
typedef LinkInfoPtr Gui::LinkInfo::Pointer |
Constructor & Destructor Documentation
◆ LinkInfo()
Gui::LinkInfo::LinkInfo | ( | ViewProviderDocumentObject * | vp | ) |
References childSensor, childSensorCB(), connChangeIcon, Gui::ViewProviderDocumentObject::forceUpdate(), App::DocumentObject::getFullName(), Gui::ViewProviderDocumentObject::getObject(), pcLinked, sensor, sensorCB(), Gui::ViewProvider::signalChangeIcon, slotChangeIcon(), switchSensor, switchSensorCB(), transformSensor, and transformSensorCB().
Referenced by get().
◆ ~LinkInfo()
Gui::LinkInfo::~LinkInfo | ( | ) |
Member Function Documentation
◆ addref()
void Gui::LinkInfo::addref | ( | ) |
References ref.
◆ checkName()
bool Gui::LinkInfo::checkName | ( | const char * | name | ) | const |
References getLinkedName(), and isLinked().
◆ checkSubname()
|
static |
Referenced by getDetail().
◆ childSensorCB()
|
static |
References updateChildren().
Referenced by LinkInfo().
◆ detach()
void Gui::LinkInfo::detach | ( | bool | unlink | ) |
References childSensor, Gui::coinRemoveAllChildren(), connChangeIcon, getLinkedNameSafe(), links, pcChildGroup, pcLinked, pcLinkedSwitch, pcSnapshots, pcSwitches, sensor, switchSensor, and transformSensor.
Referenced by release().
◆ get() [1/2]
|
static |
References getView().
Referenced by Gui::ViewProviderLink::attach(), Gui::LinkView::SubInfo::link(), Gui::LinkView::Element::link(), draftguitools.gui_trackers.editTracker::move(), Gui::ViewProviderLink::onChanged(), Gui::LinkView::setLinkViewObject(), Gui::LinkView::setOwner(), and updateChildren().
◆ get() [2/2]
|
static |
References App::ExtensionContainer::getExtensionByType(), and LinkInfo().
Referenced by draftguitools.gui_trackers.editTracker::move().
◆ getDetail()
bool Gui::LinkInfo::getDetail | ( | bool | checkname, |
int | type, | ||
const char * | subname, | ||
SoDetail *& | det, | ||
SoFullPath * | path | ||
) | const |
References checkSubname(), Gui::ViewProvider::getChildRoot(), Gui::ViewProviderDocumentObject::getDetailPath(), Gui::ViewProviderDocumentObject::getObject(), Gui::Application::getViewProvider(), Gui::Application::Instance, isLinked(), Data::ComplexGeoData::isMappedElement(), nodeMap, pcChildGroup, pcLinked, pcSnapshots, pcSwitches, Gui::LinkView::SnapshotChild, and Gui::LinkView::SnapshotVisible.
◆ getDocName()
const char* Gui::LinkInfo::getDocName | ( | ) | const |
◆ getElementPicked()
◆ getIcon()
QIcon Gui::LinkInfo::getIcon | ( | QPixmap | px | ) |
◆ getLinkedName()
const char* Gui::LinkInfo::getLinkedName | ( | ) | const |
References App::DocumentObject::getNameInDocument(), Gui::ViewProviderDocumentObject::getObject(), and pcLinked.
Referenced by checkName(), getElementPicked(), and getLinkedNameSafe().
◆ getLinkedNameSafe()
const char* Gui::LinkInfo::getLinkedNameSafe | ( | ) | const |
References getLinkedName(), and isLinked().
◆ getSnapshot()
SoSeparator* Gui::LinkInfo::getSnapshot | ( | int | type, |
bool | update = false |
||
) |
References Gui::coinRemoveAllChildren(), Gui::ViewProvider::getChildRoot(), Gui::ViewProvider::getModeSwitch(), App::DocumentObject::getNameInDocument(), Gui::ViewProviderDocumentObject::getObject(), Gui::ViewProvider::getRoot(), Gui::ViewProvider::getTransformNode(), Gui::ViewParams::instance(), isLinked(), pcChildGroup, pcLinked, pcLinkedSwitch, pcSnapshots, pcSwitches, sensor, Gui::LinkView::SnapshotMax, Gui::LinkView::SnapshotTransform, switchSensor, transformSensor, update(), and updateSwitch().
Referenced by transformSensorCB(), and update().
◆ getView()
|
static |
◆ isLinked()
bool Gui::LinkInfo::isLinked | ( | ) | const |
References App::DocumentObject::getNameInDocument(), Gui::ViewProviderDocumentObject::getObject(), and pcLinked.
Referenced by checkName(), getDetail(), getElementPicked(), getIcon(), getLinkedNameSafe(), getSnapshot(), isVisible(), setVisible(), slotChangeIcon(), update(), updateChildren(), and updateSwitch().
◆ isVisible()
bool Gui::LinkInfo::isVisible | ( | ) | const |
References isLinked(), pcSwitches, Gui::LinkView::SnapshotTransform, and Gui::LinkView::SnapshotVisible.
Referenced by ArchVRM.Renderer::removeHidden().
◆ release()
void Gui::LinkInfo::release | ( | ) |
◆ remove()
◆ sensorCB()
|
static |
References update().
Referenced by LinkInfo().
◆ setVisible()
void Gui::LinkInfo::setVisible | ( | bool | visible | ) |
◆ slotChangeIcon()
void Gui::LinkInfo::slotChangeIcon | ( | ) |
References iconMap, isLinked(), and links.
Referenced by LinkInfo().
◆ switchSensorCB()
|
static |
References updateSwitch().
Referenced by LinkInfo().
◆ transformSensorCB()
|
static |
References getSnapshot(), and Gui::LinkView::SnapshotTransform.
Referenced by LinkInfo().
◆ update()
void Gui::LinkInfo::update | ( | ) |
References getSnapshot(), isLinked(), Gui::ViewProvider::isRestoring(), pcLinked, pcSnapshots, and updateChildren().
Referenced by ArchAxis.AxisSystemTaskPanel::addElement(), ArchSectionPlane.SectionPlaneTaskPanel::addElement(), ArchComponent.ComponentTaskPanel::addElement(), DraftGui.FacebinderTaskPanel::addElement(), femtaskpanels.task_result_mechanical._TaskPanel::calculate(), Spreadsheet_legacy.SpreadsheetView::changeCell(), draftguitools.gui_edit.Edit::endEditing(), getSnapshot(), draftguitools.gui_trackers.boxTracker::height(), ArchAxis.CommandArchGrid::IsActive(), draftguitools.gui_trackers.rectangleTracker::p3(), Plot.Plot::plot(), Spreadsheet_legacy.SpreadsheetView::recompute(), ArchAxis.AxisSystemTaskPanel::removeElement(), ArchSectionPlane.SectionPlaneTaskPanel::removeElement(), ArchComponent.ComponentTaskPanel::removeElement(), DraftGui.FacebinderTaskPanel::removeElement(), draftguitools.gui_trackers.gridTracker::reset(), ArchNesting.Nester::run(), sensorCB(), and draftguitools.gui_edit.Edit::update_object().
◆ updateChildren()
void Gui::LinkInfo::updateChildren | ( | ) |
References childSensor, Gui::ViewProvider::claimChildren3D(), Gui::coinRemoveAllChildren(), get(), Gui::ViewProvider::getChildRoot(), isLinked(), nodeMap, pcChildGroup, pcLinked, and Gui::LinkView::SnapshotChild.
Referenced by childSensorCB(), and update().
◆ updateData()
void Gui::LinkInfo::updateData | ( | const App::Property * | prop | ) |
References links.
Referenced by PathScripts.PathJobDlg.JobCreate::exec_(), draftviewproviders.view_wire.ViewProviderWire::onChanged(), draftviewproviders.view_dimension.ViewProviderLinearDimension::onChanged(), draftviewproviders.view_dimension.ViewProviderAngularDimension::onChanged(), PathScripts.PathOpGui.TaskPanelPage::pageUpdateData(), and PathScripts.PathSetupSheetGui.OpTaskPanel::setupUi().
◆ updateSwitch()
void Gui::LinkInfo::updateSwitch | ( | SoSwitch * | node = 0 | ) |
References Gui::ViewProvider::getDefaultMode(), isLinked(), pcLinked, pcLinkedSwitch, pcSwitches, and Gui::LinkView::SnapshotChild.
Referenced by getSnapshot(), and switchSensorCB().
Friends And Related Function Documentation
◆ intrusive_ptr_add_ref
|
friend |
◆ intrusive_ptr_release
|
friend |
Member Data Documentation
◆ childSensor
SoNodeSensor Gui::LinkInfo::childSensor |
Referenced by detach(), LinkInfo(), and updateChildren().
◆ connChangeIcon
Connection Gui::LinkInfo::connChangeIcon |
Referenced by detach(), and LinkInfo().
◆ iconMap
std::map<qint64, QIcon> Gui::LinkInfo::iconMap |
Referenced by getIcon(), and slotChangeIcon().
◆ links
std::unordered_set<Gui::LinkOwner*> Gui::LinkInfo::links |
Referenced by detach(), remove(), slotChangeIcon(), and updateData().
◆ nodeMap
NodeMap Gui::LinkInfo::nodeMap |
Referenced by getDetail(), getElementPicked(), and updateChildren().
◆ pcChildGroup
Referenced by detach(), getDetail(), getElementPicked(), getSnapshot(), and updateChildren().
◆ pcLinked
ViewProviderDocumentObject* Gui::LinkInfo::pcLinked |
Referenced by detach(), getDetail(), getDocName(), getElementPicked(), getIcon(), getLinkedName(), getSnapshot(), isLinked(), LinkInfo(), release(), setVisible(), update(), updateChildren(), and updateSwitch().
◆ pcLinkedSwitch
CoinPtr<SoSwitch> Gui::LinkInfo::pcLinkedSwitch |
Referenced by detach(), getSnapshot(), and updateSwitch().
◆ pcSnapshots
std::array<CoinPtr<SoSeparator>,LinkView::SnapshotMax> Gui::LinkInfo::pcSnapshots |
Referenced by detach(), getDetail(), getSnapshot(), and update().
◆ pcSwitches
std::array<CoinPtr<SoSwitch>,LinkView::SnapshotMax> Gui::LinkInfo::pcSwitches |
Referenced by detach(), getDetail(), getElementPicked(), getSnapshot(), isVisible(), setVisible(), and updateSwitch().
◆ ref
◆ sensor
SoNodeSensor Gui::LinkInfo::sensor |
Referenced by detach(), getSnapshot(), and LinkInfo().
◆ switchSensor
SoNodeSensor Gui::LinkInfo::switchSensor |
Referenced by detach(), getSnapshot(), and LinkInfo().
◆ transformSensor
SoNodeSensor Gui::LinkInfo::transformSensor |
Referenced by detach(), getSnapshot(), and LinkInfo().
The documentation for this class was generated from the following file:
- src/Gui/ViewProviderLink.cpp