X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fmainapp%2Fgraphicview.h;h=90e30b21208b64b3eb30105e0e3ccbb17504c06b;hb=f34fe4370628985ef1a4a4527cfa85165624e27c;hp=94e5be2c50fa4f20a736bedf7e13834ee93fbf87;hpb=c715d05d11ffe2913fe3465ec43d456ee9b85964;p=architektonas diff --git a/src/mainapp/graphicview.h b/src/mainapp/graphicview.h index 94e5be2..90e30b2 100644 --- a/src/mainapp/graphicview.h +++ b/src/mainapp/graphicview.h @@ -8,18 +8,16 @@ #include "rs_snapper.h" #include "vector.h" +class ActionInterface; +class RS_CommandEvent; class Drawing; class PaintInterface; -class RS_EntityContainer; -class RS_ActionInterface; class RS_Entity; -class RS_LineTypePattern; -class RS_CommandEvent; -class Vector; -class RS_Preview; +class RS_EntityContainer; +class RS_EventHandler; class RS_Grid; +class RS_LineTypePattern; class RS_Pen; -class RS_EventHandler; class GraphicView { @@ -87,10 +85,10 @@ class GraphicView void freezeZoom(bool freeze); bool isZoomFrozen(); - void setDefaultAction(RS_ActionInterface * action); - RS_ActionInterface * getDefaultAction(); - void setCurrentAction(RS_ActionInterface * action); - RS_ActionInterface * getCurrentAction(); + void setDefaultAction(ActionInterface * action); + ActionInterface * getDefaultAction(); + void setCurrentAction(ActionInterface * action); + ActionInterface * getCurrentAction(); void killSelectActions(); void killAllActions(); @@ -136,7 +134,6 @@ class GraphicView virtual void drawWindow(Vector v1, Vector v2); virtual void drawIt(); - virtual void deleteEntity(RS_Entity * e); virtual void drawEntity(RS_Entity * e, double patternOffset = 0.0, bool db = false); virtual void drawEntityPlain(RS_Entity * e, double patternOffset = 0.0); virtual void setPenForEntity(RS_Entity * e); @@ -165,6 +162,20 @@ class GraphicView RS2::SnapRestriction getSnapRestriction(); bool isGridOn(); +/* +What to do about this shiatsu? This stuff is used in the snapper rendering +code... Maybe move all the snapper rendering back into this class??? +Seems to make sense, though it kinda blows encapsulation. But it's already +blown by the snapper class having to use these functions in the first place! + +How to fix??? + +The snapper as a separate class makes sense, since it has several functions +for finding various snapping points. But what about rendering??? + +Having this class derive from that one *might* make sense... *Maybe*. Not sure. + +*/ Vector toGui(Vector v); double toGuiX(double x, bool * visible = NULL); double toGuiY(double y); @@ -196,90 +207,60 @@ class GraphicView void setSimulationRapid(bool r); bool getSimulationRapid(); - //this is here because of crappy braindead infrastructure - void SetPreviewMode(bool mode = true); - void SetPreviewEntity(RS_Preview *); - void SetPreviewOffset(Vector); -//We can remove this now... -// void SetSnapperDraw(bool); -// void SetSnapperVars(Vector snapSpot, Vector snapCoord, bool showCrosshairs); - protected: RS_EntityContainer * container; RS_EventHandler * eventHandler; - - int mx; //!< Last known mouse cursor position - int my; //!< Last known mouse cursor position - + int mx; //!< Last known mouse cursor position + int my; //!< Last known mouse cursor position PaintInterface * painter; - /** background color (any color) */ - RS_Color background; - /** foreground color (black or white) */ - RS_Color foreground; - /** grid color */ - RS_Color gridColor; - /** meta grid color */ - RS_Color metaGridColor; - /** selected color */ - RS_Color selectedColor; - /** highlighted color */ - RS_Color highlightedColor; - /** Grid */ - RS_Grid * grid; + RS_Color background; //! background color (any color) + RS_Color foreground; //! foreground color (black or white) + RS_Color gridColor; //! grid color + RS_Color metaGridColor; //! meta grid color + RS_Color selectedColor; //! selected color + RS_Color highlightedColor; //! highlighted color + RS_Grid * grid; //! Grid /** - * Current default snap mode for this graphic view. Used for new - * actions. - */ + * Current default snap mode for this graphic view. Used for new + * actions. + */ RS2::SnapMode defaultSnapMode; /** - * Current default snap restriction for this graphic view. Used for new - * actions. - */ + * Current default snap restriction for this graphic view. Used for new + * actions. + */ RS2::SnapRestriction defaultSnapRes; - RS2::DrawingMode drawingMode; /** - * Delete mode. If true, all drawing actions will delete in background color - * instead. - */ + * Delete mode. If true, all drawing actions will delete in background color + * instead. + */ bool deleteMode; - //! If true, the simulation is currectly running - bool simulationRunning; + bool simulationRunning; //! If true, the simulation is currectly running private: int updateEnabled; bool zoomFrozen; bool draftMode; - Vector factor; int offsetX; int offsetY; - Vector previousFactor; int previousOffsetX; int previousOffsetY; - int borderLeft; int borderTop; int borderRight; int borderBottom; - Vector relativeZero; bool relativeZeroLocked; - //! Print preview flag - bool printPreview; - //! Active when printing only: - bool printing; - - //! Simulation speed in percentage - int simulationSpeed; - //! If true, the entity is drawn slowly (pixel by pixel). - bool simulationSmooth; - //! If true, the way between entities is also shown. - bool simulationRapid; - //! Last position (for rapid move) - Vector simulationLast; + bool printPreview; //! Print preview flag + bool printing; //! Active when printing only: + int simulationSpeed; //! Simulation speed in percentage + bool simulationSmooth; //! If true, the entity is drawn slowly (pixel by pixel). + bool simulationRapid; //! If true, the way between entities is also shown. + Vector simulationLast; //! Last position (for rapid move) public://for now // We use this here instead of deriving ActionInterface from it because @@ -287,40 +268,20 @@ class GraphicView RS_Snapper snapper; RS_Preview preview; - protected: - // crap to make painting with update() possible - RS_Preview * previewEntity; - bool previewMode; - Vector previewOffset; -// bool snapperDraw; -// Vector snapSpot1; -// Vector snapCoord1; -// bool showCrosshairs1; - //QG protected: int lastWidth; int lastHeight; - //! Horizontal scrollbar. - QScrollBar * hScrollBar; - //! Vertical scrollbar. - QScrollBar * vScrollBar; -// //! Layout used to fit in the view and the scrollbars. -// QGridLayout * layout; - //! Label for grid spacing. - QLabel * gridStatus; - //! CAD mouse cursor - QCursor * curCad; - //! Delete mouse cursor - QCursor * curDel; - //! Select mouse cursor - QCursor * curSelect; - //! Magnifying glass mouse cursor - QCursor * curMagnifier; - //! Hand mouse cursor - QCursor * curHand; - -//QC + QScrollBar * hScrollBar; //! Horizontal scrollbar. + QScrollBar * vScrollBar; //! Vertical scrollbar. + QLabel * gridStatus; //! Label for grid spacing. + QCursor * curCad; //! CAD mouse cursor + QCursor * curDel; //! Delete mouse cursor + QCursor * curSelect; //! Select mouse cursor + QCursor * curMagnifier; //! Magnifying glass mouse cursor + QCursor * curHand; //! Hand mouse cursor + +//QC was merged with QG }; #endif // __GRAPHICVIEW_H__