-// Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2023 CEA, EDF, OPEN CASCADE
//
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
// Put Qt includes before the X11 includes which #define the symbol None
// (see SVTK_SpaceMouse.h) to avoid the compilation error.
#if !defined(WIN32) && !defined(__APPLE__)
-#if QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)
#include <xcb/xcb.h>
-#endif
#include <QX11Info>
#endif
#include <QMouseEvent>
::~QVTK_RenderWindowInteractor()
{
#if !defined WIN32 && !defined __APPLE__
-#if QT_VERSION < QT_VERSION_CHECK(5, 0, 0)
- SVTK_SpaceMouseX* aSpaceMouse = SVTK_SpaceMouseX::getInstance();
- if ( aSpaceMouse && aSpaceMouse->isSpaceMouseOn() )
- aSpaceMouse->close( QX11Info::display() );
-#else
SVTK_SpaceMouseXCB* aSpaceMouse = SVTK_SpaceMouseXCB::getInstance();
if ( aSpaceMouse && aSpaceMouse->isSpaceMouseOn() )
aSpaceMouse->close( QX11Info::connection() );
#endif
-#endif
}
*/
void
QVTK_RenderWindowInteractor
-::paintEvent( QPaintEvent* theEvent )
+::paintEvent( QPaintEvent* /*theEvent*/ )
{
GetDevice()->CreateTimer(VTKI_TIMER_FIRST);
}
*/
void
QVTK_RenderWindowInteractor
-::resizeEvent( QResizeEvent* theEvent )
+::resizeEvent( QResizeEvent* /*theEvent*/ )
{
int* aSize = getRenderWindow()->GetSize();
int aWidth = aSize[0];
*/
void
QVTK_RenderWindowInteractor
-::contextMenuEvent( QContextMenuEvent* event )
+::contextMenuEvent( QContextMenuEvent* /*event*/ )
{}
/*!
*/
void
QVTK_RenderWindowInteractor
-::mouseDoubleClickEvent( QMouseEvent* event )
+::mouseDoubleClickEvent( QMouseEvent* /*event*/ )
{}
*/
void
QVTK_RenderWindowInteractor
-::enterEvent( QEvent* event )
+::enterEvent( QEvent* /*event*/ )
{
if(FOCUS_UNDER_MOUSE){
activateWindow();
#if !defined WIN32 && !defined __APPLE__
// register set space mouse events receiver
-#if QT_VERSION < QT_VERSION_CHECK(5, 0, 0)
- SVTK_SpaceMouseX* aSpaceMouse = SVTK_SpaceMouseX::getInstance();
- if ( aSpaceMouse )
- {
- if ( !aSpaceMouse->isSpaceMouseOn() )
- // initialize 3D space mouse driver
- aSpaceMouse->initialize( QX11Info::display(), winId() );
- else
- aSpaceMouse->setWindow( QX11Info::display(), winId() );
- }
-#else
SVTK_SpaceMouseXCB* aSpaceMouse = SVTK_SpaceMouseXCB::getInstance();
if ( aSpaceMouse )
{
aSpaceMouse->setWindow( QX11Info::connection(), winId() );
}
#endif
-#endif
}
/*!
QWidget::focusOutEvent( event );
#if !defined WIN32 && !defined __APPLE__
-#if QT_VERSION < QT_VERSION_CHECK(5, 0, 0)
- // unregister set space mouse events receiver
- SVTK_SpaceMouseX* aSpaceMouse = SVTK_SpaceMouseX::getInstance();
- if ( aSpaceMouse && aSpaceMouse->isSpaceMouseOn() )
- aSpaceMouse->setWindow( QX11Info::display(), 0 );
-#else
SVTK_SpaceMouseXCB* aSpaceMouse = SVTK_SpaceMouseXCB::getInstance();
if ( aSpaceMouse && aSpaceMouse->isSpaceMouseOn() )
aSpaceMouse->setWindow( QX11Info::connection(), 0 );
#endif
-#endif
-}
-
-// TODO (QT5 PORTING) Below is a temporary solution, to allow compiling with Qt 5
-#if QT_VERSION < QT_VERSION_CHECK(5, 0, 0)
-#if defined(WIN32)
-
-/*!
- To handle native Win32 events (from such devices as SpaceMouse)
-*/
-bool QVTK_RenderWindowInteractor::winEvent( MSG* msg, long* result )
-{
- // TODO: Implement event handling for SpaceMouse
- return QWidget::winEvent( msg, result);
-}
-
-#elif !defined(__APPLE__)
-/*!
- To handle native X11 events (from such devices as SpaceMouse)
-*/
-bool
-QVTK_RenderWindowInteractor
-::x11Event( XEvent *xEvent )
-{
- // handle 3d space mouse events
- if ( SVTK_SpaceMouseX* aSpaceMouse = SVTK_SpaceMouseX::getInstance() )
- {
- if ( aSpaceMouse->isSpaceMouseOn() && xEvent->type == ClientMessage )
- {
- SVTK_SpaceMouse::MoveEvent anEvent;
- int type = aSpaceMouse->translateEvent( QX11Info::display(), xEvent, &anEvent, 1.0, 1.0 );
- switch ( type )
- {
- case SVTK_SpaceMouse::SpaceMouseMove:
- GetDevice()->InvokeEvent( SVTK::SpaceMouseMoveEvent, anEvent.data );
- break;
- case SVTK_SpaceMouse::SpaceButtonPress:
- GetDevice()->InvokeEvent( SVTK::SpaceMouseButtonEvent, &anEvent.button );
- break;
- case SVTK_SpaceMouse::SpaceButtonRelease:
- break;
- }
- return true; // stop handling the event
- }
- }
-
- return QWidget::x11Event( xEvent );
}
-#endif
-
-#else // QT_VERSION < QT_VERSION_CHECK(5, 0, 0)
-
bool QVTK_RenderWindowInteractor
::nativeEvent(const QByteArray& eventType, void* message, long* result)
{
if ( eventType == "xcb_generic_event_t" )
{
xcb_generic_event_t* ev = static_cast<xcb_generic_event_t *>(message);
-#if QT_VERSION < QT_VERSION_CHECK(5, 0, 0)
- // TODO: this code is never called
- if ( SVTK_SpaceMouseX* aSpaceMouse = SVTK_SpaceMouseX::getInstance() )
-#else
if ( SVTK_SpaceMouseXCB* aSpaceMouse = SVTK_SpaceMouseXCB::getInstance() )
-#endif
{
if ( aSpaceMouse->isSpaceMouseOn() && ev->response_type == XCB_CLIENT_MESSAGE )
{
SVTK_SpaceMouse::MoveEvent anEvent;
-#if QT_VERSION < QT_VERSION_CHECK(5, 0, 0)
- // TODO: this code is never called
- int type = aSpaceMouse->translateEvent( QX11Info::display(), xEvent, &anEvent, 1.0, 1.0 );
-#else
int type = aSpaceMouse->translateEvent( QX11Info::connection(), (xcb_client_message_event_t*)ev, &anEvent, 1.0, 1.0 );
-#endif
switch ( type )
{
case SVTK_SpaceMouse::SpaceMouseMove:
#endif
return QWidget::nativeEvent( eventType, message, result );
}
-#endif
+
/*!
Constructor
*/