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_AXES_CHECKER_H 00008 #define DOCUMENT_MODEL_AXES_CHECKER_H 00009 00010 #include "ColorPalette.h" 00011 #include "DocumentModelAbstractBase.h" 00012 #include "CheckerMode.h" 00013 00014 class Document; 00015 class QTextStream; 00016 00018 class DocumentModelAxesChecker : public DocumentModelAbstractBase 00019 { 00020 public: 00022 DocumentModelAxesChecker(); 00023 00025 DocumentModelAxesChecker(const Document &document); 00026 00028 DocumentModelAxesChecker(const DocumentModelAxesChecker &other); 00029 00031 DocumentModelAxesChecker &operator=(const DocumentModelAxesChecker &other); 00032 00034 CheckerMode checkerMode() const; 00035 00037 int checkerSeconds() const; 00038 00040 ColorPalette lineColor () const; 00041 00042 virtual void loadXml(QXmlStreamReader &reader); 00043 00045 void printStream (QString indentation, 00046 QTextStream &str) const; 00047 00048 virtual void saveXml(QXmlStreamWriter &writer) const; 00049 00051 void setCheckerMode (CheckerMode checkerMode); 00052 00054 void setCheckerSeconds (int seconds); 00055 00057 void setLineColor (ColorPalette lineColor); 00058 00059 private: 00060 00061 CheckerMode m_checkerMode; 00062 int m_checkerSeconds; // Time interval for CHECKER_MODE_N_SECONDS 00063 ColorPalette m_lineColor; 00064 }; 00065 00066 #endif // DOCUMENT_MODEL_AXES_CHECKER_H