Engauge Digitizer  2
Public Member Functions | List of all members
CmdSettingsCoords Class Reference

Command for DlgSettingsCoords. More...

#include <CmdSettingsCoords.h>

Inheritance diagram for CmdSettingsCoords:
Inheritance graph
Collaboration diagram for CmdSettingsCoords:
Collaboration graph

Public Member Functions

 CmdSettingsCoords (MainWindow &mainWindow, Document &document, const DocumentModelCoords &modelCoordsBefore, const DocumentModelCoords &modelCoordsAfter)
 Constructor for normal creation. More...
 
 CmdSettingsCoords (MainWindow &mainWindow, Document &document, const QString &cmdDescription, QXmlStreamReader &reader)
 Constructor for parsing error report file xml. More...
 
virtual ~CmdSettingsCoords ()
 
virtual void cmdRedo ()
 Redo method that is called when QUndoStack is moved one command forward. More...
 
virtual void cmdUndo ()
 Undo method that is called when QUndoStack is moved one command backward. More...
 
virtual void saveXml (QXmlStreamWriter &writer) const
 Save commands as xml for later uploading. More...
 
- Public Member Functions inherited from CmdAbstract
 CmdAbstract (MainWindow &mainWindow, Document &document, const QString &cmdDescription)
 Single constructor. More...
 
virtual ~CmdAbstract ()
 

Additional Inherited Members

- Protected Member Functions inherited from CmdAbstract
Documentdocument ()
 Return the Document that this command will modify during redo and undo. More...
 
const Documentdocument () const
 Return a const copy of the Document for non redo/undo interaction. More...
 
MainWindowmainWindow ()
 Return the MainWindow so it can be updated by this command as a last step. More...
 
void resetSelection (const PointIdentifiers &pointIdentifiersToSelect)
 Since the set of selected points has probably changed, changed that set back to the specified set. More...
 
void saveOrCheckPostCommandDocumentStateHash (const Document &document)
 Save, when called the first time, a hash value representing the state of the Document. More...
 
void saveOrCheckPreCommandDocumentStateHash (const Document &document)
 Save, when called the first time, a hash value representing the state of the Document. More...
 

Detailed Description

Command for DlgSettingsCoords.

Definition at line 16 of file CmdSettingsCoords.h.

Constructor & Destructor Documentation

◆ CmdSettingsCoords() [1/2]

CmdSettingsCoords::CmdSettingsCoords ( MainWindow mainWindow,
Document document,
const DocumentModelCoords modelCoordsBefore,
const DocumentModelCoords modelCoordsAfter 
)

Constructor for normal creation.

Definition at line 18 of file CmdSettingsCoords.cpp.

21  :
23  document,
25  m_modelCoordsBefore (modelCoordsBefore),
26  m_modelCoordsAfter (modelCoordsAfter)
27 {
28  LOG4CPP_INFO_S ((*mainCat)) << "CmdSettingsCoords::CmdSettingsCoords";
29 }
Wrapper around QUndoCommand. This simplifies the more complicated feature set of QUndoCommand.
Definition: CmdAbstract.h:19
const QString CMD_DESCRIPTION("Coordinate settings")
#define LOG4CPP_INFO_S(logger)
Definition: convenience.h:18
MainWindow & mainWindow()
Return the MainWindow so it can be updated by this command as a last step.
Definition: CmdAbstract.cpp:45
log4cpp::Category * mainCat
Definition: Logger.cpp:14
Document & document()
Return the Document that this command will modify during redo and undo.
Definition: CmdAbstract.cpp:35

◆ CmdSettingsCoords() [2/2]

CmdSettingsCoords::CmdSettingsCoords ( MainWindow mainWindow,
Document document,
const QString &  cmdDescription,
QXmlStreamReader &  reader 
)

Constructor for parsing error report file xml.

Definition at line 31 of file CmdSettingsCoords.cpp.

