diff --git a/src/App/Application.cpp b/src/App/Application.cpp index 1b2a3691f..92ffa3fc1 100644 --- a/src/App/Application.cpp +++ b/src/App/Application.cpp @@ -315,7 +315,7 @@ Document* Application::newDocument(const char * Name, const char * UserName) _pActiveDoc->signalNewObject.connect(boost::bind(&App::Application::slotNewObject, this, _1)); _pActiveDoc->signalDeletedObject.connect(boost::bind(&App::Application::slotDeletedObject, this, _1)); _pActiveDoc->signalChangedObject.connect(boost::bind(&App::Application::slotChangedObject, this, _1, _2)); - _pActiveDoc->signalRenamedObject.connect(boost::bind(&App::Application::slotRenamedObject, this, _1)); + _pActiveDoc->signalRelabelObject.connect(boost::bind(&App::Application::slotRelabelObject, this, _1)); _pActiveDoc->signalActivatedObject.connect(boost::bind(&App::Application::slotActivatedObject, this, _1)); _pActiveDoc->signalUndo.connect(boost::bind(&App::Application::slotUndoDocument, this, _1)); _pActiveDoc->signalRedo.connect(boost::bind(&App::Application::slotRedoDocument, this, _1)); @@ -859,9 +859,9 @@ void Application::slotChangedObject(const App::DocumentObject&O, const App::Prop this->signalChangedObject(O,P); } -void Application::slotRenamedObject(const App::DocumentObject&O) +void Application::slotRelabelObject(const App::DocumentObject&O) { - this->signalRenamedObject(O); + this->signalRelabelObject(O); } void Application::slotActivatedObject(const App::DocumentObject&O) diff --git a/src/App/Application.h b/src/App/Application.h index fcea1d7dc..6b21841a8 100644 --- a/src/App/Application.h +++ b/src/App/Application.h @@ -135,8 +135,8 @@ public: boost::signal signalDeletedObject; /// signal on changed Object boost::signal signalChangedObject; - /// signal on renamed Object - boost::signal signalRenamedObject; + /// signal on relabeled Object + boost::signal signalRelabelObject; /// signal on activated Object boost::signal signalActivatedObject; //@} @@ -251,7 +251,7 @@ protected: void slotNewObject(const App::DocumentObject&); void slotDeletedObject(const App::DocumentObject&); void slotChangedObject(const App::DocumentObject&, const App::Property& Prop); - void slotRenamedObject(const App::DocumentObject&); + void slotRelabelObject(const App::DocumentObject&); void slotActivatedObject(const App::DocumentObject&); void slotUndoDocument(const App::Document&); void slotRedoDocument(const App::Document&); diff --git a/src/App/Document.h b/src/App/Document.h index b82a38193..43321acbd 100644 --- a/src/App/Document.h +++ b/src/App/Document.h @@ -106,8 +106,8 @@ public: boost::signal signalDeletedObject; /// signal on changed Object boost::signal signalChangedObject; - /// signal on renamed Object - boost::signal signalRenamedObject; + /// signal on relabeled Object + boost::signal signalRelabelObject; /// signal on activated Object boost::signal signalActivatedObject; /// signal on undo diff --git a/src/App/DocumentObject.cpp b/src/App/DocumentObject.cpp index 0ce416ee9..33398a10b 100644 --- a/src/App/DocumentObject.cpp +++ b/src/App/DocumentObject.cpp @@ -207,7 +207,7 @@ void DocumentObject::onChanged(const Property* prop) _pDoc->onChangedProperty(this,prop); if (prop == &Label && _pDoc) - _pDoc->signalRenamedObject(*this); + _pDoc->signalRelabelObject(*this); if (prop->getType() & Prop_Output) return; @@ -303,7 +303,7 @@ void DocumentObject::connectRelabelSignals() // Not already connected? if (!onRelabledObjectConnection.connected()) - onRelabledObjectConnection = getDocument()->signalRenamedObject.connect(boost::bind(&PropertyExpressionEngine::slotObjectRenamed, &ExpressionEngine, _1)); + onRelabledObjectConnection = getDocument()->signalRelabelObject.connect(boost::bind(&PropertyExpressionEngine::slotObjectRenamed, &ExpressionEngine, _1)); try { // Crude method to resolve all expression dependencies diff --git a/src/Gui/Application.cpp b/src/Gui/Application.cpp index 5cf148503..2379d2e5c 100644 --- a/src/Gui/Application.cpp +++ b/src/Gui/Application.cpp @@ -650,7 +650,7 @@ void Application::slotNewDocument(const App::Document& Doc) pDoc->signalNewObject.connect(boost::bind(&Gui::Application::slotNewObject, this, _1)); pDoc->signalDeletedObject.connect(boost::bind(&Gui::Application::slotDeletedObject, this, _1)); pDoc->signalChangedObject.connect(boost::bind(&Gui::Application::slotChangedObject, this, _1, _2)); - pDoc->signalRenamedObject.connect(boost::bind(&Gui::Application::slotRenamedObject, this, _1)); + pDoc->signalRelabelObject.connect(boost::bind(&Gui::Application::slotRelabelObject, this, _1)); pDoc->signalActivatedObject.connect(boost::bind(&Gui::Application::slotActivatedObject, this, _1)); @@ -725,9 +725,9 @@ void Application::slotChangedObject(const ViewProvider& vp, const App::Property& this->signalChangedObject(vp,prop); } -void Application::slotRenamedObject(const ViewProvider& vp) +void Application::slotRelabelObject(const ViewProvider& vp) { - this->signalRenamedObject(vp); + this->signalRelabelObject(vp); } void Application::slotActivatedObject(const ViewProvider& vp) diff --git a/src/Gui/Application.h b/src/Gui/Application.h index 8b6d41a27..29748a4dc 100644 --- a/src/Gui/Application.h +++ b/src/Gui/Application.h @@ -104,7 +104,7 @@ public: /// signal on changed object property boost::signal signalChangedObject; /// signal on renamed Object - boost::signal signalRenamedObject; + boost::signal signalRelabelObject; /// signal on activated Object boost::signal signalActivatedObject; /// signal on activated workbench @@ -129,7 +129,7 @@ protected: void slotNewObject(const ViewProvider&); void slotDeletedObject(const ViewProvider&); void slotChangedObject(const ViewProvider&, const App::Property& Prop); - void slotRenamedObject(const ViewProvider&); + void slotRelabelObject(const ViewProvider&); void slotActivatedObject(const ViewProvider&); public: diff --git a/src/Gui/Document.cpp b/src/Gui/Document.cpp index 57f829ec7..8aee1b6da 100644 --- a/src/Gui/Document.cpp +++ b/src/Gui/Document.cpp @@ -127,8 +127,8 @@ Document::Document(App::Document* pcDocument,Application * app) (boost::bind(&Gui::Document::slotDeletedObject, this, _1)); d->connectCngObject = pcDocument->signalChangedObject.connect (boost::bind(&Gui::Document::slotChangedObject, this, _1, _2)); - d->connectRenObject = pcDocument->signalRenamedObject.connect - (boost::bind(&Gui::Document::slotRenamedObject, this, _1)); + d->connectRenObject = pcDocument->signalRelabelObject.connect + (boost::bind(&Gui::Document::slotRelabelObject, this, _1)); d->connectActObject = pcDocument->signalActivatedObject.connect (boost::bind(&Gui::Document::slotActivatedObject, this, _1)); d->connectSaveDocument = pcDocument->signalSaveDocument.connect @@ -529,11 +529,11 @@ void Document::slotChangedObject(const App::DocumentObject& Obj, const App::Prop setModified(true); } -void Document::slotRenamedObject(const App::DocumentObject& Obj) +void Document::slotRelabelObject(const App::DocumentObject& Obj) { ViewProvider* viewProvider = getViewProvider(&Obj); if (viewProvider && viewProvider->isDerivedFrom(ViewProviderDocumentObject::getClassTypeId())) { - signalRenamedObject(*(static_cast(viewProvider))); + signalRelabelObject(*(static_cast(viewProvider))); } } diff --git a/src/Gui/Document.h b/src/Gui/Document.h index e3e8f6c6b..b79cba96b 100644 --- a/src/Gui/Document.h +++ b/src/Gui/Document.h @@ -73,7 +73,7 @@ protected: void slotNewObject(const App::DocumentObject&); void slotDeletedObject(const App::DocumentObject&); void slotChangedObject(const App::DocumentObject&, const App::Property&); - void slotRenamedObject(const App::DocumentObject&); + void slotRelabelObject(const App::DocumentObject&); void slotActivatedObject(const App::DocumentObject&); void slotStartRestoreDocument(const App::Document&); void slotFinishRestoreDocument(const App::Document&); @@ -93,7 +93,7 @@ public: mutable boost::signal signalChangedObject; /// signal on renamed Object - mutable boost::signal signalRenamedObject; + mutable boost::signal signalRelabelObject; /// signal on activated Object mutable boost::signal signalActivatedObject; /// signal on entering in edit mode diff --git a/src/Gui/DocumentModel.cpp b/src/Gui/DocumentModel.cpp index 856200b99..9cad5f72a 100644 --- a/src/Gui/DocumentModel.cpp +++ b/src/Gui/DocumentModel.cpp @@ -377,7 +377,7 @@ void DocumentModel::slotNewDocument(const Gui::Document& Doc) Doc.signalNewObject.connect(boost::bind(&DocumentModel::slotNewObject, this, _1)); Doc.signalDeletedObject.connect(boost::bind(&DocumentModel::slotDeleteObject, this, _1)); Doc.signalChangedObject.connect(boost::bind(&DocumentModel::slotChangeObject, this, _1, _2)); - Doc.signalRenamedObject.connect(boost::bind(&DocumentModel::slotRenameObject, this, _1)); + Doc.signalRelabelObject.connect(boost::bind(&DocumentModel::slotRenameObject, this, _1)); Doc.signalActivatedObject.connect(boost::bind(&DocumentModel::slotActiveObject, this, _1)); Doc.signalInEdit.connect(boost::bind(&DocumentModel::slotInEdit, this, _1)); Doc.signalResetEdit.connect(boost::bind(&DocumentModel::slotResetEdit, this, _1)); diff --git a/src/Gui/Selection.cpp b/src/Gui/Selection.cpp index 1ab7c20c6..77c94bf2d 100644 --- a/src/Gui/Selection.cpp +++ b/src/Gui/Selection.cpp @@ -923,17 +923,6 @@ void SelectionSingleton::slotDeletedObject(const App::DocumentObject& Obj) Selection().rmvSelection( Obj.getDocument()->getName(), Obj.getNameInDocument() ); } -void SelectionSingleton::slotRenamedObject(const App::DocumentObject& Obj) -{ - // compare internals with the document and change them if needed - App::Document* pDoc = Obj.getDocument(); - for (std::list<_SelObj>::iterator it = _SelList.begin(); it != _SelList.end(); ++it) { - if (it->pDoc == pDoc) { - it->DocName = pDoc->getName(); - } - } -} - //************************************************************************** // Construction/Destruction @@ -946,7 +935,6 @@ SelectionSingleton::SelectionSingleton() { ActiveGate = 0; App::GetApplication().signalDeletedObject.connect(boost::bind(&Gui::SelectionSingleton::slotDeletedObject, this, _1)); - App::GetApplication().signalRenamedObject.connect(boost::bind(&Gui::SelectionSingleton::slotRenamedObject, this, _1)); CurrentPreselection.pDocName = 0; CurrentPreselection.pObjectName = 0; CurrentPreselection.pSubName = 0; diff --git a/src/Gui/Selection.h b/src/Gui/Selection.h index 964c4a8c5..bbcb99aad 100644 --- a/src/Gui/Selection.h +++ b/src/Gui/Selection.h @@ -325,7 +325,6 @@ protected: virtual ~SelectionSingleton(); /// Observer message from the App doc - void slotRenamedObject(const App::DocumentObject&); void slotDeletedObject(const App::DocumentObject&); /// helper to retrieve document by name diff --git a/src/Gui/Tree.cpp b/src/Gui/Tree.cpp index 4656f4b84..d1495c9ad 100644 --- a/src/Gui/Tree.cpp +++ b/src/Gui/Tree.cpp @@ -838,7 +838,7 @@ DocumentItem::DocumentItem(const Gui::Document* doc, QTreeWidgetItem * parent) connectNewObject = doc->signalNewObject.connect(boost::bind(&DocumentItem::slotNewObject, this, _1)); connectDelObject = doc->signalDeletedObject.connect(boost::bind(&DocumentItem::slotDeleteObject, this, _1)); connectChgObject = doc->signalChangedObject.connect(boost::bind(&DocumentItem::slotChangeObject, this, _1)); - connectRenObject = doc->signalRenamedObject.connect(boost::bind(&DocumentItem::slotRenameObject, this, _1)); + connectRenObject = doc->signalRelabelObject.connect(boost::bind(&DocumentItem::slotRenameObject, this, _1)); connectActObject = doc->signalActivatedObject.connect(boost::bind(&DocumentItem::slotActiveObject, this, _1)); connectEdtObject = doc->signalInEdit.connect(boost::bind(&DocumentItem::slotInEdit, this, _1)); connectResObject = doc->signalResetEdit.connect(boost::bind(&DocumentItem::slotResetEdit, this, _1)); @@ -995,18 +995,7 @@ void DocumentItem::slotChangeObject(const Gui::ViewProviderDocumentObject& view) void DocumentItem::slotRenameObject(const Gui::ViewProviderDocumentObject& obj) { - for (std::map::iterator it = ObjectMap.begin(); it != ObjectMap.end(); ++it) { - if (it->second->object() == &obj) { - DocumentObjectItem* item = it->second; - ObjectMap.erase(it); - std::string objectName = obj.getObject()->getNameInDocument(); - ObjectMap[objectName] = item; - return; - } - } - - // no such object found - Base::Console().Warning("DocumentItem::slotRenamedObject: Cannot rename unknown object.\n"); + // Do nothing here because the Label is set in slotChangeObject } void DocumentItem::slotActiveObject(const Gui::ViewProviderDocumentObject& obj)