]> SALOME platform Git repositories - modules/shaper.git/commitdiff
Salome HOME
Issue #1508 Selection mode "objects"
authornds <nds@opencascade.com>
Thu, 26 May 2016 10:42:47 +0000 (13:42 +0300)
committernds <nds@opencascade.com>
Thu, 26 May 2016 10:42:47 +0000 (13:42 +0300)
src/ModuleBase/ModuleBase_WidgetMultiSelector.cpp
src/ModuleBase/ModuleBase_WidgetMultiSelector.h
src/ModuleBase/ModuleBase_WidgetSelector.cpp
src/ModuleBase/ModuleBase_WidgetSelector.h
src/ModuleBase/ModuleBase_WidgetShapeSelector.cpp
src/ModuleBase/ModuleBase_WidgetShapeSelector.h
src/PartSet/PartSet_WidgetSketchCreator.cpp
src/PartSet/PartSet_WidgetSketchCreator.h

index c52b6c62b48b74fea103ffa239a0dd663723b728..932b3d5af2a227d0e84ec96c4072489f2cc1f390 100755 (executable)
@@ -423,7 +423,7 @@ void ModuleBase_WidgetMultiSelector::updateSelectionName()
 }
 
 //********************************************************************
-QIntList ModuleBase_WidgetMultiSelector::getShapeTypes() const
+QIntList ModuleBase_WidgetMultiSelector::shapeTypes() const
 {
   QIntList aShapeTypes;
 
@@ -431,12 +431,8 @@ QIntList ModuleBase_WidgetMultiSelector::getShapeTypes() const
     aShapeTypes.append(ModuleBase_Tools::shapeType(myTypeCombo->currentText()));
   }
   else {
-    for (int i = 0, aCount = myTypeCombo->count(); i < aCount; i++) {
-      TopAbs_ShapeEnum aType = ModuleBase_Tools::shapeType(myTypeCombo->itemText(i));
-      aShapeTypes.append(aType);
-      if (aType == TopAbs_SOLID)
-        aShapeTypes.append(TopAbs_COMPSOLID);
-    }
+    for (int i = 0, aCount = myTypeCombo->count(); i < aCount; i++)
+      aShapeTypes.append(ModuleBase_Tools::shapeType(myTypeCombo->itemText(i)));
   }
   return aShapeTypes;
 }
index 946007d610178b05dfa0b05404ce6eaf6166013c..69ed362b6052dc8b3c16fcde9084356bb6870eae 100755 (executable)
@@ -121,7 +121,7 @@ protected:
 
   /// Retunrs a list of possible shape types
   /// \return a list of shapes
-  virtual QIntList getShapeTypes() const;
+  virtual QIntList shapeTypes() const;
 
   /// Set current shape type for selection
   void setCurrentShapeType(const TopAbs_ShapeEnum theShapeType);
index ebdd60a5348b62b3150975bfb7400d24b00b899b..2912af30c2f2fd5297482fe2a19ac0e4b69e9531 100755 (executable)
@@ -72,6 +72,17 @@ void ModuleBase_WidgetSelector::updateOnSelectionChanged(const bool theDone)
     updateFocus();
 }
 
+//********************************************************************
+QIntList ModuleBase_WidgetSelector::getShapeTypes() const
+{
+  QIntList aShapeTypes = shapeTypes();
+  if (aShapeTypes.contains(TopAbs_SOLID) || aShapeTypes.contains(TopAbs_SHAPE)) {
+    // it should be selectable for both, "solids" and "objects" types
+    aShapeTypes.append(TopAbs_COMPSOLID);
+  }
+  return aShapeTypes;
+}
+
 //********************************************************************
 QList<ModuleBase_ViewerPrsPtr> ModuleBase_WidgetSelector::getAttributeSelection() const
 {
index f39b74717bd0cfab2c0398dd9943fb891122ab52..9db264010e91e3813143ea69043288440aae20ca 100755 (executable)
@@ -80,7 +80,11 @@ protected:
 
   /// Retunrs a list of possible shape types
   /// \return a list of shapes
-  virtual QIntList getShapeTypes() const = 0;
+  QIntList getShapeTypes() const;
+
+  /// Retunrs a list of possible shape types
+  /// \return a list of shapes
+  virtual QIntList shapeTypes() const = 0;
 
   /// Computes and updates name of selected object in the widget
   // NDS: has body is temporary
index 013b89d3c9b74063bb472513cafe5fa04b9f0aa3..119329071e8cf0fecad02d833ecc48bb845d86dc 100644 (file)
@@ -173,7 +173,7 @@ void ModuleBase_WidgetShapeSelector::updateFocus()
 }
 
 //********************************************************************
-QIntList ModuleBase_WidgetShapeSelector::getShapeTypes() const
+QIntList ModuleBase_WidgetShapeSelector::shapeTypes() const
 {
   QIntList aShapeTypes;
   foreach(QString aType, myShapeTypes) {
index 193819d8d41bcb777e4df4038e90cc95dff6606e..6ac087fbb9530e0e66900111674517323609cb7a 100644 (file)
@@ -96,7 +96,7 @@ Q_OBJECT
 
   /// Retunrs a list of possible shape types
   /// \return a list of shapes
-  virtual QIntList getShapeTypes() const;
+  virtual QIntList shapeTypes() const;
 
   /// Get the shape from the attribute if the attribute contains a shape, e.g. selection attribute
   /// \return a shape
index 2f5d4bf7b66dd703027ab81fd1fc386ea87a1655..8daeb546d92511fab4e0af759018d5ddc860cb1a 100644 (file)
@@ -208,7 +208,7 @@ void PartSet_WidgetSketchCreator::setVisibleSelectionControl(const bool theSelec
   }
 }
 
-QIntList PartSet_WidgetSketchCreator::getShapeTypes() const
+QIntList PartSet_WidgetSketchCreator::shapeTypes() const
 {
   QIntList aShapeTypes;
   foreach(QString aType, myShapeTypes) {
index 57ba50ecaf5507ac377d891ce416b1c353bf854c..5290cef0a66139cf1be68c05591bffc2493e0ebd 100644 (file)
@@ -100,7 +100,7 @@ protected:
 
   /// Retunrs a list of possible shape types
   /// \return a list of shapes
-  virtual QIntList getShapeTypes() const;
+  virtual QIntList shapeTypes() const;
 
   /// Emits model changed info, updates the current control by selection change
   /// \param theDone a state whether the selection is set