QObject* theParent,
CompositeFeaturePtr theFeature)
: PartSet_OperationFeatureBase(theId, theParent, theFeature),
- myIsBlockedSelection(false)
+ myIsBlockedSelection(false), myIsBlockedByDoubleClick(false)
{
myIsEditing = true;
}
QMouseEvent* theEvent, ModuleBase_IViewer* theViewer,
ModuleBase_ISelection* theSelection)
{
+ // the block is processed in order to do not commit the transaction until the started
+ // double click functionality is performed. It is reproduced on Linux only
+ if (myIsBlockedByDoubleClick)
+ return;
+
theViewer->enableSelection(true);
// the next code is commented because it is obsolete by the multi edit operation realization here
//if (myIsMultiOperation) {
QMouseEvent* theEvent, Handle_V3d_View theView,
ModuleBase_ISelection* theSelection)
{
+ myIsBlockedByDoubleClick = true;
// TODO the functionality is important only for constraint feature. Should be moved in another place
QList<ModuleBase_ViewerPrs> aSelected = theSelection->getSelected();
if (!aSelected.empty()) {
}
}
}
+ myIsBlockedByDoubleClick = false;
}
void PartSet_OperationFeatureEdit::startOperation()
Point myCurPoint; ///< the current 3D point clicked or moved
bool myIsBlockedSelection; ///< the state of the last state of selection blocked signal
+ bool myIsBlockedByDoubleClick; ///< the block value by double click is processed to avoid
+ ///< the mouse button release processing before the double click is finished
};
#endif