]> Shamusworld >> Repos - architektonas/blob - src/drawingview.h
cd76d1e9aba034be6e7e93ce335280bc42e48530
[architektonas] / src / drawingview.h
1 #ifndef __DRAWINGVIEW_H__
2 #define __DRAWINGVIEW_H__
3
4 #include <QtGui>
5 #include <stdint.h>
6 #include "action.h"
7 #include "container.h"
8
9 class DrawingView: public QWidget
10 {
11         Q_OBJECT
12
13         public:
14                 DrawingView(QWidget * parent = NULL);
15
16         public:
17                 void SetRotateToolActive(bool state = true);
18                 void SetAddLineToolActive(bool state = true);
19                 void SetAddCircleToolActive(bool state = true);
20                 void SetAddDimensionToolActive(bool state = true);
21                 void UpdateGridBackground(void);
22
23         public slots:
24                 void AddNewObjectToDocument(Object *);
25
26         protected:
27                 void paintEvent(QPaintEvent * event);
28                 void mousePressEvent(QMouseEvent * event);
29                 void mouseMoveEvent(QMouseEvent * event);
30                 void mouseReleaseEvent(QMouseEvent * event);
31
32         private:
33                 QPoint GetAdjustedMousePosition(QMouseEvent * event);
34                 QPoint GetAdjustedClientPosition(int x, int y);
35
36         public:
37                 bool useAntialiasing;
38
39         private:
40 //              QBrush * backgroundBrush;
41                 QPixmap gridBackground;
42                 double scale;                                                   // Window scaling factor
43                 int32_t offsetX, offsetY;                               // Window offsets
44         public:
45                 Container document;
46                 double gridSpacing;
47         private:
48                 bool collided;
49 //Should this go into Object's class variables???
50                 bool rotateTool;
51                 double rx, ry;
52                 bool scrollDrag;
53                 Vector oldPoint;
54                 bool addLineTool;
55                 bool addCircleTool;
56                 bool addDimensionTool;
57 //              bool selectionInProgress;
58 //              QRectF selection;
59
60         public:
61                 Action * toolAction;
62 };
63
64 #endif  // __DRAWINGVIEW_H__