[4] | 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_ |
---|