HQWidget.h
1 #ifndef HQWIDGET_H
2 #define HQWIDGET_H
3 
4 
5 #if defined(IS_OSX) && defined(USE_MDI)
6 #include <QGLWidget>
7 #else
8 #include <QWidget>
9 #endif
10 
11 #if defined(PARASOLID)
12 #include "HSolidModel.h"
13 #include "HSolidView.h"
14 #else
15 #include "HBaseModel.h"
16 #include "HBaseView.h"
17 #endif
18 
19 
33 #if defined(IS_OSX) && defined(USE_MDI)
34 class HQWidget: public QGLWidget
35 #else
36 class HQWidget: public QWidget
37 #endif
38 {
39  Q_OBJECT
40 public:
41  HQWidget( QWidget* parent=0, QString const & name = "", Qt::WFlags f=0, int aa=0);
42  ~HQWidget();
43 
46 
49 
50  static bool GetKeyState(unsigned int key, int &flags);
51 
52  static const char * ChooseDriver();
53 
54 protected:
55 
57  void * GetColorMap();
58 
60  void * GetWindowId();
61 
62 #if defined(IS_OSX) && defined(USE_MDI)
63 
64  void * GetQGLContext();
65 #endif
66 
68  void * GetClipOverride();
69 
71  virtual void Init();
72 
74  virtual QPaintEngine* paintEngine() const;
75 
80  virtual void OnLeftButtonDown(QMouseEvent * e = 0);
81 
86  virtual void OnLeftButtonUp(QMouseEvent * e = 0);
87 
92  virtual void OnLeftButtonDblClk(QMouseEvent * e = 0);
93 
98  virtual void OnMidButtonDown(QMouseEvent * e = 0);
99 
104  virtual void OnMidButtonUp(QMouseEvent * e = 0);
105 
110  virtual void OnMidButtonDblClk(QMouseEvent * e = 0);
111 
116  virtual void OnRightButtonDown(QMouseEvent * e = 0);
117 
122  virtual void OnRightButtonUp(QMouseEvent * e = 0);
123 
128  virtual void OnRightButtonDblClk(QMouseEvent * e = 0);
129 
134  virtual void wheelEvent(QWheelEvent * e = 0);
135 
139  virtual void paintEvent( QPaintEvent* e);
140 
144  virtual void resizeEvent( QResizeEvent* e);
145 
146  virtual void focusInEvent(QFocusEvent* e);
147 
148  virtual void focusOutEvent(QFocusEvent* e);
149 
150 
155  virtual void keyPressEvent ( QKeyEvent * e );
156 
161  virtual void keyReleaseEvent ( QKeyEvent * e );
162 
166  virtual void mousePressEvent( QMouseEvent * mev);
167 
171  virtual void mouseDoubleClickEvent( QMouseEvent * mev);
172 
176  virtual void mouseReleaseEvent( QMouseEvent * mev);
177 
178 
183  virtual void mouseMoveEvent( QMouseEvent * mev);
184 
186  void AdjustAxisWindow();
187 
191  bool eventFilter(QObject *obj, QEvent *ev);
192 
193 #ifdef PARASOLID
194 
196  HSolidView * m_pHView;
197 
199  HSolidModel * m_pHBaseModel;
200 #else
201 
203 
206 #endif
207 
208  bool ignore_update;
209 
210 private:
211 
212  bool initDone;
213 
214  void setupWindow();
215  void setupWindow(bool use_gl);
216 
217  unsigned long MapFlags(unsigned long state);
218 
219  void * my_colormap;
220  void * my_windowid;
221  void * my_clip_override;
222  bool my_have_gl_visual;
223  int my_aa;
224 
225 #if IS_OSX
226  int use_clip_override[8];
227 #if USE_MDI
228  void * my_qgl_context;
229 #endif
230 #endif
231 
232 };
233 
234 
235 #endif
236 
virtual void OnLeftButtonDown(QMouseEvent *e=0)
virtual QPaintEngine * paintEngine() const
virtual void mousePressEvent(QMouseEvent *mev)
virtual void OnLeftButtonUp(QMouseEvent *e=0)
virtual void Init()
virtual void OnMidButtonUp(QMouseEvent *e=0)
virtual void OnLeftButtonDblClk(QMouseEvent *e=0)
virtual void mouseReleaseEvent(QMouseEvent *mev)
Definition: HQWidget.h:36
virtual void wheelEvent(QWheelEvent *e=0)
void * GetColorMap()
HBaseModel * GetHoopsModel()
Definition: HQWidget.h:48
virtual void resizeEvent(QResizeEvent *e)
virtual void keyReleaseEvent(QKeyEvent *e)
void * GetWindowId()
bool eventFilter(QObject *obj, QEvent *ev)
void * GetClipOverride()
virtual void mouseDoubleClickEvent(QMouseEvent *mev)
virtual void OnMidButtonDblClk(QMouseEvent *e=0)
HBaseModel * m_pHBaseModel
Definition: HQWidget.h:205
virtual void OnRightButtonDblClk(QMouseEvent *e=0)
HBaseView * GetHoopsView()
Definition: HQWidget.h:45
virtual void OnRightButtonDown(QMouseEvent *e=0)
virtual void OnRightButtonUp(QMouseEvent *e=0)
virtual void OnMidButtonDown(QMouseEvent *e=0)
virtual void paintEvent(QPaintEvent *e)
virtual void keyPressEvent(QKeyEvent *e)
HBaseView * m_pHView
Definition: HQWidget.h:202
void AdjustAxisWindow()
virtual void mouseMoveEvent(QMouseEvent *mev)