Fix indentation code + Mod doc

This commit is contained in:
Simon De Backer
2020-07-19 20:05:58 +02:00
parent 2229a1938d
commit 1251d7d9b0
2 changed files with 143 additions and 86 deletions

View File

@@ -23,44 +23,89 @@ TerminalData::~TerminalData()
} }
/**
@brief TerminalData::setParent
@param parent
*/
void TerminalData::setParent(QGraphicsObject* parent) void TerminalData::setParent(QGraphicsObject* parent)
{ {
q = parent; q = parent;
} }
/**
@brief TerminalData::toSettings
Save properties to setting file.
QString is use for prefix a word befor the name of each paramètre
@param settings UNUSED
*/
void TerminalData::toSettings(QSettings &settings, const QString) const void TerminalData::toSettings(QSettings &settings, const QString) const
{ {
Q_UNUSED(settings); Q_UNUSED(settings);
} }
/**
@brief TerminalData::fromSettings
load properties to setting file.
QString is use for prefix a word befor the name of each paramètre
@param settings UNUSED
*/
void TerminalData::fromSettings(const QSettings &settings, const QString) void TerminalData::fromSettings(const QSettings &settings, const QString)
{ {
Q_UNUSED(settings); Q_UNUSED(settings);
} }
/**
@brief TerminalData::toXml
Save properties to xml element
write the name, number, position and orientation of the terminal
to xml_element
@note This method is only called from the PartTerminal
and should never called from the Terminal class
@param xml_document
@return xml_element : DomElement with
the name, number, position and orientation of the terminal
*/
QDomElement TerminalData::toXml(QDomDocument &xml_document) const QDomElement TerminalData::toXml(QDomDocument &xml_document) const
{ {
QDomElement xml_element = xml_document.createElement("terminal"); QDomElement xml_element = xml_document.createElement("terminal");
// write the position of the terminal
// ecrit la position de la borne // ecrit la position de la borne
xml_element.setAttribute("x", QString("%1").arg(q->scenePos().x())); xml_element.setAttribute("x", QString("%1").arg(q->scenePos().x()));
xml_element.setAttribute("y", QString("%1").arg(q->scenePos().y())); xml_element.setAttribute("y", QString("%1").arg(q->scenePos().y()));
// Write name and number to XML
xml_element.setAttribute("uuid", m_uuid.toString()); xml_element.setAttribute("uuid", m_uuid.toString());
xml_element.setAttribute("name", m_name); xml_element.setAttribute("name", m_name);
// write the orientation of the terminal
// ecrit l'orientation de la borne // ecrit l'orientation de la borne
xml_element.setAttribute("orientation", Qet::orientationToString(m_orientation)); xml_element.setAttribute("orientation",
// Write name and number to XML Qet::orientationToString(m_orientation));
return(xml_element); return(xml_element);
} }
/**
@brief TerminalData::fromXml
load properties to xml element
@note This method is only called from the PartTerminal
and should never called from the Terminal class
@param xml_element
@return true if succeeded / false if the attribute is not real
*/
bool TerminalData::fromXml (const QDomElement &xml_element) bool TerminalData::fromXml (const QDomElement &xml_element)
{ {
qreal term_x = 0.0;
qreal term_y = 0.0;
// reads the position of the terminal
// lit la position de la borne // lit la position de la borne
qreal term_x = 0.0, term_y = 0.0;
if (!QET::attributeIsAReal(xml_element, "x", &term_x)) if (!QET::attributeIsAReal(xml_element, "x", &term_x))
return false; return false;
@@ -72,16 +117,20 @@ bool TerminalData::fromXml (const QDomElement &xml_element)
//emit posFromXML(QPointF(term_x, term_y)); //emit posFromXML(QPointF(term_x, term_y));
QString uuid = xml_element.attribute("uuid"); QString uuid = xml_element.attribute("uuid");
// update part and add uuid, which is used in the new version to connect terminals together // update part and add uuid, which is used in the new version
// if the attribute not exists, means, the element is created with an older version of qet. So use the legacy approach // to connect terminals together
// if the attribute not exists, means, the element is created with an
// older version of qet. So use the legacy approach
// to identify terminals // to identify terminals
if (!uuid.isEmpty()) if (!uuid.isEmpty())
m_uuid = QUuid(uuid); m_uuid = QUuid(uuid);
m_name = xml_element.attribute("name"); m_name = xml_element.attribute("name");
// read the orientation of the terminal
// lit l'orientation de la borne // lit l'orientation de la borne
m_orientation = Qet::orientationFromString(xml_element.attribute("orientation")); m_orientation = Qet::orientationFromString(
xml_element.attribute("orientation"));
return true; return true;
} }

View File

@@ -26,50 +26,58 @@ public:
void init(); void init();
void setParent(QGraphicsObject* parent); void setParent(QGraphicsObject* parent);
void toSettings(QSettings &settings,
// Save/load properties to setting file. QString is use for prefix a word befor the name of each paramètre const QString = QString()) const override;
void toSettings(QSettings &settings, const QString = QString()) const override; void fromSettings(const QSettings &settings,
void fromSettings(const QSettings &settings, const QString = QString()) override; const QString = QString()) override;
// Save/load properties to xml element
// This method is only called from the PartTerminal and should never called from the Terminal class
QDomElement toXml(QDomDocument &xml_element) const override; QDomElement toXml(QDomDocument &xml_element) const override;
bool fromXml(const QDomElement &xml_element) override; bool fromXml(const QDomElement &xml_element) override;
// must be public, because this class is a private member of PartTerminal/Terminal and they must // must be public, because this class is a private member
// access this data // of PartTerminal/Terminal and they must access this data
public: public:
/*! /**
* \brief m_orientation @brief m_orientation
* Orientation of the terminal Orientation of the terminal
*/ */
Qet::Orientation m_orientation; Qet::Orientation m_orientation;
/*! /**
* \brief second_point @brief second_point
* Position of the second point of the terminal in scene coordinates Position of the second point of the terminal
in scene coordinates
*/ */
QPointF second_point; QPointF second_point;
/*! /**
* \brief m_uuid @brief m_uuid
* Uuid of the terminal. Uuid of the terminal.
*
* In elementscene.cpp an element gets a new uuid when saving the element. In the current state In elementscene.cpp an element gets a new uuid when
* each connection is made by using the local position of the terminal and a dynamic id. In the new saving the element. In the current state
* case, each terminal should have it's own uuid to identify it uniquely. When changing each time this each connection is made by using the local position
* uuid, the conductor after updating the part is anymore valid. So if in the loaded document a uuid exists, of the terminal and a dynamic id. In the new
* use this one and don't create a new one. case, each terminal should have it's own uuid to
identify it uniquely. When changing each time this
uuid, the conductor after updating the part is anymore
valid. So if in the loaded document a uuid exists,
use this one and don't create a new one.
*/ */
QUuid m_uuid; QUuid m_uuid;
/*! /**
* \brief m_name @brief m_name
* Name of the element. It can be used to create wiring harness tables Name of the element.
It can be used to create wiring harness tables
*/ */
QString m_name; QString m_name;
/*! /**
* \brief m_pos @brief m_pos
* Position of the terminal. The second point is calculated from this position and the orientation Position of the terminal. The second point is calculated
* Important: this variable is only updated during read from xml and not during mouse move! from this position and the orientation
* It is used to store the initial position so that PartTerminal and Terminal have access to it. @note
Important: this variable is only updated during read
from xml and not during mouse move!
It is used to store the initial position so that
PartTerminal and Terminal have access to it.
*/ */
QPointF m_pos; QPointF m_pos;
private: private: