Engauge Digitizer 2
Loading...
Searching...
No Matches
DocumentModelGeneral Class Reference

Model for DlgSettingsGeneral and CmdSettingsGeneral. More...

#include <DocumentModelGeneral.h>

Inheritance diagram for DocumentModelGeneral:
Inheritance graph
Collaboration diagram for DocumentModelGeneral:
Collaboration graph

Public Member Functions

 DocumentModelGeneral ()
 Default constructor.
 DocumentModelGeneral (const Document &document)
 Initial constructor from Document.
 DocumentModelGeneral (const DocumentModelGeneral &other)
 Copy constructor.
DocumentModelGeneraloperator= (const DocumentModelGeneral &other)
 Assignment constructor.
int cursorSize () const
 Get method for effective cursor size.
int extraPrecision () const
 Get method for extra digits of precsion.
virtual void loadXml (QXmlStreamReader &reader)
 Load model from serialized xml.
void printStream (QString indentation, QTextStream &str) const
 Debugging method that supports print method of this class and printStream method of some other class(es)
virtual void saveXml (QXmlStreamWriter &writer) const
 Save entire model as xml into stream.
void setCursorSize (int cursorSize)
 Set method for effective cursor size.
void setExtraPrecision (int extraPrecision)
 Set method for extra digits of precision.
Public Member Functions inherited from DocumentModelAbstractBase
 DocumentModelAbstractBase ()
 Single constructor.
virtual ~DocumentModelAbstractBase ()
 Single destructor.

Detailed Description

Model for DlgSettingsGeneral and CmdSettingsGeneral.

Definition at line 16 of file DocumentModelGeneral.h.

Constructor & Destructor Documentation

◆ DocumentModelGeneral() [1/3]

DocumentModelGeneral::DocumentModelGeneral ( )

Default constructor.

Definition at line 22 of file DocumentModelGeneral.cpp.

22 :
23 m_cursorSize (DEFAULT_CURSOR_SIZE),
24 m_extraPrecision (DEFAULT_EXTRA_PRECISION)
25{
26 QSettings settings (SETTINGS_ENGAUGE, SETTINGS_DIGITIZER);
27 settings.beginGroup (SETTINGS_GROUP_GENERAL);
28
29 m_cursorSize = settings.value (SETTINGS_GENERAL_CURSOR_SIZE,
30 QVariant (DEFAULT_CURSOR_SIZE)).toInt();
31 m_extraPrecision = settings.value (SETTINGS_GENERAL_EXTRA_PRECISION,
32 QVariant (DEFAULT_EXTRA_PRECISION)).toInt();
33 settings.endGroup ();
34}
const CursorSize DEFAULT_CURSOR_SIZE
const int DEFAULT_EXTRA_PRECISION
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

◆ DocumentModelGeneral() [2/3]

DocumentModelGeneral::DocumentModelGeneral ( const Document & document)

Initial constructor from Document.

Definition at line 36 of file DocumentModelGeneral.cpp.

36 :
37 m_cursorSize (document.modelGeneral().cursorSize()),
38 m_extraPrecision (document.modelGeneral().extraPrecision())
39{
40}
int extraPrecision() const
Get method for extra digits of precsion.
int cursorSize() const
Get method for effective cursor size.
DocumentModelGeneral modelGeneral() const
Get method for DocumentModelGeneral.
Definition Document.cpp:735

◆ DocumentModelGeneral() [3/3]

DocumentModelGeneral::DocumentModelGeneral ( const DocumentModelGeneral & other)

Copy constructor.

Definition at line 42 of file DocumentModelGeneral.cpp.

42 :
43 m_cursorSize (other.cursorSize()),
44 m_extraPrecision (other.extraPrecision())
45{
46}

Member Function Documentation

◆ cursorSize()

int DocumentModelGeneral::cursorSize ( ) const

Get method for effective cursor size.

Definition at line 56 of file DocumentModelGeneral.cpp.

57{
58 return m_cursorSize;
59}

◆ extraPrecision()

int DocumentModelGeneral::extraPrecision ( ) const

Get method for extra digits of precsion.

Definition at line 61 of file DocumentModelGeneral.cpp.

62{
63 return m_extraPrecision;
64}

◆ loadXml()

void DocumentModelGeneral::loadXml ( QXmlStreamReader & reader)
virtual

Load model from serialized xml.

Implements DocumentModelAbstractBase.

Definition at line 66 of file DocumentModelGeneral.cpp.

67{
68 LOG4CPP_INFO_S ((*mainCat)) << "DocumentModelGeneral::loadXml";
69
70 bool success = true;
71
72 QXmlStreamAttributes attributes = reader.attributes();
73
74 if (attributes.hasAttribute(DOCUMENT_SERIALIZE_GENERAL_CURSOR_SIZE) &&
75 attributes.hasAttribute(DOCUMENT_SERIALIZE_GENERAL_EXTRA_PRECISION)) {
76
77 setCursorSize (attributes.value(DOCUMENT_SERIALIZE_GENERAL_CURSOR_SIZE).toInt());
79
80 // Read until end of this subtree
81 while ((reader.tokenType() != QXmlStreamReader::EndElement) ||
82 (reader.name() != DOCUMENT_SERIALIZE_GENERAL &&
83 reader.name() != DOCUMENT_SERIALIZE_COMMON)){
84 loadNextFromReader(reader);
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}
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
QXmlStreamReader::TokenType loadNextFromReader(QXmlStreamReader &reader)
Load next token from xml reader.
Definition Xml.cpp:14
void setCursorSize(int cursorSize)
Set method for effective cursor size.
void setExtraPrecision(int extraPrecision)
Set method for extra digits of precision.
#define LOG4CPP_INFO_S(logger)
Definition convenience.h:18

◆ operator=()

DocumentModelGeneral & DocumentModelGeneral::operator= ( const DocumentModelGeneral & other)

Assignment constructor.

Definition at line 48 of file DocumentModelGeneral.cpp.

49{
50 m_cursorSize = other.cursorSize();
51 m_extraPrecision = other.extraPrecision();
52
53 return *this;
54}

◆ printStream()

void DocumentModelGeneral::printStream ( QString indentation,
QTextStream & str ) const

Debugging method that supports print method of this class and printStream method of some other class(es)

Definition at line 97 of file DocumentModelGeneral.cpp.

99{
100 str << indentation << "DocumentModelGeneral\n";
101
102 indentation += INDENTATION_DELTA;
103
104 str << indentation << "cursorSize=" << m_cursorSize << "\n";
105 str << indentation << "extraPrecision=" << m_extraPrecision << "\n";
106}
const QString INDENTATION_DELTA

◆ saveXml()

void DocumentModelGeneral::saveXml ( QXmlStreamWriter & writer) const
virtual

Save entire model as xml into stream.

Implements DocumentModelAbstractBase.

Definition at line 108 of file DocumentModelGeneral.cpp.

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}

◆ setCursorSize()

void DocumentModelGeneral::setCursorSize ( int cursorSize)

Set method for effective cursor size.

Definition at line 118 of file DocumentModelGeneral.cpp.

119{
120 m_cursorSize = cursorSize;
121}

◆ setExtraPrecision()

void DocumentModelGeneral::setExtraPrecision ( int extraPrecision)

Set method for extra digits of precision.

Definition at line 123 of file DocumentModelGeneral.cpp.

124{
125 m_extraPrecision = extraPrecision;
126}

The documentation for this class was generated from the following files: