Salome HOME
updated copyright message
[modules/gui.git] / src / SVTK / SVTK_RenderWindowInteractor.cxx
index e1175153762f93848dd31d1526f163eb4e08b731..3406d70136202bcad7bf040d7a5a3b9b7864e3dc 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2015  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
 // QT Includes
 // Put Qt includes before the X11 includes which #define the symbol None
 // (see SVTK_SpaceMouse.h) to avoid the compilation error.
-#ifndef WIN32
-#if QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)
+#if !defined(WIN32) && !defined(__APPLE__)
 #include <xcb/xcb.h>
-#endif
 #include <QX11Info>
 #endif
 #include <QMouseEvent>
@@ -84,7 +82,7 @@ QVTK_RenderWindowInteractor
   myRenderWindow->Delete();
   myRenderWindow->DoubleBufferOn();
 
-#ifndef WIN32
+#if !defined WIN32 && !defined __APPLE__
   myRenderWindow->SetDisplayId((void*)QX11Info::display());
 #endif
   myRenderWindow->SetWindowId((void*)winId());
@@ -112,17 +110,11 @@ QVTK_RenderWindowInteractor
 QVTK_RenderWindowInteractor
 ::~QVTK_RenderWindowInteractor() 
 {
-#ifndef WIN32
-#if QT_VERSION < QT_VERSION_CHECK(5, 0, 0)
-  SVTK_SpaceMouseX* aSpaceMouse = SVTK_SpaceMouseX::getInstance();
-  if ( aSpaceMouse && aSpaceMouse->isSpaceMouseOn() )
-    aSpaceMouse->close( QX11Info::display() );
-#else
+#if !defined WIN32 && !defined __APPLE__
   SVTK_SpaceMouseXCB* aSpaceMouse = SVTK_SpaceMouseXCB::getInstance();
   if ( aSpaceMouse && aSpaceMouse->isSpaceMouseOn() )
     aSpaceMouse->close( QX11Info::connection() );
 #endif
-#endif
 }
 
 
@@ -205,7 +197,7 @@ QVTK_RenderWindowInteractor
 */
 void
 QVTK_RenderWindowInteractor
-::paintEvent( QPaintEvent* theEvent ) 
+::paintEvent( QPaintEvent* /*theEvent*/ ) 
 {
   GetDevice()->CreateTimer(VTKI_TIMER_FIRST);
 }
@@ -216,7 +208,7 @@ QVTK_RenderWindowInteractor
 */
 void
 QVTK_RenderWindowInteractor
-::resizeEvent( QResizeEvent* theEvent )
+::resizeEvent( QResizeEvent* /*theEvent*/ )
 {
   int* aSize = getRenderWindow()->GetSize();
   int aWidth = aSize[0];
@@ -251,7 +243,7 @@ QVTK_RenderWindowInteractor
 */
 void
 QVTK_RenderWindowInteractor
-::contextMenuEvent( QContextMenuEvent* event )
+::contextMenuEvent( QContextMenuEvent* /*event*/ )
 {}
 
 /*!
@@ -329,7 +321,7 @@ QVTK_RenderWindowInteractor
 */
 void
 QVTK_RenderWindowInteractor
-::mouseDoubleClickEvent( QMouseEvent* event )
+::mouseDoubleClickEvent( QMouseEvent* /*event*/ )
 {}
 
 
@@ -386,7 +378,7 @@ QVTK_RenderWindowInteractor
 */
 void  
 QVTK_RenderWindowInteractor
-::enterEvent( QEvent* event )
+::enterEvent( QEvent* /*event*/ )
 {
   if(FOCUS_UNDER_MOUSE){
     activateWindow();
@@ -415,19 +407,8 @@ QVTK_RenderWindowInteractor
 {
   QWidget::focusInEvent( event );
 
-#ifndef WIN32
+#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 )
   {
@@ -438,7 +419,6 @@ QVTK_RenderWindowInteractor
       aSpaceMouse->setWindow( QX11Info::connection(), winId() );
   }
 #endif
-#endif
 }
 
 /*!
@@ -451,96 +431,28 @@ QVTK_RenderWindowInteractor
 {
   QWidget::focusOutEvent( event );
 
-#ifndef WIN32
-#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
+#if !defined WIN32 && !defined __APPLE__
   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)
-#ifdef 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);
 }
 
-#else
-
-/*!
-  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)
 {
-#ifdef WIN32
+#if defined(WIN32)
   // TODO: WIN32-related implementation
-#else
+#elif !defined(__APPLE__)
   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:
@@ -559,7 +471,7 @@ bool QVTK_RenderWindowInteractor
 #endif
  return QWidget::nativeEvent( eventType, message, result );
 }
-#endif
+
 /*!
   Constructor
 */
@@ -605,10 +517,6 @@ SVTK_RenderWindowInteractor
     aStyle->SetInteractor(NULL);
     myInteractorStyles.pop();
   }
-
-  SetRenderer(NULL);
-
-  GetDevice()->SetRenderWindow(NULL);
 }
 
 /*!