X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSVTK%2FSVTK_RenderWindowInteractor.h;h=b66ca9d4ac50859f6377c270d15a15f1e17cf653;hb=e6caa123c65e3c4a3017364ec5bb4225fd898465;hp=bc0020ddf9a447880cad9e208dd97dae40dfd219;hpb=9f1a66957ba9a2308f8fdc3f9397140af9df5fd0;p=modules%2Fgui.git diff --git a/src/SVTK/SVTK_RenderWindowInteractor.h b/src/SVTK/SVTK_RenderWindowInteractor.h index bc0020ddf..b66ca9d4a 100644 --- a/src/SVTK/SVTK_RenderWindowInteractor.h +++ b/src/SVTK/SVTK_RenderWindowInteractor.h @@ -1,30 +1,28 @@ -// SALOME VTKViewer : build VTK viewer into Salome desktop +// Copyright (C) 2007-2015 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, or (at your option) any later version. // -// Copyright (C) 2003 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. -// -// This library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// Lesser General Public License for more details. -// -// You should have received a copy of the GNU Lesser General Public -// License along with this library; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -// -// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. // +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // +// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // + +// SALOME VTKViewer : build VTK viewer into Salome desktop // File : // Author : -// Module : SALOME -// $Header$ #ifndef SVTK_RenderWindowInteractor_h #define SVTK_RenderWindowInteractor_h @@ -33,7 +31,7 @@ #include "SVTK_Selection.h" #include -#include +#include // undefining min and max because CASCADE's defines them and // it clashes with std::min(), std::max() @@ -52,9 +50,13 @@ class vtkObject; class SVTK_Selector; class SVTK_Renderer; -//============================================================================ -//! Implemements Qt based vtkRenderWindowInteractor. +#ifdef WIN32 +#pragma warning ( disable:4251 ) +#endif + /*! + \class QVTK_RenderWindowInteractor + Implements Qt based vtkRenderWindowInteractor. The class inherits #QWidget class in order to be possible process Qt events. It invokes corresponding VTK events through usage of its device - a #vtkGenericRenderWindowInteractor. Also, it creates, initialize and holds vtkRenderWindow instance. @@ -65,7 +67,7 @@ class SVTK_EXPORT QVTK_RenderWindowInteractor: public QWidget public: QVTK_RenderWindowInteractor(QWidget* theParent, - const char* theName); + const char* theName); ~QVTK_RenderWindowInteractor(); @@ -85,6 +87,9 @@ class SVTK_EXPORT QVTK_RenderWindowInteractor: public QWidget void InvokeEvent(unsigned long theEvent, void* theCallData); + //! Get paint engine for the scene + virtual QPaintEngine* paintEngine() const; + public slots: //! Need for initial contents display on Win32 virtual void show(); @@ -116,17 +121,21 @@ class SVTK_EXPORT QVTK_RenderWindowInteractor: public QWidget virtual void focusInEvent( QFocusEvent* ); virtual void focusOutEvent( QFocusEvent* ); - //! To handle native X11 events (from such devices as SpaceMouse) + //! To handle native events (from such devices as SpaceMouse) +#ifdef WIN32 + virtual bool winEvent( MSG*, long* ); +#else virtual bool x11Event( XEvent *e ); +#endif vtkSmartPointer myRenderWindow; vtkSmartPointer myDevice; }; -//============================================================================ //! Extends QVTK_RenderWindowInteractor functionality. /*! + \class SVTK_RenderWindowInteractor Implements such features as support of selection, run-time interactor style management, @@ -139,7 +148,7 @@ class SVTK_EXPORT SVTK_RenderWindowInteractor: public QVTK_RenderWindowInteracto public: SVTK_RenderWindowInteractor(QWidget* theParent, - const char* theName); + const char* theName); ~SVTK_RenderWindowInteractor(); @@ -147,8 +156,8 @@ class SVTK_EXPORT SVTK_RenderWindowInteractor: public QVTK_RenderWindowInteracto virtual void Initialize(vtkGenericRenderWindowInteractor* theDevice, - SVTK_Renderer* theRenderer, - SVTK_Selector* theSelector); + SVTK_Renderer* theRenderer, + SVTK_Selector* theSelector); //---------------------------------------------------------------------------- //! To get corresponding SVTK_Renderer instance @@ -213,7 +222,6 @@ class SVTK_EXPORT SVTK_RenderWindowInteractor: public QVTK_RenderWindowInteracto virtual void wheelEvent( QWheelEvent* ); virtual void keyPressEvent( QKeyEvent* ); virtual void keyReleaseEvent( QKeyEvent* ); - virtual void contextMenuEvent( QContextMenuEvent * e ); void SetRenderer(SVTK_Renderer *theRenderer); @@ -229,9 +237,9 @@ class SVTK_EXPORT SVTK_RenderWindowInteractor: public QVTK_RenderWindowInteracto static void ProcessEvents(vtkObject* theObject, - unsigned long theEvent, - void* theClientData, - void* theCallData); + unsigned long theEvent, + void* theClientData, + void* theCallData); // Used to process VTK events vtkSmartPointer myEventCallbackCommand; @@ -249,5 +257,8 @@ class SVTK_EXPORT SVTK_RenderWindowInteractor: public QVTK_RenderWindowInteracto TInteractorStyles myInteractorStyles; }; +#ifdef WIN32 +#pragma warning ( default:4251 ) +#endif #endif