HQWidget.h
1 //
2 // Copyright (c) 2000 by Tech Soft 3D, LLC.
3 // The information contained herein is confidential and proprietary to
4 // Tech Soft 3D, LLC., and considered a trade secret as defined under
5 // civil and criminal statutes. Tech Soft 3D shall pursue its civil
6 // and criminal remedies in the event of unauthorized use or misappropriation
7 // of its trade secrets. Use of this information by anyone other than
8 // authorized employees of Tech Soft 3D, LLC. is granted only under a
9 // written non-disclosure agreement, expressly prescribing the scope and
10 // manner of such use.
11 //
12 // $Id: e3a89f57262141399f8b01158fa8a8d161735373 $
13 //
14 
15 
16 #ifndef HQWIDGET_H
17 #define HQWIDGET_H
18 
19 
20 #if defined(IS_OSX) && defined(USE_MDI)
21 #include <QGLWidget>
22 #else
23 #include <QWidget>
24 #endif
25 
26 #if defined(PARASOLID)
27 #include "HSolidModel.h"
28 #include "HSolidView.h"
29 #else
30 #include "HBaseModel.h"
31 #include "HBaseView.h"
32 #endif
33 
34 
48 #if defined(IS_OSX) && defined(USE_MDI)
49 class HQWidget: public QGLWidget
50 #else
51 class HQWidget: public QWidget
52 #endif
53 {
54  Q_OBJECT
55 public:
56  HQWidget( QWidget* parent=0, QString const & name = "", Qt::WFlags f=0, int aa=0);
57  ~HQWidget();
58 
61 
64 
65  static bool GetKeyState(unsigned int key, int &flags);
66 
67  static const char * ChooseDriver();
68 
69 protected:
70 
72  void * GetColorMap();
73 
75  void * GetWindowId();
76 
77 #if defined(IS_OSX) && defined(USE_MDI)
78 
79  void * GetQGLContext();
80 #endif
81 
83  void * GetClipOverride();
84 
86  virtual void Init();
87 
89  virtual QPaintEngine* paintEngine() const;
90 
95  virtual void OnLeftButtonDown(QMouseEvent * e = 0);
96 
101  virtual void OnLeftButtonUp(QMouseEvent * e = 0);
102 
107  virtual void OnLeftButtonDblClk(QMouseEvent * e = 0);
108 
113  virtual void OnMidButtonDown(QMouseEvent * e = 0);
114 
119  virtual void OnMidButtonUp(QMouseEvent * e = 0);
120 
125  virtual void OnMidButtonDblClk(QMouseEvent * e = 0);
126 
131  virtual void OnRightButtonDown(QMouseEvent * e = 0);
132 
137  virtual void OnRightButtonUp(QMouseEvent * e = 0);
138 
143  virtual void OnRightButtonDblClk(QMouseEvent * e = 0);
144 
149  virtual void wheelEvent(QWheelEvent * e = 0);
150 
154  virtual void paintEvent( QPaintEvent* e);
155 
159  virtual void resizeEvent( QResizeEvent* e);
160 
161  virtual void focusInEvent(QFocusEvent* e);
162 
163  virtual void focusOutEvent(QFocusEvent* e);
164 
165 
170  virtual void keyPressEvent ( QKeyEvent * e );
171 
176  virtual void keyReleaseEvent ( QKeyEvent * e );
177 
181  virtual void mousePressEvent( QMouseEvent * mev);
182 
186  virtual void mouseDoubleClickEvent( QMouseEvent * mev);
187 
191  virtual void mouseReleaseEvent( QMouseEvent * mev);
192 
193 
198  virtual void mouseMoveEvent( QMouseEvent * mev);
199 
201  void AdjustAxisWindow();
202 
206  bool eventFilter(QObject *obj, QEvent *ev);
207 
208 #ifdef PARASOLID
209 
211  HSolidView * m_pHView;
212 
214  HSolidModel * m_pHBaseModel;
215 #else
216 
218 
221 #endif
222 
223  bool ignore_update;
224 
225 private:
226 
227  bool initDone;
228 
229  void setupWindow();
230  void setupWindow(bool use_gl);
231 
232  unsigned long MapFlags(unsigned long state);
233 
234  void * my_colormap;
235  void * my_windowid;
236  void * my_clip_override;
237  bool my_have_gl_visual;
238  int my_aa;
239 
240 #if IS_OSX
241  int use_clip_override[8];
242 #if USE_MDI
243  void * my_qgl_context;
244 #endif
245 #endif
246 
247 };
248 
249 
250 #endif
251 
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:51
virtual void wheelEvent(QWheelEvent *e=0)
void * GetColorMap()
HBaseModel * GetHoopsModel()
Definition: HQWidget.h:63
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:220
virtual void OnRightButtonDblClk(QMouseEvent *e=0)
HBaseView * GetHoopsView()
Definition: HQWidget.h:60
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:217
void AdjustAxisWindow()
virtual void mouseMoveEvent(QMouseEvent *mev)