15#include <QXmlStreamReader>
22 const QStringList &pointIdentifiers,
30 m_pointIdentifiers (pointIdentifiers),
37 << pointIdentifiers.join(
" ").toLatin1 ().data ()
38 <<
" x=" << (m_isX ? QString::number (x).toLatin1().data() :
"")
39 <<
" y=" << (m_isY ? QString::number (y).toLatin1().data() :
"");
44 const QString &cmdDescription,
45 QXmlStreamReader &reader) :
52 QXmlStreamAttributes attributes = reader.attributes();
54 QStringList requiredAttributesLeaf;
60 requiredAttributesLeaf,
75 if (reader.atEnd() || reader.hasError ()) {
80 if ((reader.tokenType() == QXmlStreamReader::EndElement) &
86 if ((reader.tokenType() == QXmlStreamReader::StartElement) &&
90 QXmlStreamAttributes attributes = reader.attributes ();
99 reader.raiseError (QObject::tr (
"Cannot read graph points"));
151 for (
int index = 0; index < m_pointIdentifiers.count(); index++) {
155 writer.writeEndElement();
158 writer.writeEndElement();
const QString CMD_DESCRIPTION("Add axis point")
const QString CMD_DESCRIPTION("Edit curve points")
const QString DOCUMENT_SERIALIZE_IDENTIFIER
const QString DOCUMENT_SERIALIZE_EDIT_GRAPH_IS_X
const QString DOCUMENT_SERIALIZE_POINT
const QString DOCUMENT_SERIALIZE_CMD
const QString DOCUMENT_SERIALIZE_CMD_TYPE
const QString DOCUMENT_SERIALIZE_EDIT_GRAPH_X
const QString DOCUMENT_SERIALIZE_CMD_EDIT_POINT_GRAPH
const QString DOCUMENT_SERIALIZE_EDIT_GRAPH_IS_Y
const QString DOCUMENT_SERIALIZE_EDIT_GRAPH_Y
const QString DOCUMENT_SERIALIZE_CMD_DESCRIPTION
const QString DOCUMENT_SERIALIZE_BOOL_TRUE
const QString DOCUMENT_SERIALIZE_BOOL_FALSE
log4cpp::Category * mainCat
QXmlStreamReader::TokenType loadNextFromReader(QXmlStreamReader &reader)
Load next token from xml reader.
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.
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 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...
void baseAttributes(QXmlStreamWriter &writer) const
After writing leaf class attributes, this writes the base class atributes.
virtual void saveXml(QXmlStreamWriter &writer) const
Save commands as xml for later uploading.
virtual ~CmdEditPointGraph()
virtual void cmdRedo()
Redo method that is called when QUndoStack is moved one command forward.
CmdEditPointGraph(MainWindow &mainWindow, Document &document, const QStringList &pointIdentifiers, bool isX, bool isY, double x, double y)
Constructor for normal creation.
virtual void cmdUndo()
Undo method that is called when QUndoStack is moved one command backward.
void saveDocumentState(const Document &document)
Save the document state for restoration by restoreDocumentState.
void restoreDocumentState(Document &document) const
Restore the document previously saved by saveDocumentState.
CmdPointChangeBase(MainWindow &mainWindow, Document &document, const QString &cmdDescription)
Single constructor.
Storage of one imported image and the data attached to that image.
void updatePointOrdinals(const Transformation &transformation)
Update point ordinals after point addition/removal or dragging.
void editPointGraph(bool isX, bool isY, double x, double y, const QStringList &identifiers, const Transformation &transformation)
Edit the graph coordinates of one or more graph points.
Main window consisting of menu, graphics scene, status bar and optional toolbars as a Single Document...
void updateAfterCommand()
See GraphicsScene::updateAfterCommand.
#define LOG4CPP_INFO_S(logger)