]> SALOME platform Git repositories - modules/gui.git/blob - src/VTKViewer/VTKViewer_RenderWindow.h
Salome HOME
13cbb3ea395ce100828cf1b9bccf2c1e5d5f2a4b
[modules/gui.git] / src / VTKViewer / VTKViewer_RenderWindow.h
1 //  Copyright (C) 2007-2008  CEA/DEN, EDF R&D, OPEN CASCADE
2 //
3 //  Copyright (C) 2003-2007  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.salome-platform.org/ or email : webmaster.salome@opencascade.com
21 //
22 #ifndef VTKVIEWER_RENDERWINDOW_H
23 #define VTKVIEWER_RENDERWINDOW_H
24
25 #include "VTKViewer.h"
26
27 #include <vtkRenderWindow.h>
28
29 #include <QWidget>
30
31 class VTKVIEWER_EXPORT VTKViewer_RenderWindow : public QWidget 
32 {
33   Q_OBJECT 
34
35 public:
36   /* popup management */
37   //void                     onCreatePopup();
38
39 //  const char *GetClassName() {return "VTKViewer_RenderWindow";};
40
41 public:
42   VTKViewer_RenderWindow(QWidget *parent, const char *name);
43   virtual ~VTKViewer_RenderWindow() ;
44   
45   /*!Get render window pointer.*/
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   /*!On mouse move signal.*/
63   void MouseMove( QMouseEvent* );
64   /*!On mouse button pressed signal.*/
65   void MouseButtonPressed( QMouseEvent* );
66   /*!On mouse button released signal.*/
67   void MouseButtonReleased( QMouseEvent* );
68   /*!On mouse double click signal.*/
69   void MouseDoubleClicked( QMouseEvent* );
70   /*!On wheel moved signal.*/
71   void WheelMoved( QWheelEvent* );
72   /*!On left button pressed signal.*/
73   void LeftButtonPressed(const QMouseEvent *event) ;
74   /*!On left button released signal.*/
75   void LeftButtonReleased(const QMouseEvent *event) ;
76   /*!On middle button pressed signal.*/
77   void MiddleButtonPressed(const QMouseEvent *event) ;
78   /*!On middle button released signal.*/
79   void MiddleButtonReleased(const QMouseEvent *event) ;
80   /*!On right button pressed signal.*/
81   void RightButtonPressed(const QMouseEvent *event) ;
82   /*!On right button released signal.*/
83   void RightButtonReleased(const QMouseEvent *event) ;
84   
85   /*!On button pressed signal.*/
86   void ButtonPressed(const QMouseEvent *event);
87   /*!On button released signal.*/
88   void ButtonReleased(const QMouseEvent *event);
89   /*!On key pressed signal.*/
90   void KeyPressed( QKeyEvent* );
91   /*!On key released signal.*/
92   void KeyReleased( QKeyEvent* );
93   /*!On content menu requested signal.*/
94   void contextMenuRequested( QContextMenuEvent *e );
95
96  protected:
97   vtkRenderWindow* myRW;
98 };
99
100 #endif