Engauge Digitizer 2
Loading...
Searching...
No Matches
CmdGuidelineMoveYR.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
8#include "Document.h"
9#include "DocumentSerialize.h"
10#include "Logger.h"
11#include "MainWindow.h"
12#include "Xml.h"
13
14const QString CMD_DESCRIPTION ("GuidelineMoveYR");
15
18 const QString &identifier,
19 double valueBefore,
20 double valueAfter) :
24 m_identifier (identifier),
25 m_valueBefore (valueBefore),
26 m_valueAfter (valueAfter)
27{
28 LOG4CPP_INFO_S ((*mainCat)) << "CmdGuidelineMoveYR::CmdGuidelineMoveYR";
29}
30
33 const QString &cmdDescription,
34 QXmlStreamReader &reader) :
37 cmdDescription)
38{
39 LOG4CPP_INFO_S ((*mainCat)) << "CmdGuidelineMoveYR::CmdGuidelineMoveYR";
40
41 QXmlStreamAttributes attributes = reader.attributes();
42
43 QStringList requiredAttributesLeaf;
44 requiredAttributesLeaf << DOCUMENT_SERIALIZE_IDENTIFIER
47 leafAndBaseAttributes (attributes,
48 requiredAttributesLeaf,
49 reader);
50
51 m_identifier = attributes.value(DOCUMENT_SERIALIZE_IDENTIFIER).toString();
52 m_valueBefore = attributes.value(DOCUMENT_SERIALIZE_GRAPH_BEFORE).toDouble();
53 m_valueAfter = attributes.value(DOCUMENT_SERIALIZE_GRAPH_AFTER).toDouble();
54}
55
59
61{
62 LOG4CPP_INFO_S ((*mainCat)) << "CmdGuidelineMoveYR::cmdRedo"
63 << " identifier=" << m_identifier.toLatin1().data()
64 << " value=" << m_valueAfter;
65
66 restoreState ();
67 mainWindow().guidelineMoveYR (m_identifier,
68 m_valueAfter);
69}
70
72{
73 LOG4CPP_INFO_S ((*mainCat)) << "CmdGuidelineMoveYR::cmdUndo"
74 << " identifier=" << m_identifier.toLatin1().data()
75 << " value=" << m_valueBefore;
76
77 restoreState ();
78 mainWindow().guidelineMoveYR (m_identifier,
79 m_valueBefore);
80}
81
82void CmdGuidelineMoveYR::saveXml (QXmlStreamWriter &writer) const
83{
84 writer.writeStartElement(DOCUMENT_SERIALIZE_CMD);
86 writer.writeAttribute(DOCUMENT_SERIALIZE_CMD_DESCRIPTION, QUndoCommand::text ());
87 writer.writeAttribute(DOCUMENT_SERIALIZE_IDENTIFIER, m_identifier);
88 writer.writeAttribute(DOCUMENT_SERIALIZE_GRAPH_BEFORE, QString::number (m_valueBefore));
89 writer.writeAttribute(DOCUMENT_SERIALIZE_GRAPH_AFTER, QString::number (m_valueAfter));
90 baseAttributes (writer);
91 writer.writeEndElement();
92}
const QString CMD_DESCRIPTION("Add axis point")
const QString CMD_DESCRIPTION("GuidelineMoveYR")
const QString DOCUMENT_SERIALIZE_IDENTIFIER
const QString DOCUMENT_SERIALIZE_GRAPH_AFTER
const QString DOCUMENT_SERIALIZE_GRAPH_BEFORE
const QString DOCUMENT_SERIALIZE_CMD_GUIDELINE_MOVE_Y_R
const QString DOCUMENT_SERIALIZE_CMD
const QString DOCUMENT_SERIALIZE_CMD_TYPE
const QString DOCUMENT_SERIALIZE_CMD_DESCRIPTION
log4cpp::Category * mainCat
Definition Logger.cpp:14
Document & document()
Return the Document that this command will modify during redo and undo.
MainWindow & mainWindow()
Return the MainWindow so it can be updated by this command as a last step.
void restoreState()
Before any other operations associated with a Cmd class are performed, this method is called to resto...
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...
void baseAttributes(QXmlStreamWriter &writer) const
After writing leaf class attributes, this writes the base class atributes.
CmdAbstract(MainWindow &mainWindow, Document &document, const QString &cmdDescription)
Single constructor.
virtual void cmdRedo()
Redo method that is called when QUndoStack is moved one command forward.
virtual void saveXml(QXmlStreamWriter &writer) const
Save commands as xml for later uploading.
virtual void cmdUndo()
Undo method that is called when QUndoStack is moved one command backward.
CmdGuidelineMoveYR(MainWindow &mainWindow, Document &document, const QString &identifier, double valueBefore, double valueAfter)
Constructor for normal creation.
Storage of one imported image and the data attached to that image.
Definition Document.h:44
Main window consisting of menu, graphics scene, status bar and optional toolbars as a Single Document...
Definition MainWindow.h:95
void guidelineMoveYR(const QString &identifier, double yRAfter)
Move a Y/R Guideline.
#define LOG4CPP_INFO_S(logger)
Definition convenience.h:18