-// SALOME VTKViewer : build VTK viewer into Salome desktop
+// 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, 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
#include "SVTK_Selection.h"
#include <vtkSmartPointer.h>
-#include <qwidget.h>
+#include <QWidget>
// undefining min and max because CASCADE's defines them and
// it clashes with std::min(), std::max()
class SVTK_Selector;
class SVTK_Renderer;
+#ifdef WIN32
+#pragma warning ( disable:4251 )
+#endif
+
/*!
\class QVTK_RenderWindowInteractor
Implements Qt based vtkRenderWindowInteractor.
public:
QVTK_RenderWindowInteractor(QWidget* theParent,
- const char* theName);
+ const char* theName);
~QVTK_RenderWindowInteractor();
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();
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<vtkRenderWindow> myRenderWindow;
vtkSmartPointer<vtkGenericRenderWindowInteractor> myDevice;
public:
SVTK_RenderWindowInteractor(QWidget* theParent,
- const char* theName);
+ const char* theName);
~SVTK_RenderWindowInteractor();
virtual
void
Initialize(vtkGenericRenderWindowInteractor* theDevice,
- SVTK_Renderer* theRenderer,
- SVTK_Selector* theSelector);
+ SVTK_Renderer* theRenderer,
+ SVTK_Selector* theSelector);
//----------------------------------------------------------------------------
//! To get corresponding SVTK_Renderer instance
virtual void wheelEvent( QWheelEvent* );
virtual void keyPressEvent( QKeyEvent* );
virtual void keyReleaseEvent( QKeyEvent* );
- virtual void contextMenuEvent( QContextMenuEvent * e );
void
SetRenderer(SVTK_Renderer *theRenderer);
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<vtkCallbackCommand> myEventCallbackCommand;
TInteractorStyles myInteractorStyles;
};
+#ifdef WIN32
+#pragma warning ( default:4251 )
+#endif
#endif