1 // Copyright (C) 2007-2008 CEA/DEN, EDF R&D, OPEN CASCADE
3 // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
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.
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.
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
20 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
22 #ifndef VTKVIEWER_RENDERWINDOW_H
23 #define VTKVIEWER_RENDERWINDOW_H
25 #include "VTKViewer.h"
27 #include <vtkRenderWindow.h>
31 class VTKVIEWER_EXPORT VTKViewer_RenderWindow : public QWidget
36 /* popup management */
37 //void onCreatePopup();
39 // const char *GetClassName() {return "VTKViewer_RenderWindow";};
42 VTKViewer_RenderWindow(QWidget *parent, const char *name);
43 virtual ~VTKViewer_RenderWindow() ;
45 /*!Get render window pointer.*/
46 vtkRenderWindow* getRenderWindow() { return myRW; }
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 );
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) ;
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 );
97 vtkRenderWindow* myRW;