Engauge Digitizer 2
Loading...
Searching...
No Matches
MainWindowModel.cpp
1/******************************************************************************************************
2 * (C) 2014 markummitchell@github.com. This file is part of Engauge Digitizer, which is released *
3 * under GNU General Public License version 2 (GPLv2) or (at your option) any later version. See file *
4 * LICENSE or go to gnu.org/licenses for details. Distribution requires prior written permission. *
5 ******************************************************************************************************/
6
7#include "CmdMediator.h"
8#include "DocumentSerialize.h"
9#include "Logger.h"
10#include "MainWindowModel.h"
11#include <QLocale>
12#include <QObject>
13#include <QTextStream>
14#include "QtToString.h"
15#include <QXmlStreamWriter>
16#include "Xml.h"
17#include "ZoomFactorInitial.h"
18
20 m_zoomControl (ZOOM_CONTROL_MENU_WHEEL_PLUSMINUS),
21 m_zoomFactorInitial (DEFAULT_ZOOM_FACTOR_INITIAL),
22 m_mainTitleBarFormat (MAIN_TITLE_BAR_FORMAT_PATH)
23{
24 // Locale member variable m_locale is initialized to default locale when default constructor is called
25}
26
28 m_locale (other.locale()),
29 m_zoomControl (other.zoomControl()),
30 m_zoomFactorInitial (other.zoomFactorInitial()),
31 m_mainTitleBarFormat (other.mainTitleBarFormat())
32{
33}
34
36{
37 m_locale = other.locale();
38 m_zoomControl = other.zoomControl();
39 m_zoomFactorInitial = other.zoomFactorInitial();
40 m_mainTitleBarFormat = other.mainTitleBarFormat();
41
42 return *this;
43}
44
45void MainWindowModel::loadXml(QXmlStreamReader &reader)
46{
47 LOG4CPP_INFO_S ((*mainCat)) << "MainWindowModel::loadXml";
48
49 bool success = true;
50
51 // Read until end of this subtree
52 while ((reader.tokenType() != QXmlStreamReader::EndElement) ||
53 (reader.name() != DOCUMENT_SERIALIZE_MAIN_WINDOW)){
54 loadNextFromReader(reader);
55 if (reader.atEnd()) {
56 success = false;
57 break;
58 }
59 }
60
61 if (!success) {
62 reader.raiseError (QObject::tr ("Cannot read main window data"));
63 }
64}
65
67{
68 return m_locale;
69}
70
71MainTitleBarFormat MainWindowModel::mainTitleBarFormat() const
72{
73 return m_mainTitleBarFormat;
74}
75
76void MainWindowModel::printStream(QString indentation,
77 QTextStream &str) const
78{
79 str << indentation << "MainWindowModel\n";
80
81 indentation += INDENTATION_DELTA;
82
83 str << indentation << "locale=" << m_locale.name() << "\n";
84 str << indentation << "zoomControl=" << m_zoomControl << "\n";
85 str << indentation << "zoomFactorInitial=" << m_zoomFactorInitial << "\n";
86 str << indentation << "mainWindowTitleBarFormat=" << (m_mainTitleBarFormat == MAIN_TITLE_BAR_FORMAT_NO_PATH ?
87 "NoPath" :
88 "Path");
89}
90
91void MainWindowModel::saveXml(QXmlStreamWriter &writer) const
92{
93 LOG4CPP_INFO_S ((*mainCat)) << "MainWindowModel::saveXml";
94
95 writer.writeStartElement(DOCUMENT_SERIALIZE_MAIN_WINDOW);
96 writer.writeEndElement();
97}
98
99void MainWindowModel::setLocale (QLocale::Language language,
100 QLocale::Country country)
101{
102 QLocale locale (language,
103 country);
104
105 m_locale = locale;
106}
107
108void MainWindowModel::setLocale (const QLocale &locale)
109{
110 m_locale = locale;
111}
112
113void MainWindowModel::setMainTitleBarFormat(MainTitleBarFormat mainTitleBarFormat)
114{
115 m_mainTitleBarFormat = mainTitleBarFormat;
116}
117
118void MainWindowModel::setZoomControl (ZoomControl zoomControl)
119{
120 m_zoomControl = zoomControl;
121}
122
123void MainWindowModel::setZoomFactorInitial(ZoomFactorInitial zoomFactorInitial)
124{
125 m_zoomFactorInitial = zoomFactorInitial;
126}
127
129{
130 return m_zoomControl;
131}
132
133ZoomFactorInitial MainWindowModel::zoomFactorInitial() const
134{
135 return m_zoomFactorInitial;
136}
Model for DlgSettingsMainWindow.
virtual void saveXml(QXmlStreamWriter &writer) const
Save entire model as xml into stream.
QLocale locale() const
Get method for locale.
MainWindowModel()
Default constructor.
MainWindowModel & operator=(const MainWindowModel &other)
Assignment constructor.
ZoomFactorInitial zoomFactorInitial() const
Get method for initial zoom factor.
void setMainTitleBarFormat(MainTitleBarFormat mainTitleBarFormat)
Set method for MainWindow titlebar filename format.
void printStream(QString indentation, QTextStream &str) const
Debugging method that supports print method of this class and printStream method of some other class(...
void setZoomControl(ZoomControl zoomControl)
Set method for zoom control.
ZoomControl zoomControl() const
Get method for zoom control.
virtual void loadXml(QXmlStreamReader &reader)
Load model from serialized xml.
void setZoomFactorInitial(ZoomFactorInitial zoomFactorInitial)
Set method for initial zoom factor.
MainTitleBarFormat mainTitleBarFormat() const
Get method for MainWindow titlebar filename format.
void setLocale(QLocale::Language language, QLocale::Country country)
Set method for locale given attributes.