]> Shamusworld >> Repos - architektonas/blobdiff - src/drawingview.h
Fixes for grid background drawing of arbitrary size.
[architektonas] / src / drawingview.h
index c7f7c3a3832d0e7aed65c568d0967cccb830996a..888737eb82286b38d3b2fbfe75151828da08e1d3 100644 (file)
@@ -3,6 +3,7 @@
 
 #include <QtGui>
 #include <stdint.h>
+#include "action.h"
 #include "container.h"
 
 class DrawingView: public QWidget
@@ -12,8 +13,20 @@ class DrawingView: public QWidget
        public:
                DrawingView(QWidget * parent = NULL);
 
+       public:
+               void SetRotateToolActive(bool state = true);
+               void SetAddLineToolActive(bool state = true);
+               void SetAddCircleToolActive(bool state = true);
+               void SetAddDimensionToolActive(bool state = true);
+               void SetGridSize(uint32_t);
+               void UpdateGridBackground(void);
+
+       public slots:
+               void AddNewObjectToDocument(Object *);
+
        protected:
                void paintEvent(QPaintEvent * event);
+               void resizeEvent(QResizeEvent * event);
                void mousePressEvent(QMouseEvent * event);
                void mouseMoveEvent(QMouseEvent * event);
                void mouseReleaseEvent(QMouseEvent * event);
@@ -22,30 +35,34 @@ class DrawingView: public QWidget
                QPoint GetAdjustedMousePosition(QMouseEvent * event);
                QPoint GetAdjustedClientPosition(int x, int y);
 
+       public:
+               bool useAntialiasing;
+
        private:
+//             QBrush * backgroundBrush;
+               QPixmap gridBackground;
                double scale;                                                   // Window scaling factor
                int32_t offsetX, offsetY;                               // Window offsets
+       public:
                Container document;
-               double gridSpacing;
-               bool collided;
-/*             QSize minimumSizeHint() const;
-               QSize sizeHint() const;
-
+               double gridSpacing;                                             // Grid spacing in base units
+               uint32_t gridPixels;                                    // Grid size in pixels
+//             double gridBaseUnits;                                   // Grid size in base units
        private:
-               void CreateCursors(void);
-               QPoint GetAdjustedMousePosition(QMouseEvent * event);
-               QPoint GetAdjustedClientPosition(int x, int y);
-
-               QImage image;
-               QPoint pt, ptOffset, ptPrevious;
-               ToolType tool;                                                  // Current tool
-               GlyphPoints pts;                                                // Glyph point structure
-               int32 ptHighlight, oldPtHighlight, ptNextHighlight, oldPtNextHighlight;
-               bool polyFirstPoint;
+               bool collided;
+//Should this go into Object's class variables???
+               bool rotateTool;
+               double rx, ry;
+               bool scrollDrag;
+               Vector oldPoint;
+               bool addLineTool;
+               bool addCircleTool;
+               bool addDimensionTool;
+//             bool selectionInProgress;
+//             QRectF selection;
 
-               ToolWindow * toolPalette;
-               QCursor cur[8];
-*/
+       public:
+               Action * toolAction;
 };
 
 #endif // __DRAWINGVIEW_H__