From a4461fd1ba1eb380a04b4a908dafddc4227e4051 Mon Sep 17 00:00:00 2001 From: blacksun Date: Mon, 20 Oct 2014 21:23:12 +0000 Subject: [PATCH] Edit the propertie "label" of a simple element have the same behavior of master element: The text field tagged "label" show the text edited in the propertie and isn't editable. git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@3387 bfdf4180-ca20-0410-9c96-a3a8aa849046 --- sources/qetgraphicsitem/simpleelement.cpp | 30 ++++++++++++++++++++++- sources/qetgraphicsitem/simpleelement.h | 4 ++- 2 files changed, 32 insertions(+), 2 deletions(-) diff --git a/sources/qetgraphicsitem/simpleelement.cpp b/sources/qetgraphicsitem/simpleelement.cpp index 657e8c314..9ecfdc12e 100644 --- a/sources/qetgraphicsitem/simpleelement.cpp +++ b/sources/qetgraphicsitem/simpleelement.cpp @@ -16,9 +16,37 @@ along with QElectroTech. If not, see . */ #include "simpleelement.h" - +/** + * @brief SimpleElement::SimpleElement + * @param location + * @param qgi + * @param s + * @param state + */ SimpleElement::SimpleElement(const ElementsLocation &location, QGraphicsItem *qgi, Diagram *s, int *state) : CustomElement(location, qgi, s, state) { link_type_ = Simple; + connect(this, SIGNAL(elementInfoChange(DiagramContext)), this, SLOT(updateLabel())); +} + +/** + * @brief SimpleElement::~SimpleElement + */ +SimpleElement::~SimpleElement() { + disconnect(this, SIGNAL(elementInfoChange(DiagramContext)), this, SLOT(updateLabel())); +} + +/** + * @brief SimpleElement::updateLabel + * update label of this element + */ +void SimpleElement::updateLabel() { + QString label = elementInformations()["label"].toString(); + bool show = elementInformations().keyMustShow("label"); + + // setup the label + (label.isEmpty() || !show)? + setTaggedText("label", "_", false): + setTaggedText("label", label, true); } diff --git a/sources/qetgraphicsitem/simpleelement.h b/sources/qetgraphicsitem/simpleelement.h index a0d326a40..1c8ca7e91 100644 --- a/sources/qetgraphicsitem/simpleelement.h +++ b/sources/qetgraphicsitem/simpleelement.h @@ -29,11 +29,13 @@ class SimpleElement : public CustomElement { Q_OBJECT public : - explicit SimpleElement(const ElementsLocation &, QGraphicsItem * = 0, Diagram * = 0, int * = 0); + explicit SimpleElement(const ElementsLocation &, QGraphicsItem * = 0, Diagram * = 0, int * = 0); + ~SimpleElement(); signals: public slots: + void updateLabel(); };