void PartSet_SketcherMgr::onEnterViewPort()
{
- if (!isNestedCreateOperation(getCurrentOperation()))
- return;
// 1. if the mouse over window, update the next flag. Do not perform update visibility of
// created feature because it should be done in onMouseMove(). Some widgets watch
// the mouse move and use the cursor position to update own values. If the presentaion is
// redisplayed before this update, the feature presentation jumps from reset value to current.
myIsMouseOverWindow = true;
myIsPropertyPanelValueChanged = false;
+
+ if (!isNestedCreateOperation(getCurrentOperation()))
+ return;
}
void PartSet_SketcherMgr::onLeaveViewPort()
{
+ myIsMouseOverViewProcessed = false;
+ myIsMouseOverWindow = false;
+ myIsPropertyPanelValueChanged = false;
+
if (!isNestedCreateOperation(getCurrentOperation()))
return;
// the method should be performed if the popup menu is called,
if (myIsPopupMenuActive)
return;
- myIsMouseOverViewProcessed = false;
- myIsMouseOverWindow = false;
-
// 2. if the mouse IS NOT over window, reset the active widget value and hide the presentation
ModuleBase_IWorkshop* aWorkshop = myModule->workshop();
XGUI_ModuleConnector* aConnector = dynamic_cast<XGUI_ModuleConnector*>(aWorkshop);
aDisplayer->enableUpdateViewer(isEnableUpdateViewer);
// hides the presentation of the current operation feature
- myIsPropertyPanelValueChanged = false;
+ //myIsPropertyPanelValueChanged = false;
// the feature is to be erased here, but it is correct to call canDisplayObject because
// there can be additional check (e.g. editor widget in distance constraint)
FeaturePtr aFeature = getCurrentOperation()->feature();
{
PartSet_Module* aModule = dynamic_cast<PartSet_Module*>(myWorkshop->module());
if (aModule->isMouseOverWindow())
- return ModuleBase_WidgetDoubleValue::focusTo();
+ return ModuleBase_WidgetEditor::focusTo();
else {
- ModuleBase_WidgetEditor::focusTo();
+ return ModuleBase_WidgetDoubleValue::focusTo();
}
}