mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2026-01-10 16:19:59 +01:00
Add userProperties
This commit is contained in:
@@ -79,8 +79,8 @@ class AbstractPartEllipse : public CustomElementGraphicPart
|
||||
protected:
|
||||
QList<QPointF> saved_points_;
|
||||
QRectF m_rect;
|
||||
qreal m_start_angle;
|
||||
qreal m_span_angle;
|
||||
qreal m_start_angle{0};
|
||||
qreal m_span_angle{-1440};
|
||||
QVector<QetGraphicsHandlerItem *> m_handler_vector;
|
||||
};
|
||||
|
||||
|
||||
@@ -162,7 +162,7 @@ void CustomElementGraphicPart::setAntialiased(const bool b)
|
||||
Each style separate by ; and name-style/value are separate by :
|
||||
@param qde : QDOmElement used to write the style.
|
||||
*/
|
||||
void CustomElementGraphicPart::stylesToXml(QDomDocument &xml_document, QDomElement &qde) const
|
||||
void CustomElementGraphicPart::stylesToXml(QDomElement &qde) const
|
||||
{
|
||||
QString css_like_styles;
|
||||
|
||||
@@ -497,8 +497,8 @@ void CustomElementGraphicPart::stylesToXml(QDomDocument &xml_document, QDomEleme
|
||||
else if (_color == HTMLGrayBlackColor) css_like_styles += "HTMLGrayBlack";
|
||||
else if (_color == NoneColor) css_like_styles += "none";
|
||||
|
||||
qde.appendChild(createXmlProperty(xml_document, "style", css_like_styles));
|
||||
qde.appendChild(createXmlProperty(xml_document, "antialias", _antialiased ? "true" : "false"));
|
||||
qde.appendChild(createXmlProperty("style", css_like_styles));
|
||||
qde.appendChild(createXmlProperty("antialias", _antialiased ? "true" : "false"));
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -303,7 +303,7 @@ class CustomElementGraphicPart : public QGraphicsObject, public CustomElementPar
|
||||
virtual void resetAllHandlerColor() {}
|
||||
|
||||
protected:
|
||||
void stylesToXml (QDomDocument &xml_document, QDomElement &) const;
|
||||
void stylesToXml (QDomElement &) const;
|
||||
void stylesFromXml(const QDomElement &);
|
||||
void resetStyles ();
|
||||
void applyStylesToQPainter(QPainter &) const;
|
||||
|
||||
@@ -29,10 +29,9 @@
|
||||
@param parent : parent item
|
||||
*/
|
||||
PartArc::PartArc(QETElementEditor *editor, QGraphicsItem *parent) :
|
||||
AbstractPartEllipse(editor, parent)
|
||||
AbstractPartEllipse(editor, parent)
|
||||
{
|
||||
m_start_angle = 0;
|
||||
m_span_angle = -1440;
|
||||
setTagName("arc");
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -102,23 +101,22 @@ void PartArc::paint(QPainter *painter, const QStyleOptionGraphicsItem *options,
|
||||
@param xml_document : Xml document to use for create the xml element.
|
||||
@return : an xml element that describe this arc
|
||||
*/
|
||||
QDomElement PartArc::toXml(QDomDocument &xml_document) const
|
||||
void PartArc::toXmlPriv(QDomElement& e) const
|
||||
{
|
||||
QDomElement xml_element = xml_document.createElement("arc");
|
||||
e.setTagName("arc");
|
||||
QPointF top_left(sceneTopLeft());
|
||||
|
||||
xml_element.appendChild(createXmlProperty(xml_document, "x", top_left.x()));
|
||||
xml_element.appendChild(createXmlProperty(xml_document, "y", top_left.y()));
|
||||
xml_element.appendChild(createXmlProperty(xml_document, "width", rect().width()));
|
||||
xml_element.appendChild(createXmlProperty(xml_document, "height", rect().height()));
|
||||
e.appendChild(createXmlProperty("x", top_left.x()));
|
||||
e.appendChild(createXmlProperty("y", top_left.y()));
|
||||
e.appendChild(createXmlProperty("width", rect().width()));
|
||||
e.appendChild(createXmlProperty("height", rect().height()));
|
||||
|
||||
//to maintain compatibility with the previous version, we write the angle in degrees.
|
||||
xml_element.appendChild(createXmlProperty(xml_document, "start", m_start_angle / 16));
|
||||
xml_element.appendChild(createXmlProperty(xml_document, "angle", m_span_angle / 16));
|
||||
e.appendChild(createXmlProperty("start", m_start_angle / 16));
|
||||
e.appendChild(createXmlProperty("angle", m_span_angle / 16));
|
||||
|
||||
|
||||
stylesToXml(xml_document, xml_element);
|
||||
return(xml_element);
|
||||
stylesToXml(e);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -126,7 +124,7 @@ QDomElement PartArc::toXml(QDomDocument &xml_document) const
|
||||
Import the properties of this arc from a xml element.
|
||||
@param qde : Xml document to use.
|
||||
*/
|
||||
bool PartArc::fromXml(const QDomElement &qde) {
|
||||
bool PartArc::fromXmlPriv(const QDomElement &qde) {
|
||||
stylesFromXml(qde);
|
||||
|
||||
double x=0, y=0, w=0, h=0;
|
||||
|
||||
@@ -51,8 +51,8 @@ class PartArc : public AbstractPartEllipse
|
||||
//Name and XML
|
||||
QString name() const override { return(QObject::tr("arc", "element part name")); }
|
||||
QString xmlName() const override { return(QString("arc")); }
|
||||
QDomElement toXml (QDomDocument &) const override;
|
||||
bool fromXml (const QDomElement &) override;
|
||||
void toXmlPriv(QDomElement&) const override;
|
||||
bool fromXmlPriv (const QDomElement &) override;
|
||||
static bool valideXml(QDomElement& element);
|
||||
void toSettings(QSettings &,const QString & = QString()) const override {/*TODO: implement*/}
|
||||
void fromSettings(QSettings &,const QString & = QString()) override{/*TODO: implement*/}
|
||||
|
||||
@@ -30,6 +30,7 @@ PartDynamicTextField::PartDynamicTextField(QETElementEditor *editor, QGraphicsIt
|
||||
CustomElementPart(editor),
|
||||
m_uuid(QUuid::createUuid())
|
||||
{
|
||||
setTagName(xmlName());
|
||||
setDefaultTextColor(Qt::black);
|
||||
setFont(QETApp::dynamicTextsItemFont());
|
||||
QSettings settings;
|
||||
@@ -93,71 +94,72 @@ void PartDynamicTextField::handleUserTransformation(
|
||||
@param dom_doc
|
||||
@return
|
||||
*/
|
||||
QDomElement PartDynamicTextField::toXml(QDomDocument &dom_doc) const
|
||||
void PartDynamicTextField::toXmlPriv(QDomElement& e) const
|
||||
{
|
||||
QDomElement root_element = dom_doc.createElement(xmlName());
|
||||
|
||||
root_element.appendChild(createXmlProperty(dom_doc, "x", pos().x()));
|
||||
root_element.appendChild(createXmlProperty(dom_doc, "y", pos().y()));
|
||||
root_element.appendChild(createXmlProperty(dom_doc, "z", zValue()));
|
||||
root_element.appendChild(createXmlProperty(dom_doc, "rotation", QET::correctAngle(rotation())));
|
||||
e.appendChild(createXmlProperty("x", pos().x()));
|
||||
e.appendChild(createXmlProperty("y", pos().y()));
|
||||
e.appendChild(createXmlProperty("z", zValue()));
|
||||
e.appendChild(createXmlProperty("rotation", QET::correctAngle(rotation())));
|
||||
|
||||
root_element.appendChild(createXmlProperty(dom_doc, "font", font().toString()));
|
||||
root_element.appendChild(createXmlProperty(dom_doc, "uuid", m_uuid));
|
||||
root_element.appendChild(createXmlProperty(dom_doc, "frame", m_frame));
|
||||
root_element.appendChild(createXmlProperty(dom_doc, "text_width", m_text_width));
|
||||
e.appendChild(createXmlProperty("font", font().toString()));
|
||||
e.appendChild(createXmlProperty("uuid", m_uuid));
|
||||
e.appendChild(createXmlProperty("frame", m_frame));
|
||||
e.appendChild(createXmlProperty("text_width", m_text_width));
|
||||
|
||||
QMetaEnum me = DynamicElementTextItem::textFromMetaEnum();
|
||||
root_element.appendChild(createXmlProperty(dom_doc, "text_from", me.valueToKey(m_text_from)));
|
||||
e.appendChild(createXmlProperty("text_from", me.valueToKey(m_text_from)));
|
||||
|
||||
me = QMetaEnum::fromType<Qt::Alignment>();
|
||||
if(this -> alignment() &Qt::AlignRight)
|
||||
root_element.appendChild(createXmlProperty(dom_doc, "Halignment", me.valueToKey(Qt::AlignRight)));
|
||||
e.appendChild(createXmlProperty("Halignment", me.valueToKey(Qt::AlignRight)));
|
||||
else if(this -> alignment() &Qt::AlignLeft)
|
||||
root_element.appendChild(createXmlProperty(dom_doc, "Halignment", me.valueToKey(Qt::AlignLeft)));
|
||||
e.appendChild(createXmlProperty("Halignment", me.valueToKey(Qt::AlignLeft)));
|
||||
else if(this -> alignment() &Qt::AlignHCenter)
|
||||
root_element.appendChild(createXmlProperty(dom_doc, "Halignment", me.valueToKey(Qt::AlignHCenter)));
|
||||
e.appendChild(createXmlProperty("Halignment", me.valueToKey(Qt::AlignHCenter)));
|
||||
|
||||
if(this -> alignment() &Qt::AlignBottom)
|
||||
root_element.appendChild(createXmlProperty(dom_doc, "Valignment", me.valueToKey(Qt::AlignBottom)));
|
||||
e.appendChild(createXmlProperty("Valignment", me.valueToKey(Qt::AlignBottom)));
|
||||
else if(this -> alignment() & Qt::AlignTop)
|
||||
root_element.appendChild(createXmlProperty(dom_doc, "Valignment", me.valueToKey(Qt::AlignTop)));
|
||||
e.appendChild(createXmlProperty("Valignment", me.valueToKey(Qt::AlignTop)));
|
||||
else if(this -> alignment() &Qt::AlignVCenter)
|
||||
root_element.appendChild(createXmlProperty(dom_doc, "Valignment", me.valueToKey(Qt::AlignVCenter)));
|
||||
e.appendChild(createXmlProperty("Valignment", me.valueToKey(Qt::AlignVCenter)));
|
||||
|
||||
QDomDocument dom_doc;
|
||||
QDomElement dom_text = dom_doc.createElement("text");
|
||||
dom_text.appendChild(dom_doc.createTextNode(toPlainText()));
|
||||
root_element.appendChild(dom_text);
|
||||
e.appendChild(dom_text);
|
||||
|
||||
//Info name
|
||||
// TODO: move it into a property
|
||||
if(!m_info_name.isEmpty()) {
|
||||
QDomElement dom_info_name = dom_doc.createElement("info_name");
|
||||
dom_info_name.appendChild(dom_doc.createTextNode(m_info_name));
|
||||
root_element.appendChild(dom_info_name);
|
||||
e.appendChild(dom_info_name);
|
||||
}
|
||||
|
||||
//Composite text
|
||||
// TODO: move it into a property
|
||||
if(!m_composite_text.isEmpty()) {
|
||||
QDomElement dom_comp_text = dom_doc.createElement("composite_text");
|
||||
dom_comp_text.appendChild(dom_doc.createTextNode(m_composite_text));
|
||||
root_element.appendChild(dom_comp_text);
|
||||
e.appendChild(dom_comp_text);
|
||||
}
|
||||
|
||||
//Color
|
||||
// TODO: move it into a property
|
||||
if(color() != QColor(Qt::black)) {
|
||||
QDomElement dom_color = dom_doc.createElement("color");
|
||||
dom_color.appendChild(dom_doc.createTextNode(color().name()));
|
||||
root_element.appendChild(dom_color);
|
||||
e.appendChild(dom_color);
|
||||
}
|
||||
|
||||
return root_element;
|
||||
}
|
||||
|
||||
/**
|
||||
@brief PartDynamicTextField::fromXml
|
||||
@param dom_elmt
|
||||
*/
|
||||
bool PartDynamicTextField::fromXml(const QDomElement &dom_elmt)
|
||||
bool PartDynamicTextField::fromXmlPriv(const QDomElement &dom_elmt)
|
||||
{
|
||||
if (dom_elmt.tagName() != xmlName()) {
|
||||
qDebug() << "PartDynamicTextField::fromXml : Wrong tagg name";
|
||||
|
||||
@@ -75,8 +75,8 @@ class PartDynamicTextField : public QGraphicsTextItem, public CustomElementPart
|
||||
void startUserTransformation(const QRectF &initial_selection_rect) override;
|
||||
void handleUserTransformation(const QRectF &initial_selection_rect, const QRectF &new_selection_rect) override;
|
||||
|
||||
QDomElement toXml(QDomDocument &dom_doc) const override;
|
||||
bool fromXml(const QDomElement &dom_elmt) override;
|
||||
void toXmlPriv(QDomElement&) const override;
|
||||
bool fromXmlPriv(const QDomElement &dom_elmt) override;
|
||||
void fromTextFieldXml(const QDomElement &dom_element);
|
||||
static bool valideXml(QDomElement& dom_elmt);
|
||||
void toSettings(QSettings &,const QString & = QString()) const override {/*TODO: implement*/}
|
||||
|
||||
@@ -79,41 +79,37 @@ void PartEllipse::paint(QPainter *painter, const QStyleOptionGraphicsItem *optio
|
||||
}
|
||||
|
||||
/**
|
||||
@brief PartEllipse::toXml
|
||||
@brief PartEllipse::toXmlPriv
|
||||
Export this ellipse in xml
|
||||
@param xml_document : Xml document to use for create the xml element.
|
||||
@return : an xml element that describe this ellipse
|
||||
*/
|
||||
QDomElement PartEllipse::toXml(QDomDocument &xml_document) const
|
||||
void PartEllipse::toXmlPriv(QDomElement& e) const
|
||||
{
|
||||
QDomElement xml_element;
|
||||
if (qFuzzyCompare(rect().width(), rect().height()))
|
||||
{
|
||||
xml_element = xml_document.createElement("circle");
|
||||
xml_element.appendChild(createXmlProperty(xml_document, "diameter", rect().width()));
|
||||
e.setTagName("circle");
|
||||
e.appendChild(createXmlProperty("diameter", rect().width()));
|
||||
}
|
||||
else
|
||||
{
|
||||
xml_element = xml_document.createElement("ellipse");
|
||||
xml_element.appendChild(createXmlProperty(xml_document, "width", rect().width()));
|
||||
xml_element.appendChild(createXmlProperty(xml_document, "height", rect().height()));
|
||||
e.setTagName("ellipse");
|
||||
e.appendChild(createXmlProperty("width", rect().width()));
|
||||
e.appendChild(createXmlProperty("height", rect().height()));
|
||||
}
|
||||
|
||||
QPointF top_left(sceneTopLeft());
|
||||
xml_element.appendChild(createXmlProperty(xml_document, "x", top_left.x()));
|
||||
xml_element.appendChild(createXmlProperty(xml_document, "y", top_left.y()));
|
||||
e.appendChild(createXmlProperty("x", top_left.x()));
|
||||
e.appendChild(createXmlProperty("y", top_left.y()));
|
||||
|
||||
stylesToXml(xml_document, xml_element);
|
||||
|
||||
return(xml_element);
|
||||
stylesToXml(e);
|
||||
}
|
||||
|
||||
/**
|
||||
@brief PartEllipse::fromXml
|
||||
@brief PartEllipse::fromXmlPriv
|
||||
Import the properties of this ellipse from a xml element.
|
||||
@param qde : Xml document to use.
|
||||
*/
|
||||
bool PartEllipse::fromXml(const QDomElement &qde)
|
||||
bool PartEllipse::fromXmlPriv(const QDomElement &qde)
|
||||
{
|
||||
stylesFromXml(qde);
|
||||
double x=0, y=0, width=0, height=0;
|
||||
|
||||
@@ -52,8 +52,8 @@ class PartEllipse : public AbstractPartEllipse
|
||||
//Name and XML
|
||||
QString name() const override { return(QObject::tr("ellipse", "element part name")); }
|
||||
QString xmlName() const override { return(QString("ellipse")); }
|
||||
QDomElement toXml (QDomDocument &) const override;
|
||||
bool fromXml (const QDomElement &) override;
|
||||
void toXmlPriv(QDomElement&) const override;
|
||||
bool fromXmlPriv(const QDomElement &) override;
|
||||
static bool valideXml(QDomElement& element);
|
||||
void toSettings(QSettings &,const QString & = QString()) const override {/*TODO: implement*/}
|
||||
void fromSettings(QSettings &,const QString & = QString()) override{/*TODO: implement*/}
|
||||
|
||||
@@ -30,13 +30,10 @@
|
||||
@param parent : parent item
|
||||
*/
|
||||
PartLine::PartLine(QETElementEditor *editor, QGraphicsItem *parent) :
|
||||
CustomElementGraphicPart(editor, parent),
|
||||
first_end(Qet::None),
|
||||
first_length(1.5),
|
||||
second_end(Qet::None),
|
||||
second_length(1.5),
|
||||
m_undo_command(nullptr)
|
||||
{}
|
||||
CustomElementGraphicPart(editor, parent)
|
||||
{
|
||||
setTagName("line");
|
||||
}
|
||||
|
||||
/// Destructeur
|
||||
PartLine::~PartLine()
|
||||
@@ -105,30 +102,27 @@ void PartLine::paint(QPainter *painter, const QStyleOptionGraphicsItem *options,
|
||||
}
|
||||
|
||||
/**
|
||||
@brief PartLine::toXml
|
||||
@brief PartLine::toXmlPriv
|
||||
Export this line in xml
|
||||
@param xml_document : Xml document to use for create the xml element.
|
||||
@return an xml element that describe this line
|
||||
*/
|
||||
QDomElement PartLine::toXml(QDomDocument &xml_document) const
|
||||
void PartLine::toXmlPriv(QDomElement& e) const
|
||||
{
|
||||
QPointF p1(sceneP1());
|
||||
QPointF p2(sceneP2());
|
||||
|
||||
QDomElement xml_element = xml_document.createElement("line");
|
||||
e.appendChild(createXmlProperty("x1", p1.x()));
|
||||
e.appendChild(createXmlProperty("y1", p1.y()));
|
||||
e.appendChild(createXmlProperty("x2", p2.x()));
|
||||
e.appendChild(createXmlProperty("y2", p2.y()));
|
||||
|
||||
xml_element.appendChild(createXmlProperty(xml_document, "x1", p1.x()));
|
||||
xml_element.appendChild(createXmlProperty(xml_document, "y1", p1.y()));
|
||||
xml_element.appendChild(createXmlProperty(xml_document, "x2", p2.x()));
|
||||
xml_element.appendChild(createXmlProperty(xml_document, "y2", p2.y()));
|
||||
|
||||
xml_element.appendChild(createXmlProperty(xml_document, "end1", Qet::endTypeToString(first_end)));
|
||||
xml_element.appendChild(createXmlProperty(xml_document, "length1", first_length));
|
||||
xml_element.appendChild(createXmlProperty(xml_document, "end2", Qet::endTypeToString(second_end)));
|
||||
xml_element.appendChild(createXmlProperty(xml_document, "length2", second_length));
|
||||
e.appendChild(createXmlProperty("end1", Qet::endTypeToString(first_end)));
|
||||
e.appendChild(createXmlProperty("length1", first_length));
|
||||
e.appendChild(createXmlProperty("end2", Qet::endTypeToString(second_end)));
|
||||
e.appendChild(createXmlProperty("length2", second_length));
|
||||
|
||||
stylesToXml(xml_document, xml_element);
|
||||
return(xml_element);
|
||||
stylesToXml(e);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -136,7 +130,7 @@ QDomElement PartLine::toXml(QDomDocument &xml_document) const
|
||||
Import the properties of this line from a xml element.
|
||||
@param qde : Xml document to use
|
||||
*/
|
||||
bool PartLine::fromXml(const QDomElement &qde) {
|
||||
bool PartLine::fromXmlPriv(const QDomElement &qde) {
|
||||
stylesFromXml(qde);
|
||||
|
||||
double x1 = 0, y1 = 0, x2 = 0, y2 = 0;
|
||||
|
||||
@@ -70,8 +70,8 @@ class PartLine : public CustomElementGraphicPart
|
||||
void paint(QPainter *, const QStyleOptionGraphicsItem *, QWidget * = nullptr) override;
|
||||
QString name() const override { return(QObject::tr("ligne", "element part name")); }
|
||||
QString xmlName() const override { return(QString("line")); }
|
||||
QDomElement toXml(QDomDocument &) const override;
|
||||
bool fromXml(const QDomElement &) override;
|
||||
void toXmlPriv(QDomElement&) const override;
|
||||
bool fromXmlPriv(const QDomElement &) override;
|
||||
bool valideXml(QDomElement& element) const;
|
||||
void toSettings(QSettings &,const QString & = QString()) const override {/*TODO: implement*/}
|
||||
void fromSettings(QSettings &,const QString & = QString()) override{/*TODO: implement*/}
|
||||
@@ -117,15 +117,15 @@ class PartLine : public CustomElementGraphicPart
|
||||
QRectF secondEndCircleRect() const;
|
||||
|
||||
/*****************/
|
||||
Qet::EndType first_end;
|
||||
Qet::EndType first_end{Qet::EndType::None};
|
||||
qreal first_length{1.5};
|
||||
|
||||
Qet::EndType second_end;
|
||||
Qet::EndType second_end{Qet::EndType::None};
|
||||
qreal second_length{1.5};
|
||||
QList<QPointF> saved_points_;
|
||||
QLineF m_line;
|
||||
int m_vector_index = -1;
|
||||
QPropertyUndoCommand *m_undo_command;
|
||||
QPropertyUndoCommand *m_undo_command{nullptr};
|
||||
QVector<QetGraphicsHandlerItem *> m_handler_vector;
|
||||
};
|
||||
#endif
|
||||
|
||||
@@ -35,6 +35,7 @@ PartPolygon::PartPolygon(QETElementEditor *editor, QGraphicsItem *parent) :
|
||||
m_closed(false),
|
||||
m_undo_command(nullptr)
|
||||
{
|
||||
setTagName("polygon");
|
||||
m_insert_point = new QAction(tr("Ajouter un point"), this);
|
||||
m_insert_point->setIcon(QET::Icons::Add);
|
||||
connect(m_insert_point, &QAction::triggered, this, &PartPolygon::insertPoint);
|
||||
@@ -89,7 +90,7 @@ void PartPolygon::paint(QPainter *painter, const QStyleOptionGraphicsItem *optio
|
||||
Import the properties of this polygon from a xml element
|
||||
@param qde : Xml document to use
|
||||
*/
|
||||
bool PartPolygon::fromXml(const QDomElement &qde)
|
||||
bool PartPolygon::fromXmlPriv(const QDomElement &qde)
|
||||
{
|
||||
stylesFromXml(qde);
|
||||
|
||||
@@ -123,26 +124,23 @@ bool PartPolygon::fromXml(const QDomElement &qde)
|
||||
}
|
||||
|
||||
/**
|
||||
@brief PartPolygon::toXml
|
||||
@brief PartPolygon::toXmlPriv
|
||||
Export this polygin in xml
|
||||
@param xml_document : Xml document to use for create the xml element
|
||||
@return an xml element that describe this polygon
|
||||
@param e: properties get part of this DomElement
|
||||
*/
|
||||
QDomElement PartPolygon::toXml(QDomDocument &xml_document) const
|
||||
void PartPolygon::toXmlPriv(QDomElement& e) const
|
||||
{
|
||||
QDomElement xml_element = xml_document.createElement("polygon");
|
||||
int i = 1;
|
||||
foreach(QPointF point, m_polygon) {
|
||||
point = mapToScene(point);
|
||||
xml_element.appendChild(createXmlProperty(xml_document, QString("x%1").arg(i), point.x()));
|
||||
xml_element.appendChild(createXmlProperty(xml_document, QString("y%1").arg(i), point.y()));
|
||||
e.appendChild(createXmlProperty(QString("x%1").arg(i), point.x()));
|
||||
e.appendChild(createXmlProperty(QString("y%1").arg(i), point.y()));
|
||||
++ i;
|
||||
}
|
||||
|
||||
xml_element.appendChild(createXmlProperty(xml_document, "closed", m_closed));
|
||||
e.appendChild(createXmlProperty("closed", m_closed));
|
||||
|
||||
stylesToXml(xml_document, xml_element);
|
||||
return(xml_element);
|
||||
stylesToXml(e);
|
||||
}
|
||||
|
||||
bool PartPolygon::valideXml(QDomElement& element) {
|
||||
|
||||
@@ -61,8 +61,8 @@ class PartPolygon : public CustomElementGraphicPart
|
||||
|
||||
QString name() const override { return(QObject::tr("polygone", "element part name")); }
|
||||
QString xmlName() const override { return(QString("polygon")); }
|
||||
bool fromXml(const QDomElement &) override;
|
||||
QDomElement toXml(QDomDocument &) const override;
|
||||
bool fromXmlPriv(const QDomElement &) override;
|
||||
void toXmlPriv(QDomElement&) const override;
|
||||
static bool valideXml(QDomElement& element);
|
||||
void toSettings(QSettings &,const QString & = QString()) const override {/*TODO: implement*/}
|
||||
void fromSettings(QSettings &,const QString & = QString()) override{/*TODO: implement*/}
|
||||
@@ -109,7 +109,7 @@ class PartPolygon : public CustomElementGraphicPart
|
||||
void removePoint();
|
||||
|
||||
|
||||
bool m_closed;
|
||||
bool m_closed{false};
|
||||
QList<QPointF> saved_points_;
|
||||
QPolygonF m_polygon;
|
||||
QPropertyUndoCommand *m_undo_command;
|
||||
|
||||
@@ -30,7 +30,9 @@
|
||||
*/
|
||||
PartRectangle::PartRectangle(QETElementEditor *editor, QGraphicsItem *parent) :
|
||||
CustomElementGraphicPart(editor, parent)
|
||||
{}
|
||||
{
|
||||
setTagName("rect");
|
||||
}
|
||||
|
||||
/**
|
||||
@brief PartRectangle::~PartRectangle
|
||||
@@ -80,20 +82,19 @@ void PartRectangle::paint(QPainter *painter, const QStyleOptionGraphicsItem *opt
|
||||
}
|
||||
|
||||
/**
|
||||
@brief PartRectangle::toXml
|
||||
@brief PartRectangle::toXmlPriv
|
||||
Export this rectangle in xml
|
||||
@param xml_document : Xml document to use for create the xml element.
|
||||
@return an xml element that describe this ellipse
|
||||
*/
|
||||
QDomElement PartRectangle::toXml(QDomDocument &xml_document) const
|
||||
void PartRectangle::toXmlPriv(QDomElement& e) const
|
||||
{
|
||||
QDomElement xml_element = xml_document.createElement("rect");
|
||||
QPointF top_left(sceneTopLeft());
|
||||
|
||||
xml_element.appendChild(createXmlProperty(xml_document, "x", top_left.x()));
|
||||
xml_element.appendChild(createXmlProperty(xml_document, "y", top_left.y()));
|
||||
xml_element.appendChild(createXmlProperty(xml_document, "width", m_rect.width()));
|
||||
xml_element.appendChild(createXmlProperty(xml_document, "height", m_rect.height()));
|
||||
e.appendChild(createXmlProperty("x", top_left.x()));
|
||||
e.appendChild(createXmlProperty("y", top_left.y()));
|
||||
e.appendChild(createXmlProperty("width", m_rect.width()));
|
||||
e.appendChild(createXmlProperty("height", m_rect.height()));
|
||||
|
||||
QRectF rect = m_rect.normalized();
|
||||
qreal x = m_xRadius;
|
||||
@@ -105,14 +106,13 @@ QDomElement PartRectangle::toXml(QDomDocument &xml_document) const
|
||||
y = rect.height()/2;
|
||||
}
|
||||
|
||||
xml_element.setAttribute("rx", QString::number(m_xRadius));
|
||||
xml_element.setAttribute("ry", QString::number(m_yRadius));
|
||||
e.setAttribute("rx", QString::number(m_xRadius));
|
||||
e.setAttribute("ry", QString::number(m_yRadius));
|
||||
|
||||
xml_element.appendChild(createXmlProperty(xml_document, "rx", m_xRadius));
|
||||
xml_element.appendChild(createXmlProperty(xml_document, "ry", m_yRadius));
|
||||
e.appendChild(createXmlProperty("rx", m_xRadius));
|
||||
e.appendChild(createXmlProperty("ry", m_yRadius));
|
||||
|
||||
stylesToXml(xml_document, xml_element);
|
||||
return(xml_element);
|
||||
stylesToXml(e);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -120,7 +120,7 @@ QDomElement PartRectangle::toXml(QDomDocument &xml_document) const
|
||||
Import the properties of this rectangle from a xml element.
|
||||
@param qde : Xml document to use.
|
||||
*/
|
||||
bool PartRectangle::fromXml(const QDomElement &qde)
|
||||
bool PartRectangle::fromXmlPriv(const QDomElement &qde)
|
||||
{
|
||||
stylesFromXml(qde);
|
||||
|
||||
|
||||
@@ -60,8 +60,8 @@ class PartRectangle : public CustomElementGraphicPart
|
||||
QString name () const override { return(QObject::tr("rectangle", "element part name")); }
|
||||
|
||||
QString xmlName () const override { return(QString("rect")); }
|
||||
QDomElement toXml (QDomDocument &) const override;
|
||||
bool fromXml (const QDomElement &) override;
|
||||
void toXmlPriv(QDomElement&) const override;
|
||||
bool fromXmlPriv (const QDomElement &) override;
|
||||
static bool valideXml(QDomElement& element);
|
||||
void toSettings(QSettings &,const QString & = QString()) const override {/*TODO: implement*/}
|
||||
void fromSettings(QSettings &,const QString & = QString()) override{/*TODO: implement*/}
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
PartTerminal::PartTerminal(QETElementEditor *editor, QGraphicsItem *parent) :
|
||||
CustomElementGraphicPart(editor, parent)
|
||||
{
|
||||
setTagName("terminal");
|
||||
d = new TerminalData(this);
|
||||
d->m_name = tr("terminal");
|
||||
d -> m_orientation = Qet::North;
|
||||
@@ -46,7 +47,7 @@ PartTerminal::~PartTerminal()
|
||||
Importe les proprietes d'une borne depuis un element XML
|
||||
@param xml_elmt Element XML a lire
|
||||
*/
|
||||
bool PartTerminal::fromXml(const QDomElement &xml_elmt) {
|
||||
bool PartTerminal::fromXmlPriv(const QDomElement &xml_elmt) {
|
||||
|
||||
// update part and add uuid, which is used in the new version 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
|
||||
@@ -67,21 +68,16 @@ bool PartTerminal::fromXml(const QDomElement &xml_elmt) {
|
||||
@param xml_document Document XML a utiliser pour creer l'element XML
|
||||
@return un element XML decrivant la borne
|
||||
*/
|
||||
QDomElement PartTerminal::toXml(QDomDocument &xml_document) const {
|
||||
void PartTerminal::toXmlPriv(QDomElement& e) const {
|
||||
|
||||
QDomElement qdo = xml_document.createElement("terminal");
|
||||
|
||||
qdo.appendChild(createXmlProperty(xml_document, "uuid", d->m_uuid));
|
||||
e.appendChild(createXmlProperty("uuid", d->m_uuid));
|
||||
|
||||
d->m_pos = pos();
|
||||
|
||||
// Do not store terminal data in its own child
|
||||
QDomElement terminalDataElement = d->toXml(xml_document);
|
||||
for (int i=0; i < terminalDataElement.childNodes().length(); i++) {
|
||||
qdo.appendChild(terminalDataElement.childNodes().at(i).cloneNode()); // cloneNode() is important, otherwise no deep clone is made
|
||||
}
|
||||
QDomDocument doc = e.ownerDocument();
|
||||
e.appendChild(d->toXml(doc));
|
||||
|
||||
return qdo;
|
||||
}
|
||||
|
||||
bool PartTerminal::valideXml(QDomElement& element) {
|
||||
|
||||
@@ -56,8 +56,8 @@ class PartTerminal : public CustomElementGraphicPart
|
||||
*/
|
||||
int type() const override { return Type; }
|
||||
QString xmlName() const override { return(QString("terminal")); }
|
||||
bool fromXml(const QDomElement &) override;
|
||||
QDomElement toXml(QDomDocument &) const override;
|
||||
bool fromXmlPriv(const QDomElement &) override;
|
||||
void toXmlPriv(QDomElement&) const override;
|
||||
static bool valideXml(QDomElement& element);
|
||||
void toSettings(QSettings &,const QString & = QString()) const override {/*TODO: implement*/}
|
||||
void fromSettings(QSettings &,const QString & = QString()) override{/*TODO: implement*/}
|
||||
|
||||
@@ -67,7 +67,7 @@ PartText::~PartText()
|
||||
Importe les proprietes d'un texte statique depuis un element XML
|
||||
@param xml_element Element XML a lire
|
||||
*/
|
||||
bool PartText::fromXml(const QDomElement &xml_element)
|
||||
bool PartText::fromXmlPriv(const QDomElement &xml_element)
|
||||
{
|
||||
int size;
|
||||
QString font;
|
||||
@@ -117,18 +117,16 @@ bool PartText::fromXml(const QDomElement &xml_element)
|
||||
@param xml_document Document XML a utiliser pour creer l'element XML
|
||||
@return un element XML decrivant le texte statique
|
||||
*/
|
||||
QDomElement PartText::toXml(QDomDocument &xml_document) const
|
||||
void PartText::toXmlPriv(QDomElement& e) const
|
||||
{
|
||||
QDomElement xml_element = xml_document.createElement(xmlName());
|
||||
//QDomElement xml_element = xml_document.createElement(xmlName());
|
||||
|
||||
xml_element.appendChild(createXmlProperty(xml_document, "x", pos().x()));
|
||||
xml_element.appendChild(createXmlProperty(xml_document, "y", pos().y()));
|
||||
xml_element.appendChild(createXmlProperty(xml_document, "text", toPlainText()));
|
||||
xml_element.appendChild(createXmlProperty(xml_document, "font", font().toString()));
|
||||
xml_element.appendChild(createXmlProperty(xml_document, "rotation", rotation()));
|
||||
xml_element.appendChild(createXmlProperty(xml_document, "color", defaultTextColor().name()));
|
||||
|
||||
return(xml_element);
|
||||
e.appendChild(createXmlProperty("x", pos().x()));
|
||||
e.appendChild(createXmlProperty("y", pos().y()));
|
||||
e.appendChild(createXmlProperty("text", toPlainText()));
|
||||
e.appendChild(createXmlProperty("font", font().toString()));
|
||||
e.appendChild(createXmlProperty("rotation", rotation()));
|
||||
e.appendChild(createXmlProperty("color", defaultTextColor().name()));
|
||||
}
|
||||
|
||||
bool PartText::valideXml(QDomElement& element) {
|
||||
|
||||
@@ -59,11 +59,11 @@ class PartText : public QGraphicsTextItem, public CustomElementPart {
|
||||
int type() const override { return Type; }
|
||||
QString name() const override { return(QObject::tr("texte", "element part name")); }
|
||||
QString xmlName() const override { return(QString("text")); }
|
||||
bool fromXml(const QDomElement &) override;
|
||||
bool fromXmlPriv(const QDomElement &) override;
|
||||
static bool valideXml(QDomElement& element);
|
||||
void toSettings(QSettings &,const QString & = QString()) const override {/*TODO: implement*/}
|
||||
void fromSettings(QSettings &,const QString & = QString()) override{/*TODO: implement*/}
|
||||
QDomElement toXml(QDomDocument &) const override;
|
||||
void toXmlPriv(QDomElement&) const override;
|
||||
void setRotation(qreal angle) {(QGraphicsObject::setRotation(QET::correctAngle(angle)));}
|
||||
bool isUseless() const override;
|
||||
QRectF sceneGeometricRect() const override;
|
||||
|
||||
Reference in New Issue
Block a user