1 | #ifndef _QDESIGNVIEWWIDGET_H_ |
---|
2 | #define _QDESIGNVIEWWIDGET_H_ |
---|
3 | |
---|
4 | #include "gui/QGLViewerWidget.h" |
---|
5 | |
---|
6 | namespace projection |
---|
7 | { |
---|
8 | class ProjectionModel; |
---|
9 | class Channel; |
---|
10 | |
---|
11 | enum DESIGN_VIEWMODE |
---|
12 | { |
---|
13 | DESIGN_VIEWMODE_PERSPECTIVE, |
---|
14 | DESIGN_VIEWMODE_CENTER, |
---|
15 | DESIGN_VIEWMODE_TOP, |
---|
16 | DESIGN_VIEWMODE_SIDE, |
---|
17 | DESIGN_VIEWMODE_FRONT |
---|
18 | }; |
---|
19 | |
---|
20 | enum DESIGN_OPMODE |
---|
21 | { |
---|
22 | DESIGN_OPMODE_PROJECTOR, |
---|
23 | DESIGN_OPMODE_VIEW |
---|
24 | }; |
---|
25 | |
---|
26 | enum DESIGN_TRANSMODE |
---|
27 | { |
---|
28 | DESIGN_TRANSMODE_LOCAL, |
---|
29 | DESIGN_TRANSMODE_WORLD |
---|
30 | }; |
---|
31 | |
---|
32 | class QDesignViewWidget : public QGLViewerWidget |
---|
33 | { |
---|
34 | Q_OBJECT |
---|
35 | |
---|
36 | public: |
---|
37 | |
---|
38 | QDesignViewWidget(QWidget* pParent=0, const QGLWidget* pSharedWidget=0, Qt::WFlags flags=0); |
---|
39 | virtual ~QDesignViewWidget(); |
---|
40 | |
---|
41 | void setModel(ProjectionModel* pModel); |
---|
42 | |
---|
43 | void setViewMode(DESIGN_VIEWMODE viewMode); |
---|
44 | DESIGN_VIEWMODE getViewMode() const; |
---|
45 | |
---|
46 | void setOpMode(DESIGN_OPMODE opMode); |
---|
47 | DESIGN_OPMODE getOpMode() const; |
---|
48 | |
---|
49 | void setTransMode(DESIGN_TRANSMODE transMode); |
---|
50 | DESIGN_TRANSMODE getTransMode() const; |
---|
51 | |
---|
52 | void setInfoVisible(bool bVisible); |
---|
53 | bool isInfoVisible() const; |
---|
54 | |
---|
55 | void setFont(QFont font); |
---|
56 | QFont getFont() const; |
---|
57 | |
---|
58 | virtual void keyReleaseEvent(QKeyEvent* pEvent); |
---|
59 | |
---|
60 | void processChannelKeyEvent(Channel* pChannel, QKeyEvent* pEvent); |
---|
61 | |
---|
62 | virtual void initFromDOMElement(const QDomElement& element); |
---|
63 | virtual QDomElement domElement(QDomDocument& doc) const; |
---|
64 | |
---|
65 | signals: |
---|
66 | |
---|
67 | void infoVisibilityChanged(bool bVisible); |
---|
68 | |
---|
69 | protected: |
---|
70 | |
---|
71 | virtual void init(); |
---|
72 | virtual void draw(); |
---|
73 | |
---|
74 | protected: |
---|
75 | |
---|
76 | bool m_bInfoVisible; |
---|
77 | |
---|
78 | DESIGN_VIEWMODE m_viewMode; |
---|
79 | DESIGN_OPMODE m_opMode; |
---|
80 | DESIGN_TRANSMODE m_transMode; |
---|
81 | QFont m_infoFont; |
---|
82 | |
---|
83 | ProjectionModel* m_pModel; |
---|
84 | }; |
---|
85 | |
---|
86 | }; // projection |
---|
87 | |
---|
88 | #endif // _QDESIGNVIEWWIDGET_H_ |
---|