Engauge Digitizer  2
CmdSettingsCurveProperties.cpp
1 #include "CmdSettingsCurveProperties.h"
2 #include "Document.h"
3 #include "DocumentSerialize.h"
4 #include "Logger.h"
5 #include "MainWindow.h"
6 #include <QDebug>
7 #include <QXmlStreamReader>
8 
9 const QString CMD_DESCRIPTION ("Curve Properties settings");
10 
12  Document &document,
13  const CurveStyles &modelCurveStylesBefore,
14  const CurveStyles &modelCurveStylesAfter) :
15  CmdAbstract(mainWindow,
16  document,
17  CMD_DESCRIPTION),
18  m_modelCurveStylesBefore (modelCurveStylesBefore),
19  m_modelCurveStylesAfter (modelCurveStylesAfter)
20 {
21  LOG4CPP_INFO_S ((*mainCat)) << "CmdSettingsCurveProperties::CmdSettingsCurveProperties";
22 }
23 
25  Document &document,
26  const QString &cmdDescription,
27  QXmlStreamReader &reader) :
28  CmdAbstract (mainWindow,
29  document,
30  cmdDescription)
31 {
32  LOG4CPP_INFO_S ((*mainCat)) << "CmdSettingsCurveProperties::CmdSettingsCurveProperties";
33 
34  m_modelCurveStylesBefore.loadXml (reader);
35  m_modelCurveStylesAfter.loadXml (reader);
36 }
37 
38 CmdSettingsCurveProperties::~CmdSettingsCurveProperties ()
39 {
40 }
41 
43 {
44  LOG4CPP_INFO_S ((*mainCat)) << "CmdSettingsCurveProperties::cmdRedo";
45 
46  document().updatePointOrdinals (mainWindow().transformation());
47  mainWindow().updateSettingsCurveStyles(m_modelCurveStylesAfter);
49 }
50 
52 {
53  LOG4CPP_INFO_S ((*mainCat)) << "CmdSettingsCurveProperties::cmdUndo";
54 
55  document().updatePointOrdinals (mainWindow().transformation());
56  mainWindow().updateSettingsCurveStyles(m_modelCurveStylesBefore);
58 }
59 
60 void CmdSettingsCurveProperties::saveXml (QXmlStreamWriter &writer) const
61 {
62  writer.writeStartElement(DOCUMENT_SERIALIZE_CMD);
63  writer.writeAttribute(DOCUMENT_SERIALIZE_CMD_TYPE, DOCUMENT_SERIALIZE_CMD_SETTINGS_CURVE_PROPERTIES);
64  writer.writeAttribute(DOCUMENT_SERIALIZE_CMD_DESCRIPTION, QUndoCommand::text ());
65  m_modelCurveStylesBefore.saveXml(writer);
66  m_modelCurveStylesAfter.saveXml(writer);
67  writer.writeEndElement();
68 }
virtual void saveXml(QXmlStreamWriter &writer) const
Save commands as xml for later uploading.
Model for DlgSettingsCurveProperties and CmdSettingsCurveProperties.
Definition: CurveStyles.h:16
Wrapper around QUndoCommand. This simplifies the more complicated feature set of QUndoCommand.
Definition: CmdAbstract.h:11
void loadXml(QXmlStreamReader &reader)
Load from serialized xml.
virtual void cmdUndo()
Undo method that is called when QUndoStack is moved one command backward.
void updateSettingsCurveStyles(const CurveStyles &modelCurveStyles)
Update with new curve styles.
MainWindow & mainWindow()
Return the MainWindow so it can be updated by this command as a last step.
Definition: CmdAbstract.cpp:32
void updateAfterCommand()
See GraphicsScene::updateAfterCommand.
Storage of one imported image and the data attached to that image.
Definition: Document.h:29
void saveXml(QXmlStreamWriter &writer) const
Serialize to xml.
virtual void cmdRedo()
Redo method that is called when QUndoStack is moved one command forward.
CmdSettingsCurveProperties(MainWindow &mainWindow, Document &document, const CurveStyles &modelCurveStylesBefore, const CurveStyles &modelCurveStylesAfter)
Constructor for normal creation.
Document & document()
Return the Document that this command will modify during redo and undo.
Definition: CmdAbstract.cpp:22
Main window consisting of menu, graphics scene, status bar and optional toolbars as a Single Document...
Definition: MainWindow.h:66
void updatePointOrdinals(const Transformation &transformation)
Update point ordinals after point addition/removal or dragging.
Definition: Document.cpp:936