Salome HOME
Fix for Bug IPAL9053( 3.0.0: "Check Geometry" and "Load script" functionalities from...
[modules/gui.git] / src / SVTK / SVTK_RenderWindow.h
1 //  SALOME VTKViewer : build VTK viewer into Salome desktop
2 //
3 //  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4 //  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
5 // 
6 //  This library is free software; you can redistribute it and/or 
7 //  modify it under the terms of the GNU Lesser General Public 
8 //  License as published by the Free Software Foundation; either 
9 //  version 2.1 of the License. 
10 // 
11 //  This library is distributed in the hope that it will be useful, 
12 //  but WITHOUT ANY WARRANTY; without even the implied warranty of 
13 //  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
14 //  Lesser General Public License for more details. 
15 // 
16 //  You should have received a copy of the GNU Lesser General Public 
17 //  License along with this library; if not, write to the Free Software 
18 //  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
19 // 
20 //  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
21 //
22 //
23 //
24 //  File   : VTKViewer_RenderWindow.h
25 //  Author : Nicolas REJNERI
26 //  Module : SALOME
27 //  $Header$
28
29 #ifndef SVTK_RenderWindow_h
30 #define SVTK_RenderWindow_h
31
32 #include <qwidget.h>
33
34 #include "SVTK.h"
35
36 class vtkRenderWindow;
37
38 class SVTK_EXPORT SVTK_RenderWindow : public QWidget
39 {
40   Q_OBJECT;
41
42 public:
43   SVTK_RenderWindow(QWidget *parent, const char *name);
44   virtual ~SVTK_RenderWindow() ;
45
46   vtkRenderWindow* getRenderWindow() { return myRW; }
47
48  protected:
49   virtual void mouseMoveEvent( QMouseEvent* );
50   virtual void mousePressEvent( QMouseEvent* );
51   virtual void mouseReleaseEvent( QMouseEvent* );
52   virtual void mouseDoubleClickEvent( QMouseEvent* );
53   virtual void wheelEvent( QWheelEvent* );
54   virtual void keyPressEvent( QKeyEvent* );
55   virtual void keyReleaseEvent( QKeyEvent* );
56   virtual void paintEvent( QPaintEvent* );
57   virtual void resizeEvent( QResizeEvent* );
58   virtual void onChangeBackgroundColor();
59   virtual void contextMenuEvent( QContextMenuEvent * e );
60
61  signals:
62   void MouseMove( QMouseEvent* );
63   void MouseButtonPressed( QMouseEvent* );
64   void MouseButtonReleased( QMouseEvent* );
65   void MouseDoubleClicked( QMouseEvent* );
66   void WheelMoved( QWheelEvent* );
67   void LeftButtonPressed(const QMouseEvent *event) ;
68   void LeftButtonReleased(const QMouseEvent *event) ;
69   void MiddleButtonPressed(const QMouseEvent *event) ;
70   void MiddleButtonReleased(const QMouseEvent *event) ;
71   void RightButtonPressed(const QMouseEvent *event) ;
72   void RightButtonReleased(const QMouseEvent *event) ;
73   void ButtonPressed(const QMouseEvent *event);
74   void ButtonReleased(const QMouseEvent *event);
75   void KeyPressed( QKeyEvent* );
76   void KeyReleased( QKeyEvent* );
77   void contextMenuRequested( QContextMenuEvent *e );
78
79  protected:
80   vtkRenderWindow* myRW;
81 };
82
83 #endif