bool aResult = (myResult.get() == thePrs.object().get());
bool aOwner = (myOwner.Access() == thePrs.owner().Access());
bool aShape = myShape.IsEqual(thePrs.shape());
- bool aIO = myInteractive == thePrs.interactive();
+ bool aIO = (myInteractive == thePrs.interactive());
return aResult && aOwner && aShape && aIO;
}
: ModuleBase_ModelWidget(theParent, theData)
{
QString aKinds = QString::fromStdString(theData->getProperty(FEATURE_KEYSEQUENCE));
- myFeatureKinds = aKinds.split(" ");
+ myObjectKinds = aKinds.split(" ");
myContainer = new QWidget(theParent);
QHBoxLayout* aControlLay = new QHBoxLayout(myContainer);
if (theValue) {
ModuleBase_WidgetValueFeature* aFeatureValue =
dynamic_cast<ModuleBase_WidgetValueFeature*>(theValue);
- // TODO
-// if (aFeatureValue)
-// isDone = setFeature(aFeatureValue->feature());
+ if (aFeatureValue)
+ isDone = setObject(aFeatureValue->object());
}
return isDone;
}
-bool ModuleBase_WidgetFeature::setFeature(const FeaturePtr& theFeature)
+bool ModuleBase_WidgetFeature::setObject(const ObjectPtr& theObject)
{
- if (!myFeatureKinds.contains(theFeature->getKind().c_str()))
- return false;
+ // TODO
+ //if (!myObjectKinds.contains(theObject->getKind().c_str()))
+ // return false;
- myFeature = theFeature;
- myEditor->setText(theFeature ? theFeature->data()->name().c_str() : "");
+ myObject = theObject;
+ myEditor->setText(theObject ? theObject->data()->name().c_str() : "");
emit valuesChanged();
return true;
}
boost::dynamic_pointer_cast<ModelAPI_AttributeRefAttr>(aData->attribute(attributeID()));
ModuleBase_WidgetFeature* that = (ModuleBase_WidgetFeature*) this;
- aRef->setObject(myFeature);
+ aRef->setObject(myObject);
aFeature->execute();
Events_Loop::loop()->flush(Events_Loop::eventByName(EVENT_OBJECT_UPDATED));
FeaturePtr aFeature = boost::dynamic_pointer_cast<ModelAPI_Feature>(aRef->object());
if (aFeature) {
- myFeature = aFeature;
- myEditor->setText(myFeature ? myFeature->data()->name().c_str() : "");
+ myObject = aFeature;
+ myEditor->setText(myObject ? myObject->data()->name().c_str() : "");
return true;
}
return false;
/// Fill the widget values by given point
/// \param thePoint the point
/// \return the boolean result of the feature set
- bool setFeature(const FeaturePtr& theObject);
+ bool setObject(const ObjectPtr& theObject);
/// Returns current widget feature
/// \return the feature
- const FeaturePtr feature() const { return myFeature; }
+ const ObjectPtr object() const { return myObject; }
/// Returns the widget editor
/// \return the editor
/// Returns the possible feature kinds
/// \return the list of kinds
- const QStringList& featureKinds() const { return myFeatureKinds; }
+ const QStringList& featureKinds() const { return myObjectKinds; }
private:
- FeaturePtr myFeature; ///< the current widget feature
- QStringList myFeatureKinds; ///< the kinds of possible features
+ ObjectPtr myObject; ///< the current widget feature
+ QStringList myObjectKinds; ///< the kinds of possible features
QWidget* myContainer; /// the parent top control
QLabel* myLabel; /// the editor information label
dynamic_cast<ModuleBase_WidgetValueFeature*>(theValue);
if (aFeatureValue) {
boost::shared_ptr<GeomAPI_Pnt2d> aValuePoint = aFeatureValue->point();
- //TODO
-/* FeaturePtr aValueFeature = aFeatureValue->feature();
+ ObjectPtr aValueFeature = aFeatureValue->object();
if (aValueFeature) {
- isDone = setFeature(aValueFeature);
+ isDone = setObject(aValueFeature);
}
if (!isDone && aValuePoint) {
// find the given point in the feature attributes
}
if (aFPoint)
isDone = setAttribute(aFPoint);
- }*/
+ }
}
}
return isDone;
boost::dynamic_pointer_cast<ModelAPI_AttributeRefAttr>(aData->attribute(attributeID()));
ModuleBase_WidgetFeatureOrAttribute* that = (ModuleBase_WidgetFeatureOrAttribute*) this;
- if (feature())
- aRef->setObject(feature());
+ if (object())
+ aRef->setObject(object());
else if (myAttribute)
aRef->setAttr(myAttribute);
FeaturePtr aFeature = boost::dynamic_pointer_cast<ModelAPI_Feature>(aRef->object());
if (aFeature) {
- setFeature(aFeature);
+ setObject(aFeature);
myAttribute = aRef->attr();
std::string aText = "";
dynamic_cast<ModuleBase_WidgetValueFeature*>(theValue);
if (aFeatureValue) {
boost::shared_ptr<GeomAPI_Pnt2d> aPnt = aFeatureValue->point();
- // TODO
- /*FeaturePtr aFeature = aFeatureValue->feature();
+ ObjectPtr aObject = aFeatureValue->object();
+ FeaturePtr aFeature = boost::dynamic_pointer_cast<ModelAPI_Feature>(aObject);
if (aFeature && aPnt) {
setPoint(aFeature, aPnt);
isDone = true;
- }*/
+ }
}
}
return isDone;
Handle(AIS_Shape) aAISShape = Handle(AIS_Shape)::DownCast(aAIS);
aSketchOp->setSketchPlane(aAISShape->Shape());
}
- }
+ } else
+ aSketchOp->mouseReleased(theEvent, myWorkshop->viewer()->activeView(), aSelected, aHighlighted);
} else
aPreviewOp->mouseReleased(theEvent, myWorkshop->viewer()->activeView(), aSelected, aHighlighted);
}
aViewer->enableMultiselection(theEnabled);
}
-void PartSet_Module::onStopSelection(const QFeatureList& theFeatures, const bool isStop)
+void PartSet_Module::onStopSelection(const QList<ObjectPtr>& theFeatures, const bool isStop)
{
XGUI_Displayer* aDisplayer = myWorkshop->displayer();
if (!isStop) {
- QFeatureList::const_iterator anIt = theFeatures.begin(), aLast = theFeatures.end();
- for (; anIt != aLast; anIt++) {
- activateFeature((*anIt), false);
+ foreach(ObjectPtr aObject, theFeatures) {
+ activateFeature(aObject, false);
}
}
- QResultList aResults;
- foreach(FeaturePtr aFeature, theFeatures) {
- if (aFeature->results().size() > 0) {
+ //ObjectPtr aResults;
+ //foreach(ObjectPtr aFeature, theFeatures) {
+/* TODO if (aFeature->results().size() > 0) {
const std::list<ResultPtr>& aResList = aFeature->results();
std::list<ResultPtr>::const_iterator aIt;
for (aIt = aResList.cbegin(); aIt != aResList.cend(); ++aIt)
aResults.append(*aIt);
}
- }
- aDisplayer->stopSelection(aResults, isStop, false);
+ }*/
+ aDisplayer->stopSelection(theFeatures, isStop, false);
XGUI_ViewerProxy* aViewer = myWorkshop->viewer();
aViewer->enableSelection(!isStop);
aDisplayer->updateViewer();
}
-void PartSet_Module::onSetSelection(const QResultList& theFeatures)
+void PartSet_Module::onSetSelection(const QList<ObjectPtr>& theFeatures)
{
XGUI_Displayer* aDisplayer = myWorkshop->displayer();
aDisplayer->setSelected(theFeatures, false);
connect(aPreviewOp, SIGNAL(multiSelectionEnabled(bool)),
this, SLOT(onMultiSelectionEnabled(bool)));
- connect(aPreviewOp, SIGNAL(stopSelection(const QFeatureList&, const bool)),
- this, SLOT(onStopSelection(const QFeatureList&, const bool)));
- connect(aPreviewOp, SIGNAL(setSelection(const QFeatureList&)),
- this, SLOT(onSetSelection(const QFeatureList&)));
+ connect(aPreviewOp, SIGNAL(stopSelection(const QList<ObjectPtr>&, const bool)),
+ this, SLOT(onStopSelection(const QList<ObjectPtr>&, const bool)));
+ connect(aPreviewOp, SIGNAL(setSelection(const QList<ObjectPtr>&)),
+ this, SLOT(onSetSelection(const QList<ObjectPtr>&)));
connect(aPreviewOp, SIGNAL(closeLocalContext()),
this, SLOT(onCloseLocalContext()));
boost::shared_ptr<SketchPlugin_Feature> aSPFeature =
boost::dynamic_pointer_cast<SketchPlugin_Feature>(theFeature);
if (aSPFeature) {
- showPlanes();
- //boost::shared_ptr<GeomAPI_AISObject> anAIS =
- // aSPFeature->getAISObject(aDisplayer->getAISObject(aResult));
- //aDisplayer->redisplay(aResult, anAIS, false);
+ PartSet_OperationSketch* aSketchOp = dynamic_cast<PartSet_OperationSketch*>(aPreviewOp);
+ if (aSketchOp && !aSketchOp->hasSketchPlane())
+ showPlanes();
}
}
else
aDisplayer->updateViewer();
}
-void PartSet_Module::activateFeature(FeaturePtr theFeature, const bool isUpdateViewer)
+void PartSet_Module::activateFeature(ObjectPtr theFeature, const bool isUpdateViewer)
{
ModuleBase_Operation* anOperation = myWorkshop->operationMgr()->currentOperation();
PartSet_OperationSketchBase* aPreviewOp = dynamic_cast<PartSet_OperationSketchBase*>(anOperation);
-/* TODO if (aPreviewOp) {
- XGUI_Displayer* aDisplayer = myWorkshop->displayer();
- aDisplayer->activateInLocalContext(theFeature->firstResult(), aPreviewOp->getSelectionModes(theFeature),
- isUpdateViewer);
- }*/
+ if (aPreviewOp) {
+ PartSet_OperationSketch* aOp = dynamic_cast<PartSet_OperationSketch*>(aPreviewOp);
+ if (!aOp) {
+ XGUI_Displayer* aDisplayer = myWorkshop->displayer();
+ aDisplayer->activateInLocalContext(theFeature, aPreviewOp->getSelectionModes(theFeature),
+ isUpdateViewer);
+ }
+ }
}
void PartSet_Module::updateCurrentPreview(const std::string& theCmdId)
/// Activates the feature in the displayer
/// \param theFeature the feature instance to be displayed
/// \param isUpdateViewer the flag whether the viewer should be updated
- void activateFeature(FeaturePtr theFeature,
+ void activateFeature(ObjectPtr theFeature,
const bool isUpdateViewer);
/// Updates current operation preview, if it has it.
/// SLOT, to stop or start selection mode for the features
/// \param theFeatures a list of features to be disabled
/// \param theToStop the boolean state whether it it stopped or non stopped
- void onStopSelection(const QFeatureList& theFeatures, const bool isStop);
+ void onStopSelection(const QList<ObjectPtr>& theFeatures, const bool isStop);
/// SLOT, to set selection
/// \param theFeatures a list of features to be selected
- void onSetSelection(const QResultList& theFeatures);
+ void onSetSelection(const QList<ObjectPtr>& theFeatures);
/// SLOT, to close the viewer local context
void onCloseLocalContext();
return theOperation->getDescription()->operationId().toStdString() == PartSet_OperationSketch::Type();
}
-std::list<int> PartSet_OperationFeatureCreate::getSelectionModes(FeaturePtr theFeature) const
+std::list<int> PartSet_OperationFeatureCreate::getSelectionModes(ObjectPtr theFeature) const
{
std::list<int> aModes;
if (theFeature != feature())
if (!theSelected.empty()) {
ModuleBase_ViewerPrs aPrs = theSelected.front();
aFeature = aPrs.object();
- }
- // TODO
- //else
- // aFeature = feature(); // for the widget distance only
+ } else
+ aFeature = feature(); // for the widget distance only
- // TODO
- /*bool isApplyed = setWidgetValue(aFeature, aX, anY);
+ bool isApplyed = setWidgetValue(aFeature, aX, anY);
if (isApplyed) {
flushUpdated();
emit activateNextWidget(myActiveWidget);
- }*/
+ }
}
void PartSet_OperationFeatureCreate::mouseMoved(QMouseEvent* theEvent, Handle(V3d_View) theView)
return aNewFeature;
}
-bool PartSet_OperationFeatureCreate::setWidgetValue(FeaturePtr theFeature, double theX, double theY)
+bool PartSet_OperationFeatureCreate::setWidgetValue(ObjectPtr theFeature, double theX, double theY)
{
ModuleBase_WidgetValueFeature* aValue = new ModuleBase_WidgetValueFeature();
aValue->setObject(theFeature);
/// Returns the operation local selection mode
/// \param theFeature the feature object to get the selection mode
/// \return the selection mode
- virtual std::list<int> getSelectionModes(FeaturePtr theFeature) const;
+ virtual std::list<int> getSelectionModes(ObjectPtr theFeature) const;
/// Initializes the operation with previously created feature. It is used in sequental operations
virtual void initFeature(FeaturePtr theFeature);
/// \param theX the horizontal coordinate
/// \param theY the vertical coordinate
/// \return true if the point is set
- bool setWidgetValue(FeaturePtr theFeature, double theX, double theY);
+ bool setWidgetValue(ObjectPtr theFeature, double theX, double theY);
private:
FeaturePtr myInitFeature; ///< the initial feature
return theOperation->getDescription()->operationId().toStdString() == PartSet_OperationSketch::Type();
}
-std::list<int> PartSet_OperationFeatureEdit::getSelectionModes(FeaturePtr theFeature) const
+std::list<int> PartSet_OperationFeatureEdit::getSelectionModes(ObjectPtr theFeature) const
{
return PartSet_OperationSketchBase::getSelectionModes(theFeature);
}
aFeature = theHighlighted.front().object();
if (!aFeature && !theSelected.empty()) // changed for a constrain
aFeature = theSelected.front().object();
- // TODO
- /*if (!aFeature || aFeature != feature())
- {
+ if (!aFeature || aFeature != feature()) {
commit();
emit featureConstructed(feature(), FM_Deactivation);
bool aHasShift = (theEvent->modifiers() & Qt::ShiftModifier);
if(aHasShift && !theHighlighted.empty()) {
- QResultList aSelected;
- // TODO
+ QList<ObjectPtr> aSelected;
aSelected.push_back(feature());
- aSelected.push_back(theHighlighted.front().result());
+ aSelected.push_back(theHighlighted.front().object());
emit setSelection(aSelected);
}
- // TODO
else if (aFeature) {
restartOperation(PartSet_OperationFeatureEdit::Type(), aFeature);
}
- }*/
+ }
}
void PartSet_OperationFeatureEdit::mouseMoved(QMouseEvent* theEvent, Handle(V3d_View) theView)
return;
myIsBlockedSelection = isBlocked;
- QFeatureList aFeatureList;
+ QList<ObjectPtr> aFeatureList;
aFeatureList.append(feature());
if (isBlocked) {
- emit setSelection(QFeatureList());
+ emit setSelection(QList<ObjectPtr>());
emit stopSelection(aFeatureList, true);
}
else {
/// Returns the operation local selection mode
/// \param theFeature the feature object to get the selection mode
/// \return the selection mode
- virtual std::list<int> getSelectionModes(FeaturePtr theFeature) const;
+ virtual std::list<int> getSelectionModes(ObjectPtr theFeature) const;
/// Initializes the operation with previously created feature. It is used in sequental operations
virtual void initFeature(FeaturePtr theFeature);
return;
myIsBlockedSelection = isBlocked;
- QFeatureList aFeatureList;
+ QList<ObjectPtr> aFeatureList;
std::list<ModuleBase_ViewerPrs>::const_iterator anIt = myFeatures.begin(),
aLast = myFeatures.end();
/*for(; anIt != aLast; anIt++)
aFeatureList.append((*anIt).feature());*/
if (isBlocked) {
- emit setSelection(QFeatureList());
+ emit setSelection(QList<ObjectPtr>());
emit stopSelection(aFeatureList, true);
}
else {
if (theHighlighted.size() == 1) {
ObjectPtr aFeature = theHighlighted.front().object();
if (aFeature) {
- std::string anOperationType = PartSet_OperationFeatureEdit::Type();
- if (theSelected.size() > 1)
- anOperationType = PartSet_OperationFeatureEditMulti::Type();
- // TODO restartOperation(anOperationType, aFeature);
+ std::string anOperationType = (theSelected.size() > 1)?
+ PartSet_OperationFeatureEditMulti::Type() :
+ PartSet_OperationFeatureEdit::Type();
+ restartOperation(anOperationType, aFeature);
}
}
else
/// for these objects
if (theSelected.size() == 1) {
ObjectPtr aFeature = theSelected.front().object();
- // TODO
- //if (aFeature)
- // restartOperation(PartSet_OperationFeatureEdit::Type(), aFeature);
+ if (aFeature)
+ restartOperation(PartSet_OperationFeatureEdit::Type(), aFeature);
}
}
}
return std::list<FeaturePtr>();
}
-std::list<int> PartSet_OperationSketchBase::getSelectionModes(FeaturePtr theFeature) const
+std::list<int> PartSet_OperationSketchBase::getSelectionModes(ObjectPtr theFeature) const
{
std::list<int> aModes;
- if (PartSet_Tools::isConstraintFeature(theFeature->getKind())) {
- aModes.clear();
- aModes.push_back(AIS_DSM_Text);
- aModes.push_back(AIS_DSM_Line);
- }
- else {
- aModes.push_back(AIS_Shape::SelectionMode((TopAbs_ShapeEnum)TopAbs_VERTEX));
- aModes.push_back(AIS_Shape::SelectionMode((TopAbs_ShapeEnum)TopAbs_EDGE));
+ FeaturePtr aFeature = boost::dynamic_pointer_cast<ModelAPI_Feature>(theFeature);
+ if (aFeature) {
+ if (PartSet_Tools::isConstraintFeature(aFeature->getKind())) {
+ aModes.clear();
+ aModes.push_back(AIS_DSM_Text);
+ aModes.push_back(AIS_DSM_Line);
+ return aModes;
+ }
}
+ aModes.push_back(AIS_Shape::SelectionMode((TopAbs_ShapeEnum)TopAbs_VERTEX));
+ aModes.push_back(AIS_Shape::SelectionMode((TopAbs_ShapeEnum)TopAbs_EDGE));
return aModes;
}
FeaturePtr PartSet_OperationSketchBase::createFeature(const bool theFlushMessage)
}
void PartSet_OperationSketchBase::restartOperation(const std::string& theType,
- FeaturePtr theFeature)
+ ObjectPtr theFeature)
{
emit launchOperation(theType, theFeature);
}
/// Returns the operation local selection mode
/// \param theFeature the feature object to get the selection mode
/// \return the selection mode
- virtual std::list<int> getSelectionModes(FeaturePtr theFeature) const;
+ virtual std::list<int> getSelectionModes(ObjectPtr theFeature) const;
/// Initializes the operation with previously created feature. It is used in sequental operations
virtual void initFeature(FeaturePtr theFeature) {}
/// \param theType a type of an operation started
/// theFeature the operation argument
void restartOperation(const std::string& theType,
- FeaturePtr theFeature = FeaturePtr());
+ ObjectPtr theFeature = ObjectPtr());
signals:
/// signal about the request to launch operation
/// theName the operation name
/// theFeature the operation argument
- void launchOperation(std::string theName, FeaturePtr theFeature);
+ void launchOperation(std::string theName, ObjectPtr theFeature);
/// Signal about the feature construing is finished
/// \param theFeature the result feature
/// \param theMode the mode of the feature modification
/// signal to enable/disable selection in the viewer
/// \param theFeatures a list of features to be disabled
/// \param theToStop the boolean state whether it it stopped or non stopped
- void stopSelection(const QFeatureList& theFeatures, const bool theToStop);
+ void stopSelection(const QList<ObjectPtr>& theFeatures, const bool theToStop);
/// signal to set selection in the viewer
/// \param theFeatures a list of features to be disabled
- void setSelection(const QFeatureList& theFeatures);
+ void setSelection(const QList<ObjectPtr>& theFeatures);
/// signal to close the operation local context if it is opened
void closeLocalContext();
//aDisplayer->activateInLocalContext(aFeature, aModes, true);
myTestObject = aFeature->firstResult();
- QResultList aFeatureList;
+ QList<ObjectPtr> aFeatureList;
aFeatureList.append(myTestObject);
aDisplayer->setSelected(aFeatureList, true);
}
}
}
-void XGUI_Displayer::activateInLocalContext(ResultPtr theResult,
+void XGUI_Displayer::activateInLocalContext(ObjectPtr theResult,
const std::list<int>& theModes, const bool isUpdateViewer)
{
Handle(AIS_InteractiveContext) aContext = AISContext();
updateViewer();
}
-void XGUI_Displayer::stopSelection(const QResultList& theResults, const bool isStop,
+void XGUI_Displayer::stopSelection(const QList<ObjectPtr>& theResults, const bool isStop,
const bool isUpdateViewer)
{
Handle(AIS_InteractiveContext) aContext = AISContext();
Handle(AIS_Shape) anAIS;
- QResultList::const_iterator anIt = theResults.begin(), aLast = theResults.end();
- ResultPtr aFeature;
+ QList<ObjectPtr>::const_iterator anIt = theResults.begin(), aLast = theResults.end();
+ ObjectPtr aFeature;
for (; anIt != aLast; anIt++) {
aFeature = *anIt;
if (isVisible(aFeature))
updateViewer();
}
-void XGUI_Displayer::setSelected(const QResultList& theResults, const bool isUpdateViewer)
+void XGUI_Displayer::setSelected(const QList<ObjectPtr>& theResults, const bool isUpdateViewer)
{
Handle(AIS_InteractiveContext) aContext = AISContext();
// we need to unhighligth objects manually in the current local context
aLocalContext->UnhilightLastDetected(myWorkshop->viewer()->activeView());
aContext->ClearSelected();
- foreach(ResultPtr aResult, theResults) {
+ foreach(ObjectPtr aResult, theResults) {
if (myResult2AISObjectMap.find(aResult) == myResult2AISObjectMap.end())
- return;
+ continue;
boost::shared_ptr<GeomAPI_AISObject> anObj = myResult2AISObjectMap[aResult];
- if (anObj)
- {
+ if (anObj) {
Handle(AIS_InteractiveObject) anAIS = anObj->impl<Handle(AIS_InteractiveObject)>();
if (!anAIS.IsNull())
aContext->AddOrRemoveSelected(anAIS, false);
/// \param theShape a shape
/// \param theMode a list of local selection modes
/// \param isUpdateViewer the parameter whether the viewer should be update immediatelly
- void activateInLocalContext(ResultPtr theFeature,
+ void activateInLocalContext(ObjectPtr theFeature,
const std::list<int>& theModes, const bool isUpdateViewer = true);
/// Stop the current selection and color the given features to the selection color
/// \param theFeatures a list of features to be disabled
/// \param theToStop the boolean state whether it it stopped or non stopped
/// \param isUpdateViewer the parameter whether the viewer should be update immediatelly
- void stopSelection(const QResultList& theFeatures, const bool isStop,
+ void stopSelection(const QList<ObjectPtr>& theFeatures, const bool isStop,
const bool isUpdateViewer);
/**
* \param theFeatures a list of features to be selected
* isUpdateViewer the parameter whether the viewer should be update immediatelly
*/
- void setSelected(const QResultList& theFeatures, bool isUpdateViewer = true);
+ void setSelected(const QList<ObjectPtr>& theFeatures, bool isUpdateViewer = true);
/// Erase the feature and a shape.
/// \param theFeature a feature instance
DocumentPtr aDoc = theObject->document();
if (aDoc == aRootDoc) {
// This feature belongs to histrory or top model
- if (theObject->isInHistory()) {
+ FeaturePtr aFeature = boost::dynamic_pointer_cast<ModelAPI_Feature>(theObject);
+ if (aFeature) {
int aId;
- for (aId = 0; aId < aRootDoc->size(ModelAPI_Feature::group()); aId++) {
+ int aNb = aRootDoc->size(ModelAPI_Feature::group());
+ for (aId = 0; aId < aNb; aId++) {
if (theObject == aRootDoc->object(ModelAPI_Feature::group(), aId))
break;
}
+ Q_ASSERT(aId < aNb);
return index(aId + historyOffset(), 0, QModelIndex());
} else {
QModelIndex aIndex = myModel->objectIndex(theObject);
void XGUI_SelectionMgr::onObjectBrowserSelection()
{
QList<ObjectPtr> aObjects = myWorkshop->objectBrowser()->selectedObjects();
- QResultList aResults;
- foreach(ObjectPtr aObject, aObjects) {
- ResultPtr aRes = boost::dynamic_pointer_cast<ModelAPI_Result>(aObject);
- if (aRes)
- aResults.append(aRes);
- }
XGUI_Displayer* aDisplayer = myWorkshop->displayer();
- aDisplayer->setSelected(aResults);
+ aDisplayer->setSelected(aObjects);
emit selectionChanged();
}
if (aResult)
aFeatures.append(aResult);
}
+ bool aBlocked = myWorkshop->objectBrowser()->blockSignals(true);
myWorkshop->objectBrowser()->setObjectsSelected(aFeatures);
+ myWorkshop->objectBrowser()->blockSignals(aBlocked);
+
emit selectionChanged();
}