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 MAIN_WINDOW_MODEL_H 00008 #define MAIN_WINDOW_MODEL_H 00009 00010 #include "DocumentModelAbstractBase.h" 00011 #include "ImportCropping.h" 00012 #include "MainTitleBarFormat.h" 00013 #include <QLocale> 00014 #include <QString> 00015 #include "ZoomControl.h" 00016 #include "ZoomFactorInitial.h" 00017 00018 class QTextStream; 00019 00020 extern bool DEFAULT_SMALL_DIALOGS; 00021 00026 class MainWindowModel : public DocumentModelAbstractBase 00027 { 00028 public: 00030 MainWindowModel(); 00031 00033 MainWindowModel(const MainWindowModel &other); 00034 00036 MainWindowModel &operator=(const MainWindowModel &other); 00037 00038 virtual void loadXml(QXmlStreamReader &reader); 00039 00041 double highlightOpacity() const; 00042 00044 ImportCropping importCropping () const; 00045 00047 QLocale locale() const; 00048 00050 MainTitleBarFormat mainTitleBarFormat () const; 00051 00053 int maximumGridLines () const; 00054 00056 int pdfResolution () const; 00057 00059 void printStream (QString indentation, 00060 QTextStream &str) const; 00061 00062 virtual void saveXml(QXmlStreamWriter &writer) const; 00063 00065 void setHighlightOpacity (double highlightOpacity); 00066 00068 void setLocale (QLocale::Language language, 00069 QLocale::Country country); 00070 00072 void setLocale (const QLocale &locale); 00073 00075 void setImportCropping (ImportCropping importCropping); 00076 00078 void setMainTitleBarFormat (MainTitleBarFormat mainTitleBarFormat); 00079 00081 void setMaximumGridLines (int maximumGridLines); 00082 00084 void setPdfResolution (int resolution); 00085 00087 void setSmallDialogs (bool smallDialogs); 00088 00090 void setZoomControl (ZoomControl zoomControl); 00091 00093 void setZoomFactorInitial (ZoomFactorInitial zoomFactorInitial); 00094 00096 bool smallDialogs () const; 00097 00099 ZoomControl zoomControl () const; 00100 00102 ZoomFactorInitial zoomFactorInitial () const; 00103 00104 private: 00105 00106 QLocale m_locale; 00107 ZoomControl m_zoomControl; 00108 ZoomFactorInitial m_zoomFactorInitial; 00109 MainTitleBarFormat m_mainTitleBarFormat; 00110 int m_pdfResolution; 00111 ImportCropping m_importCropping; 00112 int m_maximumGridLines; 00113 double m_highlightOpacity; 00114 bool m_smallDialogs; 00115 00116 }; 00117 00118 #endif // MAIN_WINDOW_MODEL_H