00001 /****************************************************************************************************** 00002 * (C) 2014 markummitchell@github.com. This file is part of Engauge Digitizer, which is released * 00003 * under GNU General Public License version 2 (GPLv2) or (at your option) any later version. See file * 00004 * LICENSE or go to gnu.org/licenses for details. Distribution requires prior written permission. * 00005 ******************************************************************************************************/ 00006 00007 #ifndef DOCUMENT_MODEL_DIGITIZE_CURVE_H 00008 #define DOCUMENT_MODEL_DIGITIZE_CURVE_H 00009 00010 #include "CursorSize.h" 00011 #include "DocumentModelAbstractBase.h" 00012 00013 class Document; 00014 class QTextStream; 00015 00018 class DocumentModelDigitizeCurve : public DocumentModelAbstractBase 00019 { 00020 public: 00022 DocumentModelDigitizeCurve(); 00023 00025 DocumentModelDigitizeCurve(const Document &document); 00026 00028 DocumentModelDigitizeCurve(const DocumentModelDigitizeCurve &other); 00029 00031 DocumentModelDigitizeCurve &operator=(const DocumentModelDigitizeCurve &other); 00032 00034 int cursorInnerRadius () const; 00035 00037 int cursorLineWidth () const; 00038 00040 CursorSize cursorSize () const; 00041 00043 bool cursorStandardCross () const; 00044 00045 virtual void loadXml(QXmlStreamReader &reader); 00046 00048 void printStream (QString indentation, 00049 QTextStream &str) const; 00050 00051 virtual void saveXml(QXmlStreamWriter &writer) const; 00052 00054 void setCursorInnerRadius (int innerRadius); 00055 00057 void setCursorLineWidth (int lineWidth); 00058 00060 void setCursorSize (CursorSize cursorSize); 00061 00063 void setCursorStandardCross (bool cursorStandardCross); 00064 00065 private: 00066 00067 bool m_cursorStandardCross; 00068 int m_cursorInnerRadius; 00069 int m_cursorLineWidth; 00070 CursorSize m_cursorSize; 00071 }; 00072 00073 #endif // DOCUMENT_MODEL_DIGITIZE_CURVE_H