]> SALOME platform Git repositories - modules/shaper.git/commitdiff
Salome HOME
Issue #355 Delete: elements of sketch and constraints
authornds <natalia.donis@opencascade.com>
Mon, 19 Jan 2015 11:51:31 +0000 (14:51 +0300)
committersbh <sergey.belash@opencascade.com>
Fri, 30 Jan 2015 08:26:55 +0000 (11:26 +0300)
Delete action on multi-selection.

src/PartSet/PartSet_Module.cpp
src/PartSet/PartSet_Module.h

index b3f9f28f77709dd5accdea298fd2c88093a6e902..6755bc6e5d7c0e5a6b0a1f99a0e85f65e5f800e4 100644 (file)
@@ -213,7 +213,7 @@ bool PartSet_Module::canDisplayObject(const ObjectPtr& theObject) const
 
 void PartSet_Module::addViewerItems(QMenu* theMenu) const
 {
-  if (isSketchOperationActive()) {
+  if (isSketchOperationActive() || isSketchFeatureOperationActive()) {
     ModuleBase_ISelection* aSelection = myWorkshop->selection();
     QObjectPtrList aObjects = aSelection->selectedPresentations();
     if (aObjects.size() > 0) {
@@ -331,7 +331,7 @@ void PartSet_Module::onEnterReleased()
 void PartSet_Module::onOperationActivatedByPreselection()
 {
   ModuleBase_Operation* aOperation = myWorkshop->currentOperation();
-  if(aOperation && isSketchOperationActive()) {
+  if(aOperation && isSketchFeatureOperationActive()) {
     // Set final definitions if they are necessary
     //propertyPanelDefined(aOperation);
 
@@ -342,7 +342,7 @@ void PartSet_Module::onOperationActivatedByPreselection()
 
 void PartSet_Module::onNoMoreWidgets()
 {
-  if (isSketchOperationActive()) {
+  if (isSketchFeatureOperationActive()) {
     ModuleBase_Operation* aOperation = myWorkshop->currentOperation();
     if (aOperation) {
       if (myRestartingMode != RM_Forbided)
@@ -418,6 +418,14 @@ QWidget* PartSet_Module::createWidgetByType(const std::string& theType, QWidget*
 }
 
 bool PartSet_Module::isSketchOperationActive() const
+{
+  ModuleBase_Operation* aOperation = myWorkshop->currentOperation();
+
+  bool isSketchOp = aOperation && aOperation->id().toStdString() == SketchPlugin_Sketch::ID();
+  return isSketchOp;
+}
+
+bool PartSet_Module::isSketchFeatureOperationActive() const
 {
   bool isCurrentSketchOp = false;
   ModuleBase_Operation* aOperation = myWorkshop->currentOperation();
@@ -464,7 +472,7 @@ void PartSet_Module::onAction(bool isChecked)
 
 void PartSet_Module::deleteObjects()
 {
-  if (!isSketchOperationActive())
+  if (isSketchOperationActive() || isSketchFeatureOperationActive())
     return;
 
   XGUI_ModuleConnector* aConnector = dynamic_cast<XGUI_ModuleConnector*>(workshop());
index f58c4738bf6c0efa5fb0d7aef17c5888162aaff8..5bd2296297b61616e3f711c588359fa6e0d7bceb 100644 (file)
@@ -131,10 +131,14 @@ protected slots:
   /// Breaks sequense of automatically resterted operations
   void breakOperationSequence();
 
-  /// Check whether there is active opeation and it is the sketch one
+  /// Check whether the sketch operation is active
   /// \return boolean result
   bool isSketchOperationActive() const;
 
+  /// Check whether the sketch feature operation is active
+  /// \return boolean result
+  bool isSketchFeatureOperationActive() const;
+
   /// Create all actions for context menus. It is called on creation of module
   /// Put the created actions into an internal map
   void createActions();