+ //if ((myEditingAttr.size() == 1) && myEditingAttr.first()) {
+ // // probably we have prehighlighted point
+ // AttributePtr aAttr = myEditingAttr.first();
+ // std::string aAttrId = aAttr->id();
+ // ModuleBase_IPropertyPanel* aPanel = aOperation->propertyPanel();
+ // QList<ModuleBase_ModelWidget*> aWidgets = aPanel->modelWidgets();
+ // // Find corresponded widget to provide dragging
+ // foreach (ModuleBase_ModelWidget* aWgt, aWidgets) {
+ // if (aWgt->attributeID() == aAttrId) {
+ // PartSet_WidgetPoint2D* aWgt2d = dynamic_cast<PartSet_WidgetPoint2D*>(aWgt);
+ // if (aWgt2d) {
+ // aWgt2d->setPoint(aWgt2d->x() + dX, aWgt2d->y() + dY);
+ // break;
+ // }
+ // }
+ // }
+ //} else {
+ // ModuleBase_IWorkshop* aWorkshop = myModule->workshop();
+ // XGUI_ModuleConnector* aConnector = dynamic_cast<XGUI_ModuleConnector*>(aWorkshop);
+ // XGUI_Displayer* aDisplayer = aConnector->workshop()->displayer();
+ // bool isEnableUpdateViewer = aDisplayer->enableUpdateViewer(false);
+
+ // foreach(FeaturePtr aFeature, myEditingFeatures) {
+ // std::shared_ptr<SketchPlugin_Feature> aSketchFeature =
+ // std::dynamic_pointer_cast<SketchPlugin_Feature>(aFeature);
+ // if (aSketchFeature) {
+ // // save the previous selection
+
+ // std::set<AttributePtr> aSelectedAttributes;
+ // std::set<ResultPtr> aSelectedResults;
+ // getCurrentSelection(aSketchFeature, myCurrentSketch, aWorkshop, aSelectedAttributes,
+ // aSelectedResults);
+ // // save the previous selection: end
+
+ // aSketchFeature->move(dX, dY);
+ // // TODO: the selection restore should be after the AIS presentation is rebuilt
+ // Events_Loop::loop()->flush(Events_Loop::eventByName(EVENT_OBJECT_MOVED));
+ // Events_Loop::loop()->flush(Events_Loop::eventByName(EVENT_OBJECT_UPDATED));
+
+ // // restore the previous selection
+ // SelectMgr_IndexedMapOfOwner anOwnersToSelect;
+ // getSelectionOwners(aSketchFeature, myCurrentSketch, aWorkshop, aSelectedAttributes,
+ // aSelectedResults, anOwnersToSelect);
+ // aConnector->workshop()->selector()->setSelectedOwners(anOwnersToSelect, false);
+ // // restore the previous selection
+ // }
+ // ModelAPI_EventCreator::get()->sendUpdated(aSketchFeature, anEvent, true);
+ // Events_Loop::loop()->flush(Events_Loop::eventByName(EVENT_OBJECT_UPDATED));
+ // }
+ // // TODO: set here
+ // //Events_Loop::loop()->flush(Events_Loop::eventByName(EVENT_OBJECT_MOVED));
+ // //Events_Loop::loop()->flush(Events_Loop::eventByName(EVENT_OBJECT_UPDATED));
+
+ // //Events_Loop::loop()->flush(Events_Loop::eventByName(EVENT_OBJECT_TO_REDISPLAY));
+ // aDisplayer->enableUpdateViewer(isEnableUpdateViewer);
+ // aDisplayer->updateViewer();
+ //}