-// Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2014 CEA/DEN, EDF R&D, OPEN CASCADE
//
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
static bool GENERATE_SUIT_EVENTS = true;
static bool FOCUS_UNDER_MOUSE = false;
+// workaround about the bug in vtkImplicitPlaneWidget class
+// that eats mouse button release event
+// causing clipping plane preview in SMESH sticking up
+#define Fix_Of_vtkImplicitPlaneWidget_bug
/*!
Constructor
else if( event->button() & Qt::MidButton )
GetDevice()->MiddleButtonReleaseEvent();
else if( event->button() & Qt::RightButton ) {
- #ifndef Fix_Of_vtkImplicitPlaneWidget_bug
+#if defined(Fix_Of_vtkImplicitPlaneWidget_bug)
GetDevice()->SetEventInformationFlipY( -99999, -99999,
event->modifiers() & Qt::ControlModifier,
event->modifiers() & Qt::ShiftModifier);
+ bool blocked = blockSignals( true );
GetDevice()->LeftButtonPressEvent();
GetDevice()->LeftButtonReleaseEvent();
+ blockSignals( blocked );
GetDevice()->SetEventInformationFlipY(event->x(),
event->y(),
event->modifiers() & Qt::ControlModifier,
event->modifiers() & Qt::ShiftModifier);
- #endif
+#endif
GetDevice()->RightButtonReleaseEvent();
}
}