master element: add auto label when "comment" isn't empty and must show

element info widget -> comment line: must show is checked by default


git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@2951 bfdf4180-ca20-0410-9c96-a3a8aa849046
This commit is contained in:
blacksun
2014-03-31 16:02:47 +00:00
parent 9766b8f01e
commit 1a1dbbc3be
3 changed files with 19 additions and 1 deletions

View File

@@ -30,6 +30,7 @@ MasterElement::MasterElement(const ElementsLocation &location, QGraphicsItem *qg
{
link_type_ = Master;
cri_ = 0;
connect(this, SIGNAL(elementInfoChange(DiagramContext)), this, SLOT(updateLabel()));
}
/**
@@ -38,6 +39,7 @@ MasterElement::MasterElement(const ElementsLocation &location, QGraphicsItem *qg
*/
MasterElement::~MasterElement() {
unlinkAllElements();
disconnect(this, SIGNAL(elementInfoChange(DiagramContext)), this, SLOT(updateLabel()));
}
/**
@@ -92,3 +94,17 @@ void MasterElement::unlinkElement(Element *elmt) {
}
}
}
/**
* @brief MasterElement::updateLabel
* update label of this element
*/
void MasterElement::updateLabel() {
QString label = elementInformations()["label"].toString();
bool show = elementInformations().keyMustShow("label");
// setup the label
(label.isEmpty() || !show)?
setTaggedText("label", "_", false):
setTaggedText("label", label, true);
}

View File

@@ -35,10 +35,10 @@ class MasterElement : public CustomElement
signals:
public slots:
void updateLabel();
private:
CrossRefItem *cri_;
};
#endif // MASTERELEMENT_H

View File

@@ -86,5 +86,7 @@ void ElementInfoWidget::fillInfo() {
//check "show" if this eipw is label and if elmt_info haven't got value for label.
if (eipw->key() == "label" && (elmt_info["label"].toString().isEmpty()))
eipw->setShow(true);
else if (eipw->key() == "comment" && (elmt_info["comment"].toString().isEmpty()))
eipw->setShow(true);
}
}