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

Command for DlgSettingsCurveProperties. More...

#include <CmdSettingsCurveProperties.h>

Inheritance diagram for CmdSettingsCurveProperties:
Inheritance graph
Collaboration diagram for CmdSettingsCurveProperties:
Collaboration graph

Public Member Functions

 CmdSettingsCurveProperties (MainWindow &mainWindow, Document &document, const CurveStyles &modelCurveStylesBefore, const CurveStyles &modelCurveStylesAfter)
 Constructor for normal creation. More...
 
 CmdSettingsCurveProperties (MainWindow &mainWindow, Document &document, const QString &cmdDescription, QXmlStreamReader &reader)
 Constructor for parsing error report file xml. More...
 
virtual ~CmdSettingsCurveProperties ()
 
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 DlgSettingsCurveProperties.

Definition at line 18 of file CmdSettingsCurveProperties.h.

Constructor & Destructor Documentation

◆ CmdSettingsCurveProperties() [1/2]

CmdSettingsCurveProperties::CmdSettingsCurveProperties ( MainWindow mainWindow,
Document document,
const CurveStyles modelCurveStylesBefore,
const CurveStyles modelCurveStylesAfter 
)

Constructor for normal creation.

Definition at line 17 of file CmdSettingsCurveProperties.cpp.

21  :
23  document,
25  m_modelCurveStylesBefore (modelCurveStylesBefore),
26  m_modelCurveStylesAfter (modelCurveStylesAfter)
27 {
28  LOG4CPP_INFO_S ((*mainCat)) << "CmdSettingsCurveProperties::CmdSettingsCurveProperties";

◆ CmdSettingsCurveProperties() [2/2]

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

Constructor for parsing error report file xml.

Definition at line 30 of file CmdSettingsCurveProperties.cpp.

34  :
36  document,
37  cmdDescription)
38 {
39  LOG4CPP_INFO_S ((*mainCat)) << "CmdSettingsCurveProperties::CmdSettingsCurveProperties";
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_CURVE_STYLES)) {
59 
60  if (isBefore) {
61 
62  m_modelCurveStylesBefore.loadXml (reader);
63  isBefore = false;
64 
65  } else {
66 
67  m_modelCurveStylesAfter.loadXml (reader);
68 
69  }
70  }
71  }
72 
73  if (!success) {
74  reader.raiseError ("Cannot read curve properties settings");
75  }

◆ ~CmdSettingsCurveProperties()

CmdSettingsCurveProperties::~CmdSettingsCurveProperties ( )
virtual

Definition at line 77 of file CmdSettingsCurveProperties.cpp.

79 {

Member Function Documentation

◆ cmdRedo()

void CmdSettingsCurveProperties::cmdRedo ( )
virtual

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

Implements CmdAbstract.

Definition at line 81 of file CmdSettingsCurveProperties.cpp.

83 {
84  LOG4CPP_INFO_S ((*mainCat)) << "CmdSettingsCurveProperties::cmdRedo";
85 
87  document().updatePointOrdinals (mainWindow().transformation());
88  mainWindow().updateSettingsCurveStyles(m_modelCurveStylesAfter);

◆ cmdUndo()

void CmdSettingsCurveProperties::cmdUndo ( )
virtual

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

Implements CmdAbstract.

Definition at line 92 of file CmdSettingsCurveProperties.cpp.

94 {
95  LOG4CPP_INFO_S ((*mainCat)) << "CmdSettingsCurveProperties::cmdUndo";
96 
98  document().updatePointOrdinals (mainWindow().transformation());
99  mainWindow().updateSettingsCurveStyles(m_modelCurveStylesBefore);

◆ saveXml()

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

Save commands as xml for later uploading.

Implements CmdAbstract.

Definition at line 103 of file CmdSettingsCurveProperties.cpp.

105 {
106  writer.writeStartElement(DOCUMENT_SERIALIZE_CMD);
108  writer.writeAttribute(DOCUMENT_SERIALIZE_CMD_DESCRIPTION, QUndoCommand::text ());
109  m_modelCurveStylesBefore.saveXml(writer);
110  m_modelCurveStylesAfter.saveXml(writer);
111  writer.writeEndElement();

The documentation for this class was generated from the following files:
xmlExitWithError
void xmlExitWithError(QXmlStreamReader &reader, const QString &message)
Show specified message for an error while reading xml, then quit.
Definition: Xml.cpp:25
MainWindow::updateSettingsCurveStyles
void updateSettingsCurveStyles(const CurveStyles &modelCurveStyles)
Update with new curve styles.
Definition: MainWindow.cpp:3634
CmdAbstract::document
Document & document()
Return the Document that this command will modify during redo and undo.
Definition: CmdAbstract.cpp:35
CurveStyles::saveXml
void saveXml(QXmlStreamWriter &writer) const
Serialize to xml.
Definition: CurveStyles.cpp:183
CurveStyles::loadXml
void loadXml(QXmlStreamReader &reader)
Load from serialized xml.
Definition: CurveStyles.cpp:107
MainWindow::updateAfterCommand
void updateAfterCommand()
See GraphicsScene::updateAfterCommand.
Definition: MainWindow.cpp:3240
LOG4CPP_INFO_S
#define LOG4CPP_INFO_S(logger)
Definition: convenience.h:18
DOCUMENT_SERIALIZE_CMD_TYPE
const QString DOCUMENT_SERIALIZE_CMD_TYPE
CmdAbstract::saveOrCheckPostCommandDocumentStateHash
void saveOrCheckPostCommandDocumentStateHash(const Document &document)
Save, when called the first time, a hash value representing the state of the Document.
Definition: CmdAbstract.cpp:102
CmdAbstract::saveOrCheckPreCommandDocumentStateHash
void saveOrCheckPreCommandDocumentStateHash(const Document &document)
Save, when called the first time, a hash value representing the state of the Document.
Definition: CmdAbstract.cpp:125
mainCat
log4cpp::Category * mainCat
Definition: Logger.cpp:14
Document::updatePointOrdinals
void updatePointOrdinals(const Transformation &transformation)
Update point ordinals after point addition/removal or dragging.
Definition: Document.cpp:1066
DOCUMENT_SERIALIZE_CMD_SETTINGS_CURVE_PROPERTIES
const QString DOCUMENT_SERIALIZE_CMD_SETTINGS_CURVE_PROPERTIES
CMD_DESCRIPTION
const QString CMD_DESCRIPTION("Curve Properties settings")
DOCUMENT_SERIALIZE_CURVE_STYLES
const QString DOCUMENT_SERIALIZE_CURVE_STYLES
CmdAbstract::mainWindow
MainWindow & mainWindow()
Return the MainWindow so it can be updated by this command as a last step.
Definition: CmdAbstract.cpp:45
DOCUMENT_SERIALIZE_CMD_DESCRIPTION
const QString DOCUMENT_SERIALIZE_CMD_DESCRIPTION
DOCUMENT_SERIALIZE_CMD
const QString DOCUMENT_SERIALIZE_CMD
CmdAbstract
Wrapper around QUndoCommand. This simplifies the more complicated feature set of QUndoCommand.
Definition: CmdAbstract.h:18
loadNextFromReader
QXmlStreamReader::TokenType loadNextFromReader(QXmlStreamReader &reader)
Load next token from xml reader.
Definition: Xml.cpp:14