From 008184e7d2593cbfd407f53194a21c2abb023bf3 Mon Sep 17 00:00:00 2001 From: vsv Date: Thu, 22 May 2014 09:44:15 +0400 Subject: [PATCH] Delete feature command in pop-up --- src/XGUI/XGUI_ContextMenuMgr.cpp | 4 ++++ src/XGUI/XGUI_Workshop.cpp | 30 +++++++++++++++++++++++++++--- src/XGUI/XGUI_Workshop.h | 14 ++++++-------- src/XGUI/XGUI_pictures.qrc | 1 + src/XGUI/pictures/delete.png | Bin 0 -> 29565 bytes 5 files changed, 38 insertions(+), 11 deletions(-) create mode 100644 src/XGUI/pictures/delete.png diff --git a/src/XGUI/XGUI_ContextMenuMgr.cpp b/src/XGUI/XGUI_ContextMenuMgr.cpp index 60d6e9f83..461b2dab5 100644 --- a/src/XGUI/XGUI_ContextMenuMgr.cpp +++ b/src/XGUI/XGUI_ContextMenuMgr.cpp @@ -31,6 +31,9 @@ void XGUI_ContextMenuMgr::createActions() aAction = new QAction(QIcon(":pictures/assembly.png"), tr("Deactivate"), this); addAction("DEACTIVATE_PART_CMD", aAction); + + aAction = new QAction(QIcon(":pictures/delete.png"), tr("Delete"), this); + addAction("DELETE_CMD", aAction); } void XGUI_ContextMenuMgr::addAction(const QString& theId, QAction* theAction) @@ -95,6 +98,7 @@ QMenu* XGUI_ContextMenuMgr::objectBrowserMenu() const } else { aActions.append(action("EDIT_CMD")); } + aActions.append(action("DELETE_CMD")); // Process Root object (document) } else { // If feature is 0 the it means that selected root object (document) diff --git a/src/XGUI/XGUI_Workshop.cpp b/src/XGUI/XGUI_Workshop.cpp index 9cef8d9b6..8504e1531 100644 --- a/src/XGUI/XGUI_Workshop.cpp +++ b/src/XGUI/XGUI_Workshop.cpp @@ -119,6 +119,7 @@ void XGUI_Workshop::startApplication() Events_ID aFeatureUpdatedId = aLoop->eventByName(EVENT_FEATURE_UPDATED); aLoop->registerListener(this, aFeatureUpdatedId); aLoop->registerListener(this, Events_Loop::eventByName(EVENT_FEATURE_CREATED)); + aLoop->registerListener(this, Events_Loop::eventByName(EVENT_FEATURE_DELETED)); activateModule(); if (myMainWindow) { @@ -211,12 +212,19 @@ void XGUI_Workshop::processEvent(const Events_Message* theMessage) const Model_FeatureUpdatedMessage* aUpdMsg = dynamic_cast(theMessage); FeaturePtr aFeature = aUpdMsg->feature(); if (aFeature->getKind() == "Part") { - //The created part will be created in Object Browser later and we have to activate that - // only when it created everywere + //The created part will be created in Object Browser later and we have to activate it + // only when it is created everywere QTimer::singleShot(50, this, SLOT(activateLastPart())); } } + // Process deletion of a part + if (theMessage->eventID() == Events_Loop::loop()->eventByName(EVENT_FEATURE_DELETED)) { + PluginManagerPtr aMgr = ModelAPI_PluginManager::get(); + if (aMgr->currentDocument() == aMgr->rootDocument()) + activatePart(FeaturePtr()); // Activate PartSet + } + //Update property panel on corresponding message. If there is no current operation (no //property panel), or received message has different feature to the current - do nothing. static Events_ID aFeatureUpdatedId = Events_Loop::loop()->eventByName(EVENT_FEATURE_UPDATED); @@ -727,7 +735,8 @@ void XGUI_Workshop::onContextMenuCommand(const QString& theId, bool isChecked) activatePart(aFeatures.first()); else if (theId == "DEACTIVATE_PART_CMD") activatePart(FeaturePtr()); - + else if (theId == "DELETE_CMD") + deleteFeatures(aFeatures); } //************************************************************** @@ -745,3 +754,18 @@ void XGUI_Workshop::activateLastPart() FeaturePtr aLastPart = aDoc->feature(PARTS_GROUP, aDoc->size(PARTS_GROUP) - 1, true); activatePart(aLastPart); } + +//************************************************************** +void XGUI_Workshop::deleteFeatures(QFeatureList theList) +{ + QMainWindow* aDesktop = isSalomeMode()? salomeConnector()->desktop() : myMainWindow; + QMessageBox::StandardButton aRes = QMessageBox::warning(aDesktop, tr("Delete features"), + tr("Seleted features will be deleted. Continue?"), + QMessageBox::No | QMessageBox::Yes, QMessageBox::No); + if (aRes == QMessageBox::Yes) { + foreach (FeaturePtr aFeature, theList) { + DocumentPtr aDoc = aFeature->data()->docRef("PartDocument")->value(); + aDoc->removeFeature(aFeature); + } + } +} \ No newline at end of file diff --git a/src/XGUI/XGUI_Workshop.h b/src/XGUI/XGUI_Workshop.h index 04920e9ea..21ee4a87b 100644 --- a/src/XGUI/XGUI_Workshop.h +++ b/src/XGUI/XGUI_Workshop.h @@ -98,9 +98,15 @@ public: //! Returns icon name according to feature Id static QString featureIcon(const std::string& theId); + //! Activates or deactivates a part + //! If PartPtr is Null pointer then PartSet will be activated + void activatePart(FeaturePtr theFeature); + + void deleteFeatures(QFeatureList theList); signals: void salomeViewerSelection(); + void errorOccurred(const QString&); public slots: void updateCommandStatus(); @@ -121,14 +127,6 @@ public slots: void onFeatureTriggered(); void changeCurrentDocument(FeaturePtr thePart); -signals: - void errorOccurred(const QString&); - -public slots: - //! Activates or deactivates a part - //! If PartPtr is Null pointer then PartSet will be activated - void activatePart(FeaturePtr theFeature); - void activateLastPart(); protected: diff --git a/src/XGUI/XGUI_pictures.qrc b/src/XGUI/XGUI_pictures.qrc index 30d9ba286..ab0bcf2af 100644 --- a/src/XGUI/XGUI_pictures.qrc +++ b/src/XGUI/XGUI_pictures.qrc @@ -54,5 +54,6 @@ pictures/edit.png pictures/assembly.png pictures/activate.png + pictures/delete.png diff --git a/src/XGUI/pictures/delete.png b/src/XGUI/pictures/delete.png new file mode 100644 index 0000000000000000000000000000000000000000..6c6452718ed23f8db5812a67c516004bf61a8e61 GIT binary patch literal 29565 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