Engauge Digitizer 2
Loading...
Searching...
No Matches
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.
 CmdSettingsCurveProperties (MainWindow &mainWindow, Document &document, const QString &cmdDescription, QXmlStreamReader &reader)
 Constructor for parsing error report file xml.
virtual ~CmdSettingsCurveProperties ()
virtual void cmdRedo ()
 Redo method that is called when QUndoStack is moved one command forward.
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.
Public Member Functions inherited from CmdAbstract
 CmdAbstract (MainWindow &mainWindow, Document &document, const QString &cmdDescription)
 Single constructor.
virtual ~CmdAbstract ()

Additional Inherited Members

Protected Member Functions inherited from CmdAbstract
void baseAttributes (QXmlStreamWriter &writer) const
 After writing leaf class attributes, this writes the base class atributes.
Documentdocument ()
 Return the Document that this command will modify during redo and undo.
const Documentdocument () const
 Return a const copy of the Document for non redo/undo interaction.
void leafAttributes (const QXmlStreamAttributes &attributes, const QStringList &requiredAttributesLeaf, QXmlStreamReader &reader)
 Same as often-used leafAndBaseAttributes, except this is used in the special case where a class inherits from another class (e.g.
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 included, then extract the parent class attributes.
MainWindowmainWindow ()
 Return the MainWindow so it can be updated by this command as a last step.
void resetSelection (const PointIdentifiers &pointIdentifiersToSelect)
 Call this (for consistency) after writing leaf class attributes, to write the base class attributes.
void restoreState ()
 Before any other operations associated with a Cmd class are performed, this method is called to restore original states to all relevant state machines.
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.
void selectAddedPointForMoving (const QString &pointAdded)
 Select point that was just added so it can be moved by the user next for convenience.
void selectAddedPointsForMoving (const QStringList &pointsAdded)
 Select points that were just added so they can be moved by the user next for convenience.

Detailed Description

Command for DlgSettingsCurveProperties.

Definition at line 19 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 18 of file CmdSettingsCurveProperties.cpp.

21 :
25 m_modelCurveStylesBefore (modelCurveStylesBefore),
26 m_modelCurveStylesAfter (modelCurveStylesAfter)
27{
28 LOG4CPP_INFO_S ((*mainCat)) << "CmdSettingsCurveProperties::CmdSettingsCurveProperties";
29}
const QString CMD_DESCRIPTION("Add axis point")
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.
CmdAbstract(MainWindow &mainWindow, Document &document, const QString &cmdDescription)
Single constructor.
#define LOG4CPP_INFO_S(logger)
Definition convenience.h:18

◆ CmdSettingsCurveProperties() [2/2]

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

Constructor for parsing error report file xml.

Definition at line 31 of file CmdSettingsCurveProperties.cpp.

34 :
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"))
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 }
76}
const QString DOCUMENT_SERIALIZE_CURVE_STYLES
const QString DOCUMENT_SERIALIZE_CMD
QXmlStreamReader::TokenType loadNextFromReader(QXmlStreamReader &reader)
Load next token from xml reader.
Definition Xml.cpp:14
void xmlExitWithError(QXmlStreamReader &reader, const QString &message)
Show specified message for an error while reading xml, then quit.
Definition Xml.cpp:25

◆ ~CmdSettingsCurveProperties()

CmdSettingsCurveProperties::~CmdSettingsCurveProperties ( )
virtual

Definition at line 78 of file CmdSettingsCurveProperties.cpp.

79{
80}

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 82 of file CmdSettingsCurveProperties.cpp.

83{
84 LOG4CPP_INFO_S ((*mainCat)) << "CmdSettingsCurveProperties::cmdRedo";
85
86 restoreState ();
88 document().updatePointOrdinals (mainWindow().transformation());
89 mainWindow().updateSettingsCurveStyles(m_modelCurveStylesAfter);
92}
void saveOrCheckPostCommandDocumentStateHash(const Document &document)
Save, when called the first time, a hash value representing the state of the Document.
void restoreState()
Before any other operations associated with a Cmd class are performed, this method is called to resto...
void saveOrCheckPreCommandDocumentStateHash(const Document &document)
Save, when called the first time, a hash value representing the state of the Document.
void updatePointOrdinals(const Transformation &transformation)
Update point ordinals after point addition/removal or dragging.
void updateSettingsCurveStyles(const CurveStyles &modelCurveStyles)
Update with new curve styles.
void updateAfterCommand()
See GraphicsScene::updateAfterCommand.

◆ cmdUndo()

void CmdSettingsCurveProperties::cmdUndo ( )
virtual

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

Implements CmdAbstract.

Definition at line 94 of file CmdSettingsCurveProperties.cpp.

95{
96 LOG4CPP_INFO_S ((*mainCat)) << "CmdSettingsCurveProperties::cmdUndo";
97
98 restoreState ();
100 document().updatePointOrdinals (mainWindow().transformation());
101 mainWindow().updateSettingsCurveStyles(m_modelCurveStylesBefore);
104}

◆ saveXml()

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

Save commands as xml for later uploading.

Implements CmdAbstract.

Definition at line 106 of file CmdSettingsCurveProperties.cpp.

107{
108 writer.writeStartElement(DOCUMENT_SERIALIZE_CMD);
110 writer.writeAttribute(DOCUMENT_SERIALIZE_CMD_DESCRIPTION, QUndoCommand::text ());
111 baseAttributes (writer);
112 m_modelCurveStylesBefore.saveXml(writer);
113 m_modelCurveStylesAfter.saveXml(writer);
114 writer.writeEndElement();
115}
const QString DOCUMENT_SERIALIZE_CMD_SETTINGS_CURVE_PROPERTIES
const QString DOCUMENT_SERIALIZE_CMD_TYPE
const QString DOCUMENT_SERIALIZE_CMD_DESCRIPTION
void baseAttributes(QXmlStreamWriter &writer) const
After writing leaf class attributes, this writes the base class atributes.

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