X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FModuleBase%2FModuleBase_WidgetMultiSelector.cpp;h=84b0feb65cd220af4a43a2e9f72727c785c10fdd;hb=1b2cab75aa9df76d3fe6f791e2ddb2a065c8cf03;hp=ab89d70ef16736b4b5d330f62b028bdb54a38e8c;hpb=5e2e5c8e92f1d022158ef717c711a8ea79e5dd13;p=modules%2Fshaper.git diff --git a/src/ModuleBase/ModuleBase_WidgetMultiSelector.cpp b/src/ModuleBase/ModuleBase_WidgetMultiSelector.cpp index ab89d70ef..84b0feb65 100644 --- a/src/ModuleBase/ModuleBase_WidgetMultiSelector.cpp +++ b/src/ModuleBase/ModuleBase_WidgetMultiSelector.cpp @@ -79,7 +79,7 @@ bool ModuleBase_WidgetMultiSelector::storeValue() const AttributeSelectionListPtr aSelectionListAttr = boost::dynamic_pointer_cast(aData->attribute(attributeID())); - if (aSelectionListAttr && (mySelection.size() > 0)) { + if (aSelectionListAttr) { aSelectionListAttr->clear(); // Store shapes type TopAbs_ShapeEnum aCurrentType = @@ -131,7 +131,7 @@ QWidget* ModuleBase_WidgetMultiSelector::getControl() const QList ModuleBase_WidgetMultiSelector::getControls() const { QList result; - result << myTypeCombo; + //result << myTypeCombo; result << myListControl; return result; } @@ -165,7 +165,6 @@ void ModuleBase_WidgetMultiSelector::onSelectionChanged() mySelection.append(GeomSelection(aResult, aShape)); } updateSelectionList(); - storeValue(); emit valuesChanged(); } @@ -217,7 +216,7 @@ void ModuleBase_WidgetMultiSelector::setCurrentShapeType(const TopAbs_ShapeEnum { QString aShapeTypeName; for (int idx = 0; idx < myTypeCombo->count(); ++idx) { - aShapeTypeName = myTypeCombo->currentText(); + aShapeTypeName = myTypeCombo->itemText(idx); TopAbs_ShapeEnum aRefType = ModuleBase_WidgetShapeSelector::shapeType(aShapeTypeName); if(aRefType == theShapeType && idx != myTypeCombo->currentIndex()) { myTypeCombo->setCurrentIndex(idx); @@ -232,18 +231,26 @@ void ModuleBase_WidgetMultiSelector::activateSelection(bool toActivate) myIsActive = toActivate; if (myIsActive) { connect(myWorkshop, SIGNAL(selectionChanged()), this, SLOT(onSelectionChanged())); - onSelectionTypeChanged(); + //onSelectionTypeChanged(); } else { disconnect(myWorkshop, SIGNAL(selectionChanged()), this, SLOT(onSelectionChanged())); myWorkshop->deactivateSubShapesSelection(); } } -//******************************************************************** -void ModuleBase_WidgetMultiSelector::onSelectionTypeChanged() +void ModuleBase_WidgetMultiSelector::activateShapeSelection() { QString aNewType = myTypeCombo->currentText(); QIntList aList; aList.append(ModuleBase_WidgetShapeSelector::shapeType(aNewType)); myWorkshop->activateSubShapesSelection(aList); } + +//******************************************************************** +void ModuleBase_WidgetMultiSelector::onSelectionTypeChanged() +{ + QList anEmptyList; + myWorkshop->setSelected(anEmptyList); + activateShapeSelection(); + onSelectionChanged(); +}