15 #include <QXmlStreamReader> 16 #include <QXmlStreamWriter> 23 const QString &curveName,
24 const QList<QPoint> &points,
25 const QList<double> &ordinals) :
29 m_curveName (curveName),
38 const QString &cmdDescription,
39 QXmlStreamReader &reader) :
46 QXmlStreamAttributes attributes = reader.attributes();
51 .arg (QObject::tr (
"Missing attribute"))
60 if (reader.atEnd() || reader.hasError ()) {
65 if ((reader.tokenType() == QXmlStreamReader::EndElement) &
71 if ((reader.tokenType() == QXmlStreamReader::StartElement) &&
75 QXmlStreamAttributes attributes = reader.attributes ();
93 reader.raiseError (QObject::tr (
"Cannot read graph points"));
107 for (
int index = 0; index < m_points.count(); index++) {
109 QString identifierAdded;
113 m_ordinals.at (index));
114 m_identifiersAdded.push_back (identifierAdded);
139 for (
int index = 0; index < m_points.count(); index++) {
146 if (index < m_identifiersAdded.count()) {
147 identifier = m_identifiersAdded.at (index);
152 writer.writeEndElement();
154 writer.writeEndElement();
QXmlStreamReader::TokenType loadNextFromReader(QXmlStreamReader &reader)
Load next token from xml reader.
void addPointGraphWithGeneratedIdentifier(const QString &curveName, const QPointF &posScreen, QString &generatedIentifier, double ordinal)
Add a single graph point with a generated point identifier.
const QString CMD_DESCRIPTION("Add graph points")
const QString DOCUMENT_SERIALIZE_POINT
#define LOG4CPP_INFO_S(logger)
void restoreDocumentState(Document &document) const
Restore the document previously saved by saveDocumentState.
virtual ~CmdAddPointsGraph()
const QString DOCUMENT_SERIALIZE_SCREEN_Y
virtual void saveXml(QXmlStreamWriter &writer) const
Save commands as xml for later uploading.
void saveOrCheckPostCommandDocumentStateHash(const Document &document)
Save, when called the first time, a hash value representing the state of the Document.
const QString DOCUMENT_SERIALIZE_ORDINAL
const QString DOCUMENT_SERIALIZE_CMD_TYPE
void saveOrCheckPreCommandDocumentStateHash(const Document &document)
Save, when called the first time, a hash value representing the state of the Document.
const QString DOCUMENT_SERIALIZE_CMD_DESCRIPTION
Base class for CmdBase leaf subclasses that involve point additions, deletions and/or modifications.
CmdAddPointsGraph(MainWindow &mainWindow, Document &document, const QString &curveName, const QList< QPoint > &points, const QList< double > &ordinals)
Constructor for normal creation.
MainWindow & mainWindow()
Return the MainWindow so it can be updated by this command as a last step.
void updateAfterCommand()
See GraphicsScene::updateAfterCommand.
Storage of one imported image and the data attached to that image.
const QString DOCUMENT_SERIALIZE_CMD_ADD_POINTS_GRAPH
virtual void cmdUndo()
Undo method that is called when QUndoStack is moved one command backward.
const QString DOCUMENT_SERIALIZE_IDENTIFIER
const QString DOCUMENT_SERIALIZE_SCREEN_X
log4cpp::Category * mainCat
void xmlExitWithError(QXmlStreamReader &reader, const QString &message)
Show specified message for an error while reading xml, then quit.
Document & document()
Return the Document that this command will modify during redo and undo.
const QString DOCUMENT_SERIALIZE_CURVE_NAME
virtual void cmdRedo()
Redo method that is called when QUndoStack is moved one command forward.
const QString DOCUMENT_SERIALIZE_CMD
Main window consisting of menu, graphics scene, status bar and optional toolbars as a Single Document...
void updatePointOrdinals(const Transformation &transformation)
Update point ordinals after point addition/removal or dragging.
void saveDocumentState(const Document &document)
Save the document state for restoration by restoreDocumentState.