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

Model for DlgSettingsDigitizeCurve and CmdSettingsDigitizeCurve. More...

#include <DocumentModelDigitizeCurve.h>

Inheritance diagram for DocumentModelDigitizeCurve:
Inheritance graph
Collaboration diagram for DocumentModelDigitizeCurve:
Collaboration graph

Public Member Functions

 DocumentModelDigitizeCurve ()
 Default constructor.
 DocumentModelDigitizeCurve (const Document &document)
 Initial constructor from Document.
 DocumentModelDigitizeCurve (const DocumentModelDigitizeCurve &other)
 Copy constructor.
DocumentModelDigitizeCurveoperator= (const DocumentModelDigitizeCurve &other)
 Assignment constructor.
int cursorInnerRadius () const
 Get method for cursor inner radius.
int cursorLineWidth () const
 Get method for cursor line width.
CursorSize cursorSize () const
 Get method for cursor size.
bool cursorStandardCross () const
 Get method for cursor type.
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 setCursorInnerRadius (int innerRadius)
 Set method for cursor inner radius.
void setCursorLineWidth (int lineWidth)
 Set method for cursor line width.
void setCursorSize (CursorSize cursorSize)
 Set method for cursor size.
void setCursorStandardCross (bool cursorStandardCross)
 Set method for cursor type.
Public Member Functions inherited from DocumentModelAbstractBase
 DocumentModelAbstractBase ()
 Single constructor.
virtual ~DocumentModelAbstractBase ()
 Single destructor.

Detailed Description

Model for DlgSettingsDigitizeCurve and CmdSettingsDigitizeCurve.

No color is involved because the documentation in QCursor suggests that not all platforms support colored cursors

Definition at line 18 of file DocumentModelDigitizeCurve.h.

Constructor & Destructor Documentation

◆ DocumentModelDigitizeCurve() [1/3]

DocumentModelDigitizeCurve::DocumentModelDigitizeCurve ( )

Default constructor.

Definition at line 21 of file DocumentModelDigitizeCurve.cpp.

21 :
22 m_cursorStandardCross (DEFAULT_CURSOR_STANDARD_CROSS),
23 m_cursorInnerRadius (DEFAULT_CURSOR_INNER_RADIUS),
24 m_cursorLineWidth (DEFAULT_CURSOR_LINE_WIDTH),
25 m_cursorSize (DEFAULT_CURSOR_SIZE)
26{
27}
const int DEFAULT_CURSOR_LINE_WIDTH
const CursorSize DEFAULT_CURSOR_SIZE
const int DEFAULT_CURSOR_INNER_RADIUS
const bool DEFAULT_CURSOR_STANDARD_CROSS

◆ DocumentModelDigitizeCurve() [2/3]

DocumentModelDigitizeCurve::DocumentModelDigitizeCurve ( const Document & document)

Initial constructor from Document.

Definition at line 29 of file DocumentModelDigitizeCurve.cpp.

29 :
30 m_cursorStandardCross (document.modelDigitizeCurve().cursorStandardCross()),
31 m_cursorInnerRadius (document.modelDigitizeCurve().cursorInnerRadius()),
32 m_cursorLineWidth (document.modelDigitizeCurve().cursorLineWidth()),
33 m_cursorSize (document.modelDigitizeCurve().cursorSize())
34{
35}
CursorSize cursorSize() const
Get method for cursor size.
int cursorInnerRadius() const
Get method for cursor inner radius.
bool cursorStandardCross() const
Get method for cursor type.
int cursorLineWidth() const
Get method for cursor line width.
DocumentModelDigitizeCurve modelDigitizeCurve() const
Get method for DocumentModelDigitizeCurve.
Definition Document.cpp:721

◆ DocumentModelDigitizeCurve() [3/3]

DocumentModelDigitizeCurve::DocumentModelDigitizeCurve ( const DocumentModelDigitizeCurve & other)

Copy constructor.

Definition at line 37 of file DocumentModelDigitizeCurve.cpp.

37 :
38 m_cursorStandardCross (other.cursorStandardCross()),
39 m_cursorInnerRadius (other.cursorInnerRadius()),
40 m_cursorLineWidth (other.cursorLineWidth()),
41 m_cursorSize (other.cursorSize ())
42{
43}

Member Function Documentation

◆ cursorInnerRadius()

int DocumentModelDigitizeCurve::cursorInnerRadius ( ) const

Get method for cursor inner radius.

Definition at line 55 of file DocumentModelDigitizeCurve.cpp.

56{
57 return m_cursorInnerRadius;
58}

◆ cursorLineWidth()

int DocumentModelDigitizeCurve::cursorLineWidth ( ) const

Get method for cursor line width.

Definition at line 60 of file DocumentModelDigitizeCurve.cpp.

61{
62 return m_cursorLineWidth;
63}

◆ cursorSize()

CursorSize DocumentModelDigitizeCurve::cursorSize ( ) const

Get method for cursor size.

Definition at line 65 of file DocumentModelDigitizeCurve.cpp.

66{
67 return m_cursorSize;
68}

◆ cursorStandardCross()

bool DocumentModelDigitizeCurve::cursorStandardCross ( ) const

Get method for cursor type.

Definition at line 70 of file DocumentModelDigitizeCurve.cpp.

71{
72 return m_cursorStandardCross;
73}

◆ loadXml()

void DocumentModelDigitizeCurve::loadXml ( QXmlStreamReader & reader)
virtual

Load model from serialized xml.

Implements DocumentModelAbstractBase.

Definition at line 75 of file DocumentModelDigitizeCurve.cpp.

76{
77 LOG4CPP_INFO_S ((*mainCat)) << "DocumentModelDigitizeCurve::loadXml";
78
79 bool success = true;
80
81 QXmlStreamAttributes attributes = reader.attributes();
82
83 if (attributes.hasAttribute(DOCUMENT_SERIALIZE_DIGITIZE_CURVE_CURSOR_INNER_RADIUS) &&
85 attributes.hasAttribute(DOCUMENT_SERIALIZE_DIGITIZE_CURVE_CURSOR_SIZE) &&
87
88 // Boolean values
89 QString standardCrossValue = attributes.value(DOCUMENT_SERIALIZE_DIGITIZE_CURVE_CURSOR_STANDARD_CROSS).toString();
90
93 setCursorSize (static_cast<CursorSize> (attributes.value(DOCUMENT_SERIALIZE_DIGITIZE_CURVE_CURSOR_SIZE).toInt()));
95
96 // Read until end of this subtree
97 while ((reader.tokenType() != QXmlStreamReader::EndElement) ||
98 (reader.name() != DOCUMENT_SERIALIZE_DIGITIZE_CURVE)){
99 loadNextFromReader(reader);
100 if (reader.atEnd()) {
101 success = false;
102 break;
103 }
104 }
105 }
106
107 if (!success) {
108 reader.raiseError (QObject::tr ("Cannot read digitize curve data"));
109 }
110}
CursorSize
Custom cursor sizes supported on all platforms for the most part, according to QCursor documentation.
Definition CursorSize.h:11
const QString DOCUMENT_SERIALIZE_DIGITIZE_CURVE_CURSOR_LINE_WIDTH
const QString DOCUMENT_SERIALIZE_DIGITIZE_CURVE_CURSOR_INNER_RADIUS
const QString DOCUMENT_SERIALIZE_DIGITIZE_CURVE_CURSOR_STANDARD_CROSS
const QString DOCUMENT_SERIALIZE_DIGITIZE_CURVE_CURSOR_SIZE
const QString DOCUMENT_SERIALIZE_DIGITIZE_CURVE
const QString DOCUMENT_SERIALIZE_BOOL_TRUE
log4cpp::Category * mainCat
Definition Logger.cpp:14
QXmlStreamReader::TokenType loadNextFromReader(QXmlStreamReader &reader)
Load next token from xml reader.
Definition Xml.cpp:14
void setCursorStandardCross(bool cursorStandardCross)
Set method for cursor type.
void setCursorLineWidth(int lineWidth)
Set method for cursor line width.
void setCursorInnerRadius(int innerRadius)
Set method for cursor inner radius.
void setCursorSize(CursorSize cursorSize)
Set method for cursor size.
#define LOG4CPP_INFO_S(logger)
Definition convenience.h:18

◆ operator=()

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

Assignment constructor.

Definition at line 45 of file DocumentModelDigitizeCurve.cpp.

46{
47 m_cursorStandardCross = other.cursorStandardCross();
48 m_cursorInnerRadius = other.cursorInnerRadius();
49 m_cursorLineWidth = other.cursorLineWidth();
50 m_cursorSize = other.cursorSize ();
51
52 return *this;
53}

◆ printStream()

void DocumentModelDigitizeCurve::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 112 of file DocumentModelDigitizeCurve.cpp.

114{
115 str << indentation << "DocumentModelDigitizeCurve\n";
116
117 indentation += INDENTATION_DELTA;
118
119 str << indentation << "cursorStandardCross=" << (m_cursorStandardCross ? "true" : "false") << "\n";
120 str << indentation << "cursorInnerRadius=" << m_cursorInnerRadius << "\n";
121 str << indentation << "cursorSize=" << m_cursorSize << "\n";
122 str << indentation << "cursorLineWidth=" << m_cursorLineWidth << "\n";
123}
const QString INDENTATION_DELTA

◆ saveXml()

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

Save entire model as xml into stream.

Implements DocumentModelAbstractBase.

Definition at line 125 of file DocumentModelDigitizeCurve.cpp.

126{
127 LOG4CPP_INFO_S ((*mainCat)) << "DocumentModelDigitizeCurve::saveXml";
128
129 writer.writeStartElement(DOCUMENT_SERIALIZE_DIGITIZE_CURVE);
130 writer.writeAttribute(DOCUMENT_SERIALIZE_DIGITIZE_CURVE_CURSOR_INNER_RADIUS, QString::number (m_cursorInnerRadius));
131 writer.writeAttribute(DOCUMENT_SERIALIZE_DIGITIZE_CURVE_CURSOR_LINE_WIDTH, QString::number (m_cursorLineWidth));
132 writer.writeAttribute(DOCUMENT_SERIALIZE_DIGITIZE_CURVE_CURSOR_SIZE, QString::number (m_cursorSize));
133 writer.writeAttribute(DOCUMENT_SERIALIZE_DIGITIZE_CURVE_CURSOR_STANDARD_CROSS, m_cursorStandardCross ?
136 writer.writeEndElement();
137}
const QString DOCUMENT_SERIALIZE_BOOL_FALSE

◆ setCursorInnerRadius()

void DocumentModelDigitizeCurve::setCursorInnerRadius ( int innerRadius)

Set method for cursor inner radius.

Definition at line 139 of file DocumentModelDigitizeCurve.cpp.

140{
141 m_cursorInnerRadius = cursorInnerRadius;
142}

◆ setCursorLineWidth()

void DocumentModelDigitizeCurve::setCursorLineWidth ( int lineWidth)

Set method for cursor line width.

Definition at line 144 of file DocumentModelDigitizeCurve.cpp.

145{
146 m_cursorLineWidth = cursorLineWidth;
147}

◆ setCursorSize()

void DocumentModelDigitizeCurve::setCursorSize ( CursorSize cursorSize)

Set method for cursor size.

Definition at line 149 of file DocumentModelDigitizeCurve.cpp.

150{
151 m_cursorSize = cursorSize;
152}

◆ setCursorStandardCross()

void DocumentModelDigitizeCurve::setCursorStandardCross ( bool cursorStandardCross)

Set method for cursor type.

Definition at line 154 of file DocumentModelDigitizeCurve.cpp.

155{
156 m_cursorStandardCross = cursorStandardCross;
157}

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