Engauge Digitizer  2
CmdSettingsColorFilter.cpp
1 #include "CmdSettingsColorFilter.h"
2 #include "Document.h"
3 #include "DocumentSerialize.h"
4 #include "Logger.h"
5 #include "MainWindow.h"
6 #include <QXmlStreamReader>
7 
8 const QString CMD_DESCRIPTION ("Filter settings");
9 
11  Document &document,
12  const DocumentModelColorFilter &modelColorFilterBefore,
13  const DocumentModelColorFilter &modelColorFilterAfter) :
14  CmdAbstract(mainWindow,
15  document,
16  CMD_DESCRIPTION),
17  m_modelColorFilterBefore (modelColorFilterBefore),
18  m_modelColorFilterAfter (modelColorFilterAfter)
19 {
20  LOG4CPP_INFO_S ((*mainCat)) << "CmdSettingsColorFilter::CmdSettingsColorFilter";
21 }
22 
24  Document &document,
25  const QString &cmdDescription,
26  QXmlStreamReader &reader) :
27  CmdAbstract (mainWindow,
28  document,
29  cmdDescription)
30 {
31  LOG4CPP_INFO_S ((*mainCat)) << "CmdSettingsColorFilter::CmdSettingsColorFilter";
32 
33  m_modelColorFilterBefore.loadXml (reader);
34  m_modelColorFilterAfter.loadXml (reader);
35 }
36 
37 CmdSettingsColorFilter::~CmdSettingsColorFilter ()
38 {
39 }
40 
42 {
43  LOG4CPP_INFO_S ((*mainCat)) << "CmdSettingsColorFilter::cmdRedo";
44 
45  mainWindow().updateSettingsColorFilter(m_modelColorFilterAfter);
47 }
48 
50 {
51  LOG4CPP_INFO_S ((*mainCat)) << "CmdSettingsColorFilter::cmdUndo";
52 
53  mainWindow().updateSettingsColorFilter(m_modelColorFilterBefore);
55 }
56 
57 void CmdSettingsColorFilter::saveXml (QXmlStreamWriter &writer) const
58 {
59  writer.writeStartElement(DOCUMENT_SERIALIZE_CMD);
60  writer.writeAttribute(DOCUMENT_SERIALIZE_CMD_TYPE, DOCUMENT_SERIALIZE_CMD_SETTINGS_COLOR_FILTER);
61  writer.writeAttribute(DOCUMENT_SERIALIZE_CMD_DESCRIPTION, QUndoCommand::text ());
62  m_modelColorFilterBefore.saveXml (writer);
63  m_modelColorFilterAfter.saveXml(writer);
64  writer.writeEndElement();
65 }
Wrapper around QUndoCommand. This simplifies the more complicated feature set of QUndoCommand.
Definition: CmdAbstract.h:11
virtual void loadXml(QXmlStreamReader &reader)
Load model from serialized xml.
Model for DlgSettingsColorFilter and CmdSettingsColorFilter.
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.
void updateSettingsColorFilter(const DocumentModelColorFilter &modelColorFilter)
Update with new color filter properties.
Storage of one imported image and the data attached to that image.
Definition: Document.h:28
virtual void saveXml(QXmlStreamWriter &writer) const
Save entire model as xml into stream.
virtual void cmdUndo()
Undo method that is called when QUndoStack is moved one command backward.
virtual void saveXml(QXmlStreamWriter &writer) const
Save commands as xml for later uploading.
Main window consisting of menu, graphics scene, status bar and optional toolbars as a Single Document...
Definition: MainWindow.h:60
CmdSettingsColorFilter(MainWindow &mainWindow, Document &document, const DocumentModelColorFilter &modelColorFilterBefore, const DocumentModelColorFilter &modelColorFilterAfter)
Constructor for normal creation.
virtual void cmdRedo()
Redo method that is called when QUndoStack is moved one command forward.