Engauge Digitizer 2
Loading...
Searching...
No Matches
DocumentModelGeneral.cpp
Go to the documentation of this file.
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"
9#include "DocumentSerialize.h"
10#include "Logger.h"
11#include <QObject>
12#include <QSettings>
13#include <QTextStream>
14#include "QtToString.h"
15#include <QXmlStreamWriter>
16#include "Settings.h"
17#include "Xml.h"
18
19const int DEFAULT_CURSOR_SIZE = 3;
21
35
37 m_cursorSize (document.modelGeneral().cursorSize()),
38 m_extraPrecision (document.modelGeneral().extraPrecision())
39{
40}
41
43 m_cursorSize (other.cursorSize()),
44 m_extraPrecision (other.extraPrecision())
45{
46}
47
49{
50 m_cursorSize = other.cursorSize();
51 m_extraPrecision = other.extraPrecision();
52
53 return *this;
54}
55
57{
58 return m_cursorSize;
59}
60
62{
63 return m_extraPrecision;
64}
65
67{
68 LOG4CPP_INFO_S ((*mainCat)) << "DocumentModelGeneral::loadXml";
69
70 bool success = true;
71
73
76
79
80 // Read until end of this subtree
81 while ((reader.tokenType() != QXmlStreamReader::EndElement) ||
85 if (reader.atEnd()) {
86 success = false;
87 break;
88 }
89 }
90 }
91
92 if (!success) {
93 reader.raiseError (QObject::tr ("Cannot read general data"));
94 }
95}
96
98 QTextStream &str) const
99{
100 str << indentation << "DocumentModelGeneral\n";
101
103
104 str << indentation << "cursorSize=" << m_cursorSize << "\n";
105 str << indentation << "extraPrecision=" << m_extraPrecision << "\n";
106}
107
109{
110 LOG4CPP_INFO_S ((*mainCat)) << "DocumentModelGeneral::saveXml";
111
112 writer.writeStartElement(DOCUMENT_SERIALIZE_GENERAL);
113 writer.writeAttribute(DOCUMENT_SERIALIZE_GENERAL_CURSOR_SIZE, QString::number (m_cursorSize));
114 writer.writeAttribute(DOCUMENT_SERIALIZE_GENERAL_EXTRA_PRECISION, QString::number (m_extraPrecision));
115 writer.writeEndElement();
116}
117
119{
120 m_cursorSize = cursorSize;
121}
122
124{
125 m_extraPrecision = extraPrecision;
126}
const int INNER_RADIUS_MIN
const CursorSize DEFAULT_CURSOR_SIZE
const int DEFAULT_CURSOR_SIZE
const int DEFAULT_EXTRA_PRECISION
const QString DOCUMENT_SERIALIZE_GENERAL_CURSOR_SIZE
const QString DOCUMENT_SERIALIZE_COMMON
const QString DOCUMENT_SERIALIZE_GENERAL_EXTRA_PRECISION
const QString DOCUMENT_SERIALIZE_GENERAL
log4cpp::Category * mainCat
Definition Logger.cpp:14
const QString INDENTATION_DELTA
const QString SETTINGS_ENGAUGE
const QString SETTINGS_GROUP_GENERAL
const QString SETTINGS_GENERAL_CURSOR_SIZE
const QString SETTINGS_GENERAL_EXTRA_PRECISION
const QString SETTINGS_DIGITIZER
QXmlStreamReader::TokenType loadNextFromReader(QXmlStreamReader &reader)
Load next token from xml reader.
Definition Xml.cpp:14
Model for DlgSettingsGeneral and CmdSettingsGeneral.
virtual void saveXml(QXmlStreamWriter &writer) const
Save entire model as xml into stream.
void setCursorSize(int cursorSize)
Set method for effective cursor size.
virtual void loadXml(QXmlStreamReader &reader)
Load model from serialized xml.
void setExtraPrecision(int extraPrecision)
Set method for extra digits of precision.
void printStream(QString indentation, QTextStream &str) const
Debugging method that supports print method of this class and printStream method of some other class(...
DocumentModelGeneral & operator=(const DocumentModelGeneral &other)
Assignment constructor.
DocumentModelGeneral()
Default constructor.
int extraPrecision() const
Get method for extra digits of precsion.
int cursorSize() const
Get method for effective cursor size.
Storage of one imported image and the data attached to that image.
Definition Document.h:42
#define LOG4CPP_INFO_S(logger)
Definition convenience.h:18