void AnalysisObject_Impl::connectChild(AnalysisObject& child, bool setParent) const {
    if (setParent) {
      AnalysisObject copyOfThis = getPublicObject<AnalysisObject>();
      child.setParent(copyOfThis);
    }

    connect(this, &AnalysisObject_Impl::clean, child.getImpl<detail::AnalysisObject_Impl>().get(), &detail::AnalysisObject_Impl::onParentClean);
    bool connected = child.connect(SIGNAL(changed(ChangeType)), this, SLOT(onChildChanged(ChangeType)));
    OS_ASSERT(connected);
  }
  void AnalysisObject_Impl::disconnectChild(AnalysisObject& child,bool clearParent) const {
    if (clearParent) {
      child.clearParent();
    }

    disconnect(this, &AnalysisObject_Impl::clean, child.getImpl<detail::AnalysisObject_Impl>().get(), &detail::AnalysisObject_Impl::onParentClean);
    bool disconnected = child.disconnect(SIGNAL(changed(ChangeType)),
                                    this,
                                    SLOT(onChildChanged(ChangeType)));
    OS_ASSERT(disconnected);
  }
Beispiel #3
0
  void AnalysisObject_Impl::disconnectChild(AnalysisObject& child) const {
    child.clearParent();

    bool disconnected = disconnect(SIGNAL(clean()),
                                   child.getImpl<detail::AnalysisObject_Impl>().get(),
                                   SLOT(onParentClean()));
    BOOST_ASSERT(disconnected);
    disconnected = child.disconnect(SIGNAL(changed(ChangeType)),
                                    this,
                                    SLOT(onChildChanged(ChangeType)));
    BOOST_ASSERT(disconnected);
  }
Beispiel #4
0
 void RulesetObject_Impl::disconnectChild(const RulesetObject& child) const
 {
   disconnect(child.getImpl<detail::RulesetObject_Impl>().get(), SIGNAL(changed()), this, SLOT(onChildChanged()));
 }