CSV export : correctly export label

This commit is contained in:
joshua
2019-11-07 21:21:07 +01:00
parent 32a4d9c3fe
commit fc73d53d73
6 changed files with 54 additions and 41 deletions

View File

@@ -762,11 +762,13 @@ bool DynamicElementTextItem::sceneEventFilter(QGraphicsItem *watched, QEvent *ev
void DynamicElementTextItem::elementInfoChanged()
{
DiagramContext dc;
if(elementUseForInfo())
dc = elementUseForInfo()->elementInformations();
Element *element = elementUseForInfo();
if(element) {
dc = element->elementInformations();
}
QString final_text;
Element *element = elementUseForInfo();
if (m_text_from == ElementInfo)
{
@@ -775,14 +777,14 @@ void DynamicElementTextItem::elementInfoChanged()
if(m_info_name == "label")
{
setupFormulaConnection();
if (dc.value("formula").toString().isEmpty())
final_text = dc.value(m_info_name).toString();
else
final_text = autonum::AssignVariables::formulaToLabel(dc.value("formula").toString(), element->rSequenceStruct(), element->diagram(), element);
if (element) {
final_text = element->actualLabel();
}
}
else
else {
final_text = dc.value(m_info_name).toString();
}
}
else if (m_text_from == CompositeText)
{
@@ -1040,20 +1042,18 @@ void DynamicElementTextItem::updateLabel()
(m_text_from == CompositeText && m_composite_text.contains("%{label}")))
{
DiagramContext dc;
if(elementUseForInfo())
dc = elementUseForInfo()->elementInformations();
Element *element = elementUseForInfo();
if(element) {
dc = element->elementInformations();
}
Element *element = elementUseForInfo();
if(m_text_from == ElementInfo)
{
if(dc.value("formula").toString().isEmpty())
setPlainText(dc.value("label").toString());
else
setPlainText(autonum::AssignVariables::formulaToLabel(dc.value("formula").toString(), element->rSequenceStruct(), element->diagram(), element));
if(m_text_from == ElementInfo && element) {
setPlainText(element->actualLabel());
}
else if (m_text_from == CompositeText)
else if (m_text_from == CompositeText) {
setPlainText(autonum::AssignVariables::replaceVariable(m_composite_text, dc));
}
}
}
@@ -1172,7 +1172,7 @@ QString DynamicElementTextItem::reportReplacedCompositeText() const
{
Element *elmt = m_other_report.data();
QString label = m_report_formula;
label = autonum::AssignVariables::formulaToLabel(label, elmt->rSequenceStruct(), elmt->diagram(), elmt);
label = elmt->actualLabel();
string.replace("%{label}", label);
}
if (m_watched_conductor)