Engauge Digitizer
2
Toggle main menu visibility
Loading...
Searching...
No Matches
Cmd
CmdGuidelineAddXT.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 "
CmdGuidelineAddXT.h
"
8
#include "
Document.h
"
9
#include "
DocumentSerialize.h
"
10
#include "
GuidelineIdentifierGenerator.h
"
11
#include "
Logger.h
"
12
#include "
MainWindow.h
"
13
#include "
Xml.h
"
14
15
const
QString
CMD_DESCRIPTION
(
"GuidelineAddXT"
);
16
17
CmdGuidelineAddXT::CmdGuidelineAddXT
(
MainWindow
&
mainWindow
,
18
Document
&
document
,
19
double
value) :
20
CmdAbstract
(
mainWindow
,
21
document
,
22
CMD_DESCRIPTION
),
23
m_identifier (
GuidelineIdentifierGenerator
::next ()),
24
m_value (value)
25
{
26
qCInfo(ENGAUGE_LOG) <<
"CmdGuidelineAddXT::CmdGuidelineAddXT"
;
27
}
28
29
CmdGuidelineAddXT::CmdGuidelineAddXT
(
MainWindow
&
mainWindow
,
30
Document
&
document
,
31
const
QString &cmdDescription,
32
QXmlStreamReader &reader) :
33
CmdAbstract
(
mainWindow
,
34
document
,
35
cmdDescription)
36
{
37
qCInfo(ENGAUGE_LOG) <<
"CmdGuidelineAddXT::CmdGuidelineAddXT"
;
38
39
QXmlStreamAttributes attributes = reader.attributes();
40
41
QStringList requiredAttributesLeaf;
42
requiredAttributesLeaf <<
DOCUMENT_SERIALIZE_IDENTIFIER
43
<<
DOCUMENT_SERIALIZE_GRAPH_AFTER
;
44
leafAndBaseAttributes
(attributes,
45
requiredAttributesLeaf,
46
reader);
47
48
m_identifier = attributes.value(
DOCUMENT_SERIALIZE_IDENTIFIER
).toString();
49
m_value = attributes.value(
DOCUMENT_SERIALIZE_GRAPH_AFTER
).toDouble();
50
}
51
52
CmdGuidelineAddXT::~CmdGuidelineAddXT
()
53
{
54
}
55
56
void
CmdGuidelineAddXT::cmdRedo
()
57
{
58
qCInfo(ENGAUGE_LOG) <<
"CmdGuidelineAddXT::cmdRedo"
59
<<
" identifier="
<< m_identifier.toLatin1().data()
60
<<
" value="
<< m_value;
61
62
restoreState
();
63
mainWindow
().
guidelineAddXT
(m_identifier,
64
m_value);
65
}
66
67
void
CmdGuidelineAddXT::cmdUndo
()
68
{
69
qCInfo(ENGAUGE_LOG) <<
"CmdGuidelineAddXT::cmdUndo"
70
<<
" identifier="
<< m_identifier.toLatin1().data();
71
72
restoreState
();
73
mainWindow
().
guidelineRemove
(m_identifier);
74
}
75
76
void
CmdGuidelineAddXT::saveXml
(QXmlStreamWriter &writer)
const
77
{
78
writer.writeStartElement(
DOCUMENT_SERIALIZE_CMD
);
79
writer.writeAttribute(
DOCUMENT_SERIALIZE_CMD_TYPE
,
DOCUMENT_SERIALIZE_CMD_GUIDELINE_ADD_X_T
);
80
writer.writeAttribute(
DOCUMENT_SERIALIZE_CMD_DESCRIPTION
, QUndoCommand::text ());
81
writer.writeAttribute(
DOCUMENT_SERIALIZE_IDENTIFIER
, m_identifier);
82
writer.writeAttribute(
DOCUMENT_SERIALIZE_GRAPH_AFTER
, QString::number (m_value));
83
baseAttributes
(writer);
84
writer.writeEndElement();
85
}
CMD_DESCRIPTION
const QString CMD_DESCRIPTION("Add axis point")
CmdGuidelineAddXT.h
DocumentSerialize.h
DOCUMENT_SERIALIZE_IDENTIFIER
const QString DOCUMENT_SERIALIZE_IDENTIFIER
DOCUMENT_SERIALIZE_GRAPH_AFTER
const QString DOCUMENT_SERIALIZE_GRAPH_AFTER
DOCUMENT_SERIALIZE_CMD_GUIDELINE_ADD_X_T
const QString DOCUMENT_SERIALIZE_CMD_GUIDELINE_ADD_X_T
DOCUMENT_SERIALIZE_CMD
const QString DOCUMENT_SERIALIZE_CMD
DOCUMENT_SERIALIZE_CMD_TYPE
const QString DOCUMENT_SERIALIZE_CMD_TYPE
DOCUMENT_SERIALIZE_CMD_DESCRIPTION
const QString DOCUMENT_SERIALIZE_CMD_DESCRIPTION
Document.h
GuidelineIdentifierGenerator.h
Logger.h
MainWindow.h
Xml.h
CmdAbstract::document
Document & document()
Return the Document that this command will modify during redo and undo.
Definition
CmdAbstract.cpp:48
CmdAbstract::mainWindow
MainWindow & mainWindow()
Return the MainWindow so it can be updated by this command as a last step.
Definition
CmdAbstract.cpp:96
CmdAbstract::restoreState
void restoreState()
Before any other operations associated with a Cmd class are performed, this method is called to resto...
Definition
CmdAbstract.cpp:153
CmdAbstract::leafAndBaseAttributes
void leafAndBaseAttributes(const QXmlStreamAttributes &attributes, const QStringList &requiredAttributesLeaf, QXmlStreamReader &reader)
Before reading leaf class attributes, check all required attributes from leaf and this base class are...
Definition
CmdAbstract.cpp:79
CmdAbstract::baseAttributes
void baseAttributes(QXmlStreamWriter &writer) const
After writing leaf class attributes, this writes the base class atributes.
Definition
CmdAbstract.cpp:42
CmdAbstract::CmdAbstract
CmdAbstract(MainWindow &mainWindow, Document &document, const QString &cmdDescription)
Single constructor.
Definition
CmdAbstract.cpp:26
CmdGuidelineAddXT::CmdGuidelineAddXT
CmdGuidelineAddXT(MainWindow &mainWindow, Document &document, double value)
Constructor for normal creation.
Definition
CmdGuidelineAddXT.cpp:17
CmdGuidelineAddXT::~CmdGuidelineAddXT
virtual ~CmdGuidelineAddXT()
Definition
CmdGuidelineAddXT.cpp:52
CmdGuidelineAddXT::cmdRedo
virtual void cmdRedo()
Redo method that is called when QUndoStack is moved one command forward.
Definition
CmdGuidelineAddXT.cpp:56
CmdGuidelineAddXT::cmdUndo
virtual void cmdUndo()
Undo method that is called when QUndoStack is moved one command backward.
Definition
CmdGuidelineAddXT.cpp:67
CmdGuidelineAddXT::saveXml
virtual void saveXml(QXmlStreamWriter &writer) const
Save commands as xml for later uploading.
Definition
CmdGuidelineAddXT.cpp:76
Document
Storage of one imported image and the data attached to that image.
Definition
Document.h:44
GuidelineIdentifierGenerator
Generate unique Guideline identifiers.
Definition
GuidelineIdentifierGenerator.h:14
MainWindow
Main window consisting of menu, graphics scene, status bar and optional toolbars as a Single Document...
Definition
MainWindow.h:95
MainWindow::guidelineRemove
void guidelineRemove(const QString &identifier)
Remove a X/T or Y/R Guideline.
Definition
MainWindow.cpp:947
MainWindow::guidelineAddXT
void guidelineAddXT(const QString &identifier, double xT)
Add a X/T Guideline.
Definition
MainWindow.cpp:867
Generated on
for Engauge Digitizer by
1.18.0