From 1077c91b6f77ad1bfe07582935834bc4ab0c4d58 Mon Sep 17 00:00:00 2001 From: blacksun Date: Sun, 11 Mar 2018 16:26:02 +0000 Subject: [PATCH] Element editor : keep up to date the displayed text of dynamic text item when change the source of text. git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@5267 bfdf4180-ca20-0410-9c96-a3a8aa849046 --- .../graphicspart/partdynamictextfield.cpp | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/sources/editor/graphicspart/partdynamictextfield.cpp b/sources/editor/graphicspart/partdynamictextfield.cpp index de7f854eb..2166db5c4 100644 --- a/sources/editor/graphicspart/partdynamictextfield.cpp +++ b/sources/editor/graphicspart/partdynamictextfield.cpp @@ -232,6 +232,20 @@ DynamicElementTextItem::TextFrom PartDynamicTextField::textFrom() const { void PartDynamicTextField::setTextFrom(DynamicElementTextItem::TextFrom text_from) { m_text_from = text_from; + switch (m_text_from) + { + case DynamicElementTextItem::UserText: + setPlainText(m_text); + break; + case DynamicElementTextItem::ElementInfo: + setInfoName(m_info_name); + break; + case DynamicElementTextItem::CompositeText: + setCompositeText(m_composite_text); + break; + default: + break; + } emit textFromChanged(m_text_from); } @@ -258,6 +272,8 @@ void PartDynamicTextField::setText(const QString &text) void PartDynamicTextField::setInfoName(const QString &info_name) { m_info_name = info_name; + if(m_text_from == DynamicElementTextItem::ElementInfo && elementScene()) + setPlainText(elementScene()->elementInformation().value(m_info_name).toString()); emit infoNameChanged(m_info_name); } @@ -277,7 +293,7 @@ QString PartDynamicTextField::infoName() const{ void PartDynamicTextField::setCompositeText(const QString &text) { m_composite_text = text; - if(elementScene()) + if(m_text_from == DynamicElementTextItem::CompositeText && elementScene()) setPlainText(autonum::AssignVariables::replaceVariable(m_composite_text, elementScene()->elementInformation())); emit compositeTextChanged(m_composite_text); }