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
This commit is contained in:
blacksun
2018-03-11 16:26:02 +00:00
parent d6f418fa83
commit 1077c91b6f

View File

@@ -232,6 +232,20 @@ DynamicElementTextItem::TextFrom PartDynamicTextField::textFrom() const {
void PartDynamicTextField::setTextFrom(DynamicElementTextItem::TextFrom text_from) void PartDynamicTextField::setTextFrom(DynamicElementTextItem::TextFrom text_from)
{ {
m_text_from = 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); emit textFromChanged(m_text_from);
} }
@@ -258,6 +272,8 @@ void PartDynamicTextField::setText(const QString &text)
void PartDynamicTextField::setInfoName(const QString &info_name) void PartDynamicTextField::setInfoName(const QString &info_name)
{ {
m_info_name = 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); emit infoNameChanged(m_info_name);
} }
@@ -277,7 +293,7 @@ QString PartDynamicTextField::infoName() const{
void PartDynamicTextField::setCompositeText(const QString &text) void PartDynamicTextField::setCompositeText(const QString &text)
{ {
m_composite_text = text; m_composite_text = text;
if(elementScene()) if(m_text_from == DynamicElementTextItem::CompositeText && elementScene())
setPlainText(autonum::AssignVariables::replaceVariable(m_composite_text, elementScene()->elementInformation())); setPlainText(autonum::AssignVariables::replaceVariable(m_composite_text, elementScene()->elementInformation()));
emit compositeTextChanged(m_composite_text); emit compositeTextChanged(m_composite_text);
} }