34  :
36  document,
37  cmdDescription)
38 {
39  LOG4CPP_INFO_S ((*mainCat)) << "CmdSettingsCoords::CmdSettingsCoords";
40 
41  bool success = true;
42 
43  // Read until end of this subtree
44  bool isBefore = true;
45  while ((reader.tokenType() != QXmlStreamReader::EndElement) ||
46  (reader.name() != DOCUMENT_SERIALIZE_CMD)){
47  loadNextFromReader(reader);
48  if (reader.atEnd()) {
49  xmlExitWithError (reader,
50  QString ("%1 %2")
51  .arg (QObject::tr ("Reached end of file before finding end element for"))
52  .arg (DOCUMENT_SERIALIZE_CMD));
53  success = false;
54  break;
55  }
56 
57  if ((reader.tokenType() == QXmlStreamReader::StartElement) &&
58  (reader.name() == DOCUMENT_SERIALIZE_COORDS)) {
59 
60  if (isBefore) {
61 
62  m_modelCoordsBefore.loadXml (reader);
63  isBefore = false;
64 
65  } else {
66 
67  m_modelCoordsAfter.loadXml (reader);
68 
69  }
70  }
71  }
72 
73  if (!success) {
74  reader.raiseError ("Cannot read coordinates data settings");
75  }
76 }
QXmlStreamReader::TokenType loadNextFromReader(QXmlStreamReader &reader)
Load next token from xml reader.
Definition: Xml.cpp:14
Wrapper around QUndoCommand. This simplifies the more complicated feature set of QUndoCommand.
Definition: CmdAbstract.h:19
virtual void loadXml(QXmlStreamReader &reader)
Load model from serialized xml.
const QString DOCUMENT_SERIALIZE_COORDS
#define LOG4CPP_INFO_S(logger)
Definition: convenience.h:18
MainWindow & mainWindow()
Return the MainWindow so it can be updated by this command as a last step.
Definition: CmdAbstract.cpp:45
log4cpp::Category * mainCat
Definition: Logger.cpp:14
void xmlExitWithError(QXmlStreamReader &reader, const QString &message)
Show specified message for an error while reading xml, then quit.
Definition: Xml.cpp:25
Document & document()
Return the Document that this command will modify during redo and undo.
Definition: CmdAbstract.cpp:35
const QString DOCUMENT_SERIALIZE_CMD

◆ ~CmdSettingsCoords()

CmdSettingsCoords::~CmdSettingsCoords ( )
virtual

Definition at line 78 of file CmdSettingsCoords.cpp.

79 {
80 }

Member Function Documentation

◆ cmdRedo()

void CmdSettingsCoords::cmdRedo ( )
virtual

Redo method that is called when QUndoStack is moved one command forward.

Implements CmdAbstract.

Definition at line 82 of file CmdSettingsCoords.cpp.

83 {
84  LOG4CPP_INFO_S ((*mainCat)) << "CmdSettingsCoords::cmdRedo";
85 
87  mainWindow().updateSettingsCoords(m_modelCoordsAfter);
90 }
#define LOG4CPP_INFO_S(logger)
Definition: convenience.h:18
void saveOrCheckPostCommandDocumentStateHash(const Document &document)
Save, when called the first time, a hash value representing the state of the Document.
void saveOrCheckPreCommandDocumentStateHash(const Document &document)
Save, when called the first time, a hash value representing the state of the Document.
MainWindow & mainWindow()
Return the MainWindow so it can be updated by this command as a last step.
Definition: CmdAbstract.cpp:45
void updateAfterCommand()
See GraphicsScene::updateAfterCommand.
log4cpp::Category * mainCat
Definition: Logger.cpp:14
void updateSettingsCoords(const DocumentModelCoords &modelCoords)
Update with new coordinate properties.
Document & document()
Return the Document that this command will modify during redo and undo.
Definition: CmdAbstract.cpp:35

◆ cmdUndo()

void CmdSettingsCoords::cmdUndo ( )
virtual

Undo method that is called when QUndoStack is moved one command backward.

Implements CmdAbstract.

Definition at line 92 of file CmdSettingsCoords.cpp.

93 {
94  LOG4CPP_INFO_S ((*mainCat)) << "CmdSettingsCoords::cmdUndo";
95 
97  mainWindow().updateSettingsCoords(m_modelCoordsBefore);
100 }
#define LOG4CPP_INFO_S(logger)
Definition: convenience.h:18
void saveOrCheckPostCommandDocumentStateHash(const Document &document)
Save, when called the first time, a hash value representing the state of the Document.
void saveOrCheckPreCommandDocumentStateHash(const Document &document)
Save, when called the first time, a hash value representing the state of the Document.
MainWindow & mainWindow()
Return the MainWindow so it can be updated by this command as a last step.
Definition: CmdAbstract.cpp:45
void updateAfterCommand()
See GraphicsScene::updateAfterCommand.
log4cpp::Category * mainCat
Definition: Logger.cpp:14
void updateSettingsCoords(const DocumentModelCoords &modelCoords)
Update with new coordinate properties.
Document & document()
Return the Document that this command will modify during redo and undo.
Definition: CmdAbstract.cpp:35

◆ saveXml()

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

Save commands as xml for later uploading.

Implements CmdAbstract.

Definition at line 102 of file CmdSettingsCoords.cpp.

103 {
104  writer.writeStartElement(DOCUMENT_SERIALIZE_CMD);
106  writer.writeAttribute(DOCUMENT_SERIALIZE_CMD_DESCRIPTION, QUndoCommand::text ());
107  m_modelCoordsBefore.saveXml(writer);
108  m_modelCoordsAfter.saveXml(writer);
109  writer.writeEndElement();
110 }
virtual void saveXml(QXmlStreamWriter &writer) const
Save entire model as xml into stream.
const QString DOCUMENT_SERIALIZE_CMD_TYPE
const QString DOCUMENT_SERIALIZE_CMD_DESCRIPTION
const QString DOCUMENT_SERIALIZE_CMD_SETTINGS_COORDS
const QString DOCUMENT_SERIALIZE_CMD

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