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_GENERAL_H 00008 #define DOCUMENT_MODEL_GENERAL_H 00009 00010 #include "DocumentModelAbstractBase.h" 00011 00012 class Document; 00013 class QTextStream; 00014 00016 class DocumentModelGeneral : public DocumentModelAbstractBase 00017 { 00018 public: 00020 DocumentModelGeneral(); 00021 00023 DocumentModelGeneral(const Document &document); 00024 00026 DocumentModelGeneral(const DocumentModelGeneral &other); 00027 00029 DocumentModelGeneral &operator=(const DocumentModelGeneral &other); 00030 00032 int cursorSize() const; 00033 00035 int extraPrecision () const; 00036 00037 virtual void loadXml(QXmlStreamReader &reader); 00038 00040 void printStream (QString indentation, 00041 QTextStream &str) const; 00042 00043 virtual void saveXml(QXmlStreamWriter &writer) const; 00044 00046 void setCursorSize (int cursorSize); 00047 00049 void setExtraPrecision (int extraPrecision); 00050 00051 private: 00052 00053 int m_cursorSize; 00054 int m_extraPrecision; 00055 }; 00056 00057 #endif // DOCUMENT_MODEL_GENERAL_H