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_DRAG_DROP_EXPORT; 00021 extern bool DEFAULT_SMALL_DIALOGS; 00022 00027 class MainWindowModel : public DocumentModelAbstractBase 00028 { 00029 public: 00031 MainWindowModel(); 00032 00034 MainWindowModel(const MainWindowModel &other); 00035 00037 MainWindowModel &operator=(const MainWindowModel &other); 00038 00040 bool dragDropExport () const; 00041 00042 virtual void loadXml(QXmlStreamReader &reader); 00043 00045 double highlightOpacity() const; 00046 00048 ImportCropping importCropping () const; 00049 00051 QLocale locale() const; 00052 00054 MainTitleBarFormat mainTitleBarFormat () const; 00055 00057 int maximumGridLines () const; 00058 00060 int pdfResolution () const; 00061 00063 void printStream (QString indentation, 00064 QTextStream &str) const; 00065 00066 virtual void saveXml(QXmlStreamWriter &writer) const; 00067 00069 void setDragDropExport (bool dragDropExport); 00070 00072 void setHighlightOpacity (double highlightOpacity); 00073 00075 void setLocale (QLocale::Language language, 00076 QLocale::Country country); 00077 00079 void setLocale (const QLocale &locale); 00080 00082 void setImportCropping (ImportCropping importCropping); 00083 00085 void setMainTitleBarFormat (MainTitleBarFormat mainTitleBarFormat); 00086 00088 void setMaximumGridLines (int maximumGridLines); 00089 00091 void setPdfResolution (int resolution); 00092 00094 void setSmallDialogs (bool smallDialogs); 00095 00097 void setZoomControl (ZoomControl zoomControl); 00098 00100 void setZoomFactorInitial (ZoomFactorInitial zoomFactorInitial); 00101 00103 bool smallDialogs () const; 00104 00106 ZoomControl zoomControl () const; 00107 00109 ZoomFactorInitial zoomFactorInitial () const; 00110 00111 private: 00112 00113 QLocale m_locale; 00114 ZoomControl m_zoomControl; 00115 ZoomFactorInitial m_zoomFactorInitial; 00116 MainTitleBarFormat m_mainTitleBarFormat; 00117 int m_pdfResolution; 00118 ImportCropping m_importCropping; 00119 int m_maximumGridLines; 00120 double m_highlightOpacity; 00121 bool m_smallDialogs; 00122 bool m_dragDropExport; 00123 00124 }; 00125 00126 #endif // MAIN_WINDOW_MODEL_H