mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2025-12-18 05:00:33 +01:00
Element editor : Now every "old text" are converted to the new dynamic text, when open an element in the element editor
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@5263 bfdf4180-ca20-0410-9c96-a3a8aa849046
This commit is contained in:
@@ -971,7 +971,6 @@ ElementContent ElementScene::loadContent(const QDomDocument &xml_document)
|
|||||||
continue;
|
continue;
|
||||||
CustomElementPart *cep = nullptr;
|
CustomElementPart *cep = nullptr;
|
||||||
PartDynamicTextField *pdtf = nullptr;
|
PartDynamicTextField *pdtf = nullptr;
|
||||||
bool convertibleTextField = false;
|
|
||||||
|
|
||||||
if (qde.tagName() == "line") cep = new PartLine (m_element_editor);
|
if (qde.tagName() == "line") cep = new PartLine (m_element_editor);
|
||||||
else if (qde.tagName() == "rect") cep = new PartRectangle(m_element_editor);
|
else if (qde.tagName() == "rect") cep = new PartRectangle(m_element_editor);
|
||||||
@@ -983,14 +982,7 @@ ElementContent ElementScene::loadContent(const QDomDocument &xml_document)
|
|||||||
else if (qde.tagName() == "arc") cep = new PartArc (m_element_editor);
|
else if (qde.tagName() == "arc") cep = new PartArc (m_element_editor);
|
||||||
else if (qde.tagName() == "dynamic_text") cep = new PartDynamicTextField (m_element_editor);
|
else if (qde.tagName() == "dynamic_text") cep = new PartDynamicTextField (m_element_editor);
|
||||||
//For the input (aka the old text field) we try to convert it to the new partDynamicTextField
|
//For the input (aka the old text field) we try to convert it to the new partDynamicTextField
|
||||||
else if (qde.tagName() == "input")
|
else if (qde.tagName() == "input") cep = pdtf = new PartDynamicTextField(m_element_editor);
|
||||||
{
|
|
||||||
convertibleTextField = PartDynamicTextField::canImportFromTextField(qde);
|
|
||||||
if(convertibleTextField)
|
|
||||||
cep = pdtf = new PartDynamicTextField(m_element_editor);
|
|
||||||
else
|
|
||||||
cep = new PartTextField(m_element_editor);
|
|
||||||
}
|
|
||||||
else continue;
|
else continue;
|
||||||
|
|
||||||
if (QGraphicsItem *qgi = dynamic_cast<QGraphicsItem *>(cep))
|
if (QGraphicsItem *qgi = dynamic_cast<QGraphicsItem *>(cep))
|
||||||
@@ -1000,7 +992,7 @@ ElementContent ElementScene::loadContent(const QDomDocument &xml_document)
|
|||||||
|
|
||||||
loaded_parts<<qgi;
|
loaded_parts<<qgi;
|
||||||
|
|
||||||
if(convertibleTextField)
|
if(pdtf)
|
||||||
pdtf->fromTextFieldXml(qde);
|
pdtf->fromTextFieldXml(qde);
|
||||||
else
|
else
|
||||||
cep->fromXml(qde);
|
cep->fromXml(qde);
|
||||||
|
|||||||
@@ -25,24 +25,6 @@
|
|||||||
#include <QColor>
|
#include <QColor>
|
||||||
#include <QMatrix>
|
#include <QMatrix>
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief PartDynamicTextField::PartDynamicTextField
|
|
||||||
* Return if a dynamic text field can import information from the xml definition of a text field
|
|
||||||
* @param editor
|
|
||||||
* @param parent
|
|
||||||
*/
|
|
||||||
bool PartDynamicTextField::canImportFromTextField(const QDomElement &dom_element)
|
|
||||||
{
|
|
||||||
if(dom_element.tagName() != "input")
|
|
||||||
return false;
|
|
||||||
|
|
||||||
QString tagg = dom_element.attribute("tagg", "none");
|
|
||||||
if(tagg == "none")
|
|
||||||
return true;
|
|
||||||
else
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
PartDynamicTextField::PartDynamicTextField(QETElementEditor *editor, QGraphicsItem *parent) :
|
PartDynamicTextField::PartDynamicTextField(QETElementEditor *editor, QGraphicsItem *parent) :
|
||||||
QGraphicsTextItem(parent),
|
QGraphicsTextItem(parent),
|
||||||
CustomElementPart(editor),
|
CustomElementPart(editor),
|
||||||
@@ -202,11 +184,22 @@ void PartDynamicTextField::fromXml(const QDomElement &dom_elmt)
|
|||||||
*/
|
*/
|
||||||
void PartDynamicTextField::fromTextFieldXml(const QDomElement &dom_element)
|
void PartDynamicTextField::fromTextFieldXml(const QDomElement &dom_element)
|
||||||
{
|
{
|
||||||
if(canImportFromTextField(dom_element))
|
if(dom_element.tagName() != "input")
|
||||||
{
|
return;
|
||||||
|
|
||||||
setFont(QETApp::diagramTextsFont(dom_element.attribute("size", QString::number(9)).toInt()));
|
setFont(QETApp::diagramTextsFont(dom_element.attribute("size", QString::number(9)).toInt()));
|
||||||
setTextFrom(DynamicElementTextItem::UserText);
|
|
||||||
setText(dom_element.attribute("text", "_"));
|
if(dom_element.attribute("tagg", "none") == "none")
|
||||||
|
{
|
||||||
|
setTextFrom(DynamicElementTextItem::UserText);
|
||||||
|
setText(dom_element.attribute("text", "_"));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
setTextFrom(DynamicElementTextItem::ElementInfo);
|
||||||
|
setInfoName(dom_element.attribute("tagg", "label"));
|
||||||
|
}
|
||||||
|
|
||||||
QGraphicsTextItem::setRotation(dom_element.attribute("rotation", "0").toDouble());
|
QGraphicsTextItem::setRotation(dom_element.attribute("rotation", "0").toDouble());
|
||||||
|
|
||||||
//the origin transformation point of PartDynamicTextField is the top left corner, no matter the font size
|
//the origin transformation point of PartDynamicTextField is the top left corner, no matter the font size
|
||||||
@@ -221,7 +214,6 @@ void PartDynamicTextField::fromTextFieldXml(const QDomElement &dom_element)
|
|||||||
matrix.translate(dom_element.attribute("x", QString::number(0)).toDouble(),
|
matrix.translate(dom_element.attribute("x", QString::number(0)).toDouble(),
|
||||||
dom_element.attribute("y", QString::number(0)).toDouble());
|
dom_element.attribute("y", QString::number(0)).toDouble());
|
||||||
QGraphicsTextItem::setPos(matrix.map(pos));
|
QGraphicsTextItem::setPos(matrix.map(pos));
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -42,9 +42,6 @@ class PartDynamicTextField : public QGraphicsTextItem, public CustomElementPart
|
|||||||
Q_PROPERTY(bool frame READ frame WRITE setFrame NOTIFY frameChanged)
|
Q_PROPERTY(bool frame READ frame WRITE setFrame NOTIFY frameChanged)
|
||||||
Q_PROPERTY(qreal textWidth READ textWidth WRITE setTextWidth NOTIFY textWidthChanged)
|
Q_PROPERTY(qreal textWidth READ textWidth WRITE setTextWidth NOTIFY textWidthChanged)
|
||||||
|
|
||||||
public:
|
|
||||||
static bool canImportFromTextField(const QDomElement &dom_element);
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
///PROPERTY
|
///PROPERTY
|
||||||
void setProperty(const char *name, const QVariant &value) override {QGraphicsTextItem::setProperty(name, value);}
|
void setProperty(const char *name, const QVariant &value) override {QGraphicsTextItem::setProperty(name, value);}
|
||||||
|
|||||||
Reference in New Issue
Block a user