Moka Ihm Qt
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
gl-window.qt.hh
Go to the documentation of this file.
1 /*
2  * Moka : Un modeleur de 3-G-cartes.
3  * Copyright (C) 2004, Moka Team, Université de Poitiers, Laboratoire SIC
4  * http://www.sic.sp2mi.univ-poitiers.fr/
5  * Copyright (C) 2009, Guillaume Damiand, CNRS, LIRIS,
6  * guillaume.damiand@liris.cnrs.fr, http://liris.cnrs.fr/
7  *
8  * This file is part of Moka
9  *
10  * This program is free software: you can redistribute it and/or modify
11  * it under the terms of the GNU General Public License as published by
12  * the Free Software Foundation, either version 3 of the License, or
13  * (at your option) any later version.
14  *
15  * This program is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18  * GNU General Public License for more details.
19  *
20  * You should have received a copy of the GNU General Public License
21  * along with this program. If not, see <http://www.gnu.org/licenses/>.
22  */
23 
24 #ifndef GLWINDOW_QT_HH
25 #define GLWINDOW_QT_HH
26 
27 //------ Include autres classes developees -------
28 #include "creation-objet.qt.hh"
29 #include "dialog-operations.qt.hh"
30 #include "options-carac.qt.hh"
31 #include "select-bar.qt.hh"
32 
33 //------------- Include controler ----------------
34 #include "controler.hh"
35 #include "controler-gmap.hh"
36 
37 //------------------ Include QT -------------------
38 #include <QtGui/QWorkspace>
39 
40 class Window ;
41 
42 class GLWindow : public QGLWidget
43 {
44  Q_OBJECT
45 
46 public:
47 
55  GLWindow ( TView AViewType , QWorkspace * parent , Window * owner ,
56  SelectBar * selection ) ;
57 
66  GLWindow ( TView AViewType , QWorkspace * parent ,
67  Window * owner , GLWindow * share , SelectBar * selection ) ;
68 
72  virtual ~GLWindow ( ) ;
73 
78  virtual TView getViewType ( ) const ;
79 
84  virtual TViewId getViewId ( ) const ;
85 
90  virtual string getViewTypeString() const;
91 
96  virtual void closeEvent ( QCloseEvent * e ) ;
97 
102  virtual TViewId getCliquedViewId ( ) const ;
103 
108  virtual TViewId getDoubleCliquedViewId ( ) const ;
109 
113  virtual void paintGL ( ) ;
114 
115 protected:
116 
120  virtual void initializeGL ( ) ;
121 
125  virtual void creation ( ) ;
126 
131  virtual void mousePressEvent ( QMouseEvent * e ) ;
132 
137  virtual void mouseReleaseEvent ( QMouseEvent * e ) ;
138 
143  virtual void mouseMoveEvent ( QMouseEvent * e ) ;
144 
150  virtual void resizeGL ( int W , int H ) ;
151 
156  virtual void mouseDoubleClickEvent ( QMouseEvent * e ) ;
157 
158  // Identifiant associe a cette fenetre (cf. controler-views.hh):
159  TViewId FViewId;
160  TView FViewType;
161 
162  // Fenetre paratagee
164 
165  // indique si la fenetre est partagee
166  bool isShared;
167 
168  // Fenetre principale contenant la vue
170 
171  // Pointeur sur la barre de selection
173 
174  // Paramètre utiles pour l'affichage du rectangle de sélection
176  bool FDragMode;
177 } ;
178 
179 #endif