diff --git a/Core/PluginCommunication.cc b/Core/PluginCommunication.cc index b3cbad73dae2c5cf334946393244b419c75f68f4..196204275aced2abfd7f43dd7b0fb5fbdd4bd10f 100644 --- a/Core/PluginCommunication.cc +++ b/Core/PluginCommunication.cc @@ -277,6 +277,27 @@ void Core::backupRequest( int _id , QString _name ) { /// This slot is called by the object manager when a new object is created void Core::newObject(int _objectId) { +// std::cerr << "newObject" << std::endl; + + BaseObjectData* baseObjectData = 0; + PluginFunctions::getObject(_objectId,baseObjectData); + + // Try to get the BaseObjectData because only then we have visibility info + if ( baseObjectData ) { +// std::cerr << "Connecting BaseObjectData" << std::endl; +// connect( baseObjectData, SIGNAL(visibilityChanged(int)),this,SLOT(test(int)) ); +// + } + + BaseObject* baseObject = 0; + PluginFunctions::getObject(_objectId,baseObject); + + if ( baseObject ) { +// std::cerr << "Base Object specific connects" << std::endl; +// connect( baseObject, SIGNAL(objectSelectionChanged(int)),this,SLOT(slotObjectSelectionChanged(int)) ); + } + +// std::cerr << "Core Objectmanager" << std::endl; } diff --git a/common/BaseObject.cc b/common/BaseObject.cc index 424c4e22bc3d323315ff753309be31fe74caec09..f1ac0748b42f52b30193d61a3a28819a56307fe3 100644 --- a/common/BaseObject.cc +++ b/common/BaseObject.cc @@ -94,6 +94,7 @@ BaseObject::BaseObject(const BaseObject& _object) : PluginFunctions::objectRoot()->appendChild(this); } + objectManager_.objectCreated(id()); } BaseObject::BaseObject(BaseObject* _parent) : @@ -115,6 +116,7 @@ BaseObject::BaseObject(BaseObject* _parent) : PluginFunctions::objectRoot()->appendChild(this); } + objectManager_.objectCreated(id()); } BaseObject::~BaseObject() { diff --git a/common/BaseObjectData.cc b/common/BaseObjectData.cc index 36bba4dfcf8e6b12f5ff579306ee9e32cc6fc681..a9ed97581dab66ff2e46f56ca17c899a15db3c8c 100644 --- a/common/BaseObjectData.cc +++ b/common/BaseObjectData.cc @@ -73,6 +73,8 @@ BaseObjectData::BaseObjectData(const BaseObjectData& _object) { // We have to create our own visualization nodes as we are a new object init(); + + getObjectManager()->objectCreated(id()); } BaseObjectData::BaseObjectData( SeparatorNode* _rootNode ) : @@ -87,6 +89,8 @@ BaseObjectData::BaseObjectData( SeparatorNode* _rootNode ) : stencilRefNode_(0) { init(); + + getObjectManager()->objectCreated(id()); } BaseObjectData::~BaseObjectData() {