22 const QString &pointIdentifier,
23 const QPointF &posGraphBefore,
24 const QPointF &posGraphAfter,
29 m_pointIdentifier (pointIdentifier),
30 m_posGraphBefore (posGraphBefore),
31 m_posGraphAfter (posGraphAfter),
34 LOG4CPP_INFO_S ((*mainCat)) <<
"CmdEditPointAxis::CmdEditPointAxis point="
35 << pointIdentifier.toLatin1 ().data ()
36 <<
" posGraphBefore=" << QPointFToString (posGraphBefore).toLatin1 ().data ()
37 <<
" posGraphAfter=" << QPointFToString (posGraphAfter).toLatin1 ().data ();
42 const QString &cmdDescription,
43 QXmlStreamReader &reader) :
48 LOG4CPP_INFO_S ((*mainCat)) <<
"CmdEditPointAxis::CmdEditPointAxis";
50 QXmlStreamAttributes attributes = reader.attributes();
52 if (!attributes.hasAttribute(DOCUMENT_SERIALIZE_GRAPH_X_BEFORE) ||
53 !attributes.hasAttribute(DOCUMENT_SERIALIZE_GRAPH_Y_BEFORE) ||
54 !attributes.hasAttribute(DOCUMENT_SERIALIZE_GRAPH_X_AFTER) ||
55 !attributes.hasAttribute(DOCUMENT_SERIALIZE_GRAPH_Y_AFTER) ||
56 !attributes.hasAttribute(DOCUMENT_SERIALIZE_IDENTIFIER) ||
57 !attributes.hasAttribute(DOCUMENT_SERIALIZE_POINT_IS_X_ONLY)) {
58 xmlExitWithError (reader,
59 QString (
"%1 %2, %3, %4, %5, %6 %7 %8")
60 .arg (QObject::tr (
"Missing attribute(s)"))
61 .arg (DOCUMENT_SERIALIZE_GRAPH_X_BEFORE)
62 .arg (DOCUMENT_SERIALIZE_GRAPH_Y_BEFORE)
63 .arg (DOCUMENT_SERIALIZE_GRAPH_X_AFTER)
64 .arg (DOCUMENT_SERIALIZE_GRAPH_Y_AFTER)
65 .arg (DOCUMENT_SERIALIZE_IDENTIFIER)
66 .arg (QObject::tr (
"and/or"))
67 .arg (DOCUMENT_SERIALIZE_POINT_IS_X_ONLY));
71 QString isXOnlyValue = attributes.value(DOCUMENT_SERIALIZE_POINT_IS_X_ONLY).toString();
73 m_posGraphBefore.setX(attributes.value(DOCUMENT_SERIALIZE_GRAPH_X_BEFORE).toDouble());
74 m_posGraphBefore.setY(attributes.value(DOCUMENT_SERIALIZE_GRAPH_Y_BEFORE).toDouble());
75 m_posGraphAfter.setX(attributes.value(DOCUMENT_SERIALIZE_GRAPH_X_AFTER).toDouble());
76 m_posGraphAfter.setY(attributes.value(DOCUMENT_SERIALIZE_GRAPH_Y_AFTER).toDouble());
77 m_pointIdentifier = attributes.value(DOCUMENT_SERIALIZE_IDENTIFIER).toString();
78 m_isXOnly = (isXOnlyValue == DOCUMENT_SERIALIZE_BOOL_TRUE);
107 writer.writeStartElement(DOCUMENT_SERIALIZE_CMD);
108 writer.writeAttribute(DOCUMENT_SERIALIZE_CMD_TYPE, DOCUMENT_SERIALIZE_CMD_EDIT_POINT_AXIS);
109 writer.writeAttribute(DOCUMENT_SERIALIZE_CMD_DESCRIPTION, QUndoCommand::text ());
110 writer.writeAttribute(DOCUMENT_SERIALIZE_IDENTIFIER, m_pointIdentifier);
111 writer.writeAttribute(DOCUMENT_SERIALIZE_GRAPH_X_BEFORE, QString::number (m_posGraphBefore.x()));
112 writer.writeAttribute(DOCUMENT_SERIALIZE_GRAPH_Y_BEFORE, QString::number (m_posGraphBefore.y()));
113 writer.writeAttribute(DOCUMENT_SERIALIZE_GRAPH_X_AFTER, QString::number (m_posGraphAfter.x()));
114 writer.writeAttribute(DOCUMENT_SERIALIZE_GRAPH_Y_AFTER, QString::number (m_posGraphAfter.y()));
115 writer.writeAttribute(DOCUMENT_SERIALIZE_POINT_IS_X_ONLY, m_isXOnly ?
116 DOCUMENT_SERIALIZE_BOOL_TRUE :
117 DOCUMENT_SERIALIZE_BOOL_FALSE);
118 writer.writeEndElement();
CmdEditPointAxis(MainWindow &mainWindow, Document &document, const QString &pointIdentifier, const QPointF &posGraphBefore, const QPointF &posGraphAfter, bool isXOnly)
Constructor for normal creation.
Main window consisting of menu, graphics scene, status bar and optional toolbars as a Single Document...
void updateAfterCommand()
See GraphicsScene::updateAfterCommand.