From 6693bb6cad5d5db2d6f55bc95e4220fc595f28d3 Mon Sep 17 00:00:00 2001 From: blacksun Date: Tue, 7 Nov 2017 18:35:26 +0000 Subject: [PATCH] Dynamic element text can have a frame git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@5093 bfdf4180-ca20-0410-9c96-a3a8aa849046 --- .../graphicspart/partdynamictextfield.cpp | 54 ++++++++++++ .../graphicspart/partdynamictextfield.h | 6 ++ sources/editor/ui/dynamictextfieldeditor.cpp | 26 ++++-- sources/editor/ui/dynamictextfieldeditor.h | 3 +- sources/editor/ui/dynamictextfieldeditor.ui | 7 ++ .../dynamicelementtextitem.cpp | 54 ++++++++++++ .../qetgraphicsitem/dynamicelementtextitem.h | 6 ++ sources/ui/dynamicelementtextmodel.cpp | 82 ++++++++++++------- sources/ui/dynamicelementtextmodel.h | 3 +- 9 files changed, 204 insertions(+), 37 deletions(-) diff --git a/sources/editor/graphicspart/partdynamictextfield.cpp b/sources/editor/graphicspart/partdynamictextfield.cpp index 5522ad5d2..e5b42f113 100644 --- a/sources/editor/graphicspart/partdynamictextfield.cpp +++ b/sources/editor/graphicspart/partdynamictextfield.cpp @@ -104,6 +104,7 @@ const QDomElement PartDynamicTextField::toXml(QDomDocument &dom_doc) const root_element.setAttribute("rotation", QString::number(QET::correctAngle(rotation()))); root_element.setAttribute("font_size", font().pointSize()); root_element.setAttribute("uuid", m_uuid.toString()); + root_element.setAttribute("frame", m_frame? "true" : "false"); QMetaEnum me = DynamicElementTextItem::textFromMetaEnum(); @@ -165,6 +166,7 @@ void PartDynamicTextField::fromXml(const QDomElement &dom_elmt) QGraphicsTextItem::setRotation(dom_elmt.attribute("rotation", QString::number(0)).toDouble()); setFont(QETApp::diagramTextsFont(dom_elmt.attribute("font_size", QString::number(9)).toInt())); m_uuid = QUuid(dom_elmt.attribute("uuid", QUuid::createUuid().toString())); + m_frame = dom_elmt.attribute("frame", "false") == "true"? true : false; QMetaEnum me = DynamicElementTextItem::textFromMetaEnum(); m_text_from = DynamicElementTextItem::TextFrom(me.keyToValue(dom_elmt.attribute("text_from").toStdString().data())); @@ -349,6 +351,18 @@ int PartDynamicTextField::fontSize() const { return font().pointSize(); } +void PartDynamicTextField::setFrame(bool frame) +{ + m_frame = frame; + update(); + emit frameChanged(m_frame); +} + +bool PartDynamicTextField::frame() const +{ + return m_frame; +} + /** * @brief PartDynamicTextField::mouseMoveEvent * @param event @@ -408,3 +422,43 @@ QVariant PartDynamicTextField::itemChange(QGraphicsItem::GraphicsItemChange chan return(QGraphicsTextItem::itemChange(change, value)); } + +void PartDynamicTextField::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) +{ + QGraphicsTextItem::paint(painter, option, widget); + + if (m_frame) + { + painter->save(); + painter->setFont(QETApp::diagramTextsFont(fontSize())); + + //Adjust the thickness according to the font size, + qreal w=0.3; + if(fontSize() >= 5) + { + w = (qreal)fontSize()*0.1; + if(w > 2.5) + w = 2.5; + } + + QPen pen; + pen.setColor(color()); + pen.setWidthF(w); + painter->setPen(pen); + painter->setRenderHint(QPainter::Antialiasing); + + //Get the bounding rectangle of the text + QRectF text_bounding = painter->boundingRect(boundingRect(), toPlainText()); + //Center text_bounding in the bounding rect of this + text_bounding.moveTop((boundingRect().height()-text_bounding.height())/2); + text_bounding.moveLeft((boundingRect().width() - text_bounding.width())/2); + //adjust only for better visual + text_bounding.adjust(-2,0,2,0); + + //Adjust the rounding of the rectangle according to the size of the font + qreal ro = (qreal)fontSize()/3; + painter->drawRoundedRect(text_bounding, ro, ro); + + painter->restore(); + } +} diff --git a/sources/editor/graphicspart/partdynamictextfield.h b/sources/editor/graphicspart/partdynamictextfield.h index ceed68314..3e83159bb 100644 --- a/sources/editor/graphicspart/partdynamictextfield.h +++ b/sources/editor/graphicspart/partdynamictextfield.h @@ -40,6 +40,7 @@ class PartDynamicTextField : public QGraphicsTextItem, public CustomElementPart Q_PROPERTY(QString compositeText READ compositeText WRITE setCompositeText NOTIFY compositeTextChanged) Q_PROPERTY(QColor color READ color WRITE setColor NOTIFY colorChanged) Q_PROPERTY(int fontSize READ fontSize WRITE setFontSize NOTIFY fontSizeChanged) + Q_PROPERTY(bool frame READ frame WRITE setFrame NOTIFY frameChanged) public: static bool canImportFromTextField(const QDomElement &dom_element); @@ -57,6 +58,7 @@ class PartDynamicTextField : public QGraphicsTextItem, public CustomElementPart void compositeTextChanged(QString text); void colorChanged(QColor color); void fontSizeChanged(int size); + void frameChanged(bool frame); public: PartDynamicTextField(QETElementEditor *editor, QGraphicsItem *parent = nullptr); @@ -89,12 +91,15 @@ class PartDynamicTextField : public QGraphicsTextItem, public CustomElementPart QColor color() const; void setFontSize(int s); int fontSize()const; + void setFrame(bool frame); + bool frame() const; protected: void mouseMoveEvent(QGraphicsSceneMouseEvent *event) override; void mousePressEvent(QGraphicsSceneMouseEvent *event) override; void mouseReleaseEvent(QGraphicsSceneMouseEvent *event) override; QVariant itemChange(GraphicsItemChange change, const QVariant &value) override; + void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) override; private: QPointF m_origine_pos, @@ -107,6 +112,7 @@ class PartDynamicTextField : public QGraphicsTextItem, public CustomElementPart DynamicElementTextItem::TextFrom m_text_from = DynamicElementTextItem::UserText; QUuid m_uuid; + bool m_frame = false; }; #endif // PARTDYNAMICTEXTFIELD_H diff --git a/sources/editor/ui/dynamictextfieldeditor.cpp b/sources/editor/ui/dynamictextfieldeditor.cpp index f5aef025b..dfaac40b7 100644 --- a/sources/editor/ui/dynamictextfieldeditor.cpp +++ b/sources/editor/ui/dynamictextfieldeditor.cpp @@ -74,6 +74,7 @@ bool DynamicTextFieldEditor::setPart(CustomElementPart *part) m_connection_list << connect(m_text_field.data(), &PartDynamicTextField::textChanged, [this](){this->updateForm();}); m_connection_list << connect(m_text_field.data(), &PartDynamicTextField::infoNameChanged, [this](){this->updateForm();}); m_connection_list << connect(m_text_field.data(), &PartDynamicTextField::rotationChanged, [this](){this->updateForm();}); + m_connection_list << connect(m_text_field.data(), &PartDynamicTextField::frameChanged, [this](){this->updateForm();}); m_connection_list << connect(m_text_field.data(), &PartDynamicTextField::compositeTextChanged, [this]() {this->updateForm();}); return true; @@ -95,6 +96,7 @@ void DynamicTextFieldEditor::updateForm() ui->m_x_sb->setValue(m_text_field.data()->x()); ui->m_y_sb->setValue(m_text_field.data()->y()); ui->m_rotation_sb->setValue(QET::correctAngle(m_text_field.data()->rotation())); + ui->m_frame_cb->setChecked(m_text_field.data()->frame()); ui->m_user_text_le->setText(m_text_field.data()->text()); ui->m_size_sb->setValue(m_text_field.data()->fontSize()); ui->m_tagg_le->setText(m_text_field.data()->tagg()); @@ -112,7 +114,7 @@ void DynamicTextFieldEditor::setColorPushButton(QColor color) void DynamicTextFieldEditor::on_m_x_sb_editingFinished() { QPropertyUndoCommand *undo = new QPropertyUndoCommand(m_text_field, "x", m_text_field.data()->x(), ui->m_x_sb->value()); - undo->setText(tr("Déplacer un champ texte dynamique")); + undo->setText(tr("Déplacer un champ texte")); undo->enableAnimation(true); undoStack().push(undo); } @@ -120,7 +122,7 @@ void DynamicTextFieldEditor::on_m_x_sb_editingFinished() void DynamicTextFieldEditor::on_m_y_sb_editingFinished() { QPropertyUndoCommand *undo = new QPropertyUndoCommand(m_text_field, "y", m_text_field.data()->y(), ui->m_y_sb->value()); - undo->setText(tr("Déplacer un champ texte dynamique")); + undo->setText(tr("Déplacer un champ texte")); undo->enableAnimation(true); undoStack().push(undo); } @@ -128,7 +130,7 @@ void DynamicTextFieldEditor::on_m_y_sb_editingFinished() void DynamicTextFieldEditor::on_m_rotation_sb_editingFinished() { QPropertyUndoCommand *undo = new QPropertyUndoCommand(m_text_field, "rotation", m_text_field.data()->rotation(), ui->m_rotation_sb->value()); - undo->setText(tr("Pivoter un champ texte dynamique")); + undo->setText(tr("Pivoter un champ texte")); undo->enableAnimation(true); undoStack().push(undo); } @@ -136,14 +138,14 @@ void DynamicTextFieldEditor::on_m_rotation_sb_editingFinished() void DynamicTextFieldEditor::on_m_user_text_le_editingFinished() { QPropertyUndoCommand *undo = new QPropertyUndoCommand(m_text_field, "text", m_text_field.data()->text(), ui->m_user_text_le->text()); - undo->setText(tr("Modifier le texte d'un champ texte dynamique")); + undo->setText(tr("Modifier le texte d'un champ texte")); undoStack().push(undo); } void DynamicTextFieldEditor::on_m_size_sb_editingFinished() { QPropertyUndoCommand *undo = new QPropertyUndoCommand(m_text_field, "fontSize", m_text_field.data()->fontSize(), ui->m_size_sb->value()); - undo->setText(tr("Modifier la taille d'un champ texte dynamique")); + undo->setText(tr("Modifier la taille d'un champ texte")); undo->enableAnimation(true); undoStack().push(undo); } @@ -155,8 +157,20 @@ void DynamicTextFieldEditor::on_m_color_pb_clicked() if(color.isValid() && color != m_text_field.data()->color()) { QPropertyUndoCommand *undo = new QPropertyUndoCommand(m_text_field, "color", m_text_field.data()->color(), color); - undo->setText(tr("Modifier la couleur d'un champ texte dynamique")); + undo->setText(tr("Modifier la couleur d'un champ texte")); undoStack().push(undo); setColorPushButton(m_text_field.data()->color()); } } + +void DynamicTextFieldEditor::on_m_frame_cb_clicked() +{ + bool frame = ui->m_frame_cb->isChecked(); + + if(frame != m_text_field.data()->frame()) + { + QPropertyUndoCommand *undo = new QPropertyUndoCommand(m_text_field, "frame", m_text_field.data()->frame(), frame); + undo->setText(tr("Modifier le cadre d'un champ texte")); + undoStack().push(undo); + } +} diff --git a/sources/editor/ui/dynamictextfieldeditor.h b/sources/editor/ui/dynamictextfieldeditor.h index 9488fd251..2766d8881 100644 --- a/sources/editor/ui/dynamictextfieldeditor.h +++ b/sources/editor/ui/dynamictextfieldeditor.h @@ -50,7 +50,8 @@ class DynamicTextFieldEditor : public ElementItemEditor void on_m_rotation_sb_editingFinished(); void on_m_user_text_le_editingFinished(); void on_m_size_sb_editingFinished(); - void on_m_color_pb_clicked(); + void on_m_color_pb_clicked(); + void on_m_frame_cb_clicked(); private: Ui::DynamicTextFieldEditor *ui; diff --git a/sources/editor/ui/dynamictextfieldeditor.ui b/sources/editor/ui/dynamictextfieldeditor.ui index aded1e148..e2063d550 100644 --- a/sources/editor/ui/dynamictextfieldeditor.ui +++ b/sources/editor/ui/dynamictextfieldeditor.ui @@ -143,6 +143,13 @@ + + + + cadre + + + diff --git a/sources/qetgraphicsitem/dynamicelementtextitem.cpp b/sources/qetgraphicsitem/dynamicelementtextitem.cpp index 06f751204..37223d10a 100644 --- a/sources/qetgraphicsitem/dynamicelementtextitem.cpp +++ b/sources/qetgraphicsitem/dynamicelementtextitem.cpp @@ -114,6 +114,7 @@ QDomElement DynamicElementTextItem::toXml(QDomDocument &dom_doc) const root_element.setAttribute("rotation", QString::number(QET::correctAngle(rotation()))); root_element.setAttribute("font_size", font().pointSize()); root_element.setAttribute("uuid", m_uuid.toString()); + root_element.setAttribute("frame", m_frame? "true" : "false"); QMetaEnum me = textFromMetaEnum(); root_element.setAttribute("text_from", me.valueToKey(m_text_from)); @@ -174,6 +175,7 @@ void DynamicElementTextItem::fromXml(const QDomElement &dom_elmt) QGraphicsTextItem::setRotation(dom_elmt.attribute("rotation", QString::number(0)).toDouble()); setFont(QETApp::diagramTextsFont(dom_elmt.attribute("font_size", QString::number(9)).toInt())); m_uuid = QUuid(dom_elmt.attribute("uuid", QUuid::createUuid().toString())); + m_frame = dom_elmt.attribute("frame", "false") == "true"? true : false; QMetaEnum me = textFromMetaEnum(); m_text_from = DynamicElementTextItem::TextFrom(me.keyToValue(dom_elmt.attribute("text_from").toStdString().data())); @@ -479,6 +481,18 @@ QString DynamicElementTextItem::compositeText() const return m_composite_text; } +void DynamicElementTextItem::setFrame(const bool frame) +{ + m_frame = frame; + update(); + emit frameChanged(m_frame); +} + +bool DynamicElementTextItem::frame() const +{ + return m_frame; +} + /** * @brief DynamicElementTextItem::mousePressEvent * @param event @@ -653,6 +667,46 @@ void DynamicElementTextItem::hoverLeaveEvent(QGraphicsSceneHoverEvent *event) } +void DynamicElementTextItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) +{ + DiagramTextItem::paint(painter, option, widget); + + if (m_frame) + { + painter->save(); + painter->setFont(QETApp::diagramTextsFont(fontSize())); + + //Adjust the thickness according to the font size, + qreal w=0.3; + if(fontSize() >= 5) + { + w = (qreal)fontSize()*0.1; + if(w > 2.5) + w = 2.5; + } + + QPen pen; + pen.setColor(color()); + pen.setWidthF(w); + painter->setPen(pen); + painter->setRenderHint(QPainter::Antialiasing); + + //Get the bounding rectangle of the text + QRectF text_bounding = painter->boundingRect(boundingRect(), toPlainText()); + //Center text_bounding in the bounding rect of this + text_bounding.moveTop((boundingRect().height()-text_bounding.height())/2); + text_bounding.moveLeft((boundingRect().width() - text_bounding.width())/2); + //adjust only for better visual + text_bounding.adjust(-2,0,2,0); + + //Adjust the rounding of the rectangle according to the size of the font + qreal ro = (qreal)fontSize()/3; + painter->drawRoundedRect(text_bounding, ro, ro); + + painter->restore(); + } +} + void DynamicElementTextItem::elementInfoChanged() { DiagramContext dc; diff --git a/sources/qetgraphicsitem/dynamicelementtextitem.h b/sources/qetgraphicsitem/dynamicelementtextitem.h index 89f4010fe..8a46a3a24 100644 --- a/sources/qetgraphicsitem/dynamicelementtextitem.h +++ b/sources/qetgraphicsitem/dynamicelementtextitem.h @@ -44,6 +44,7 @@ class DynamicElementTextItem : public DiagramTextItem Q_PROPERTY(TextFrom textFrom READ textFrom WRITE setTextFrom NOTIFY textFromChanged) Q_PROPERTY(QString infoName READ infoName WRITE setInfoName NOTIFY infoNameChanged) Q_PROPERTY(QString compositeText READ compositeText WRITE setCompositeText NOTIFY compositeTextChanged) + Q_PROPERTY(bool frame READ frame WRITE setFrame NOTIFY frameChanged) public: Q_ENUMS(TextFrom) @@ -61,6 +62,7 @@ class DynamicElementTextItem : public DiagramTextItem void textFromChanged(DynamicElementTextItem::TextFrom text_from); void infoNameChanged(QString info); void compositeTextChanged(QString text); + void frameChanged(bool frame); public: DynamicElementTextItem(Element *parent_element); @@ -89,6 +91,8 @@ class DynamicElementTextItem : public DiagramTextItem QString infoName() const; void setCompositeText(const QString &text); QString compositeText() const; + void setFrame(const bool frame); + bool frame() const; protected: void mousePressEvent(QGraphicsSceneMouseEvent *event) override; @@ -97,6 +101,7 @@ class DynamicElementTextItem : public DiagramTextItem void mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event) override; void hoverEnterEvent(QGraphicsSceneHoverEvent *event) override; void hoverLeaveEvent(QGraphicsSceneHoverEvent *event) override; + void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) override; private: void elementInfoChanged(); @@ -132,6 +137,7 @@ class DynamicElementTextItem : public DiagramTextItem QMetaObject::Connection m_report_formula_con; QList m_formula_connection; QColor m_user_color; + bool m_frame = false; }; #endif // DYNAMICELEMENTTEXTITEM_H diff --git a/sources/ui/dynamicelementtextmodel.cpp b/sources/ui/dynamicelementtextmodel.cpp index c58307670..49a90a3bf 100644 --- a/sources/ui/dynamicelementtextmodel.cpp +++ b/sources/ui/dynamicelementtextmodel.cpp @@ -121,6 +121,17 @@ void DynamicElementTextModel::addText(DynamicElementTextItem *deti) qsi_list << composite << compositea; src->appendRow(qsi_list); + //Tagg + QStandardItem *tagg = new QStandardItem(tr("Tagg")); + tagg->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled); + + QStandardItem *tagga = new QStandardItem(deti->tagg()); + tagga->setData(DynamicElementTextModel::tagg, Qt::UserRole+1); + tagga->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled | Qt::ItemIsEditable); + + qsi_list.clear(); + qsi_list << tagg << tagga; + qsi->appendRow(qsi_list); //Size QStandardItem *size = new QStandardItem(tr("Taille")); @@ -134,19 +145,7 @@ void DynamicElementTextModel::addText(DynamicElementTextItem *deti) qsi_list.clear(); qsi_list << size << siza; qsi->appendRow(qsi_list); - - //Tagg - QStandardItem *tagg = new QStandardItem(tr("Tagg")); - tagg->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled); - - QStandardItem *tagga = new QStandardItem(deti->tagg()); - tagga->setData(DynamicElementTextModel::tagg, Qt::UserRole+1); - tagga->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled | Qt::ItemIsEditable); - - qsi_list.clear(); - qsi_list << tagg << tagga; - qsi->appendRow(qsi_list); - + //Color QStandardItem *color = new QStandardItem(tr("Couleur")); color->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled); @@ -159,6 +158,20 @@ void DynamicElementTextModel::addText(DynamicElementTextItem *deti) qsi_list.clear(); qsi_list << color << colora; + qsi->appendRow(qsi_list); + + //Frame + QStandardItem *frame = new QStandardItem(tr("Cadre")); + frame->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled); + + QStandardItem *frame_a = new QStandardItem; + frame_a->setCheckable(true); + frame_a->setCheckState(deti->frame()? Qt::Checked : Qt::Unchecked); + frame_a->setData(DynamicElementTextModel::frame, Qt::UserRole+1); + frame_a->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled | Qt::ItemIsUserCheckable); + + qsi_list.clear(); + qsi_list << frame << frame_a; qsi->appendRow(qsi_list); //X pos @@ -186,7 +199,6 @@ void DynamicElementTextModel::addText(DynamicElementTextItem *deti) qsi_list.clear(); qsi_list << y_pos << y_pos_a; qsi->appendRow(qsi_list); - qsi_list.clear(); @@ -313,20 +325,20 @@ QUndoCommand *DynamicElementTextModel::undoForEditedText(DynamicElementTextItem new QPropertyUndoCommand(deti, "compositeText", QVariant(deti->compositeText()), QVariant(composite_text), undo); } - int fs = text_qsi->child(1,1)->data(Qt::EditRole).toInt(); - if (fs != deti->fontSize()) - { - QUndoCommand *quc = new QPropertyUndoCommand(deti, "fontSize", QVariant(deti->fontSize()), QVariant(fs), undo); - quc->setText(tr("Modifier la taille d'un texte d'élément")); - } - - QString tagg = text_qsi->child(2,1)->data(Qt::DisplayRole).toString(); + QString tagg = text_qsi->child(1,1)->data(Qt::DisplayRole).toString(); if(tagg != deti->tagg()) { QUndoCommand *quc = new QPropertyUndoCommand(deti, "tagg", QVariant(deti->tagg()), QVariant(tagg), undo); quc->setText(tr("Modifier le tagg d'un texte d'élément")); } + int fs = text_qsi->child(2,1)->data(Qt::EditRole).toInt(); + if (fs != deti->fontSize()) + { + QUndoCommand *quc = new QPropertyUndoCommand(deti, "fontSize", QVariant(deti->fontSize()), QVariant(fs), undo); + quc->setText(tr("Modifier la taille d'un texte d'élément")); + } + QColor color = text_qsi->child(3,1)->data(Qt::EditRole).value(); if(color != deti->color()) { @@ -334,15 +346,21 @@ QUndoCommand *DynamicElementTextModel::undoForEditedText(DynamicElementTextItem quc->setText(tr("Modifier la couleur d'un texte d'élément")); } - QPointF p(text_qsi->child(4,1)->data(Qt::EditRole).toDouble(), - text_qsi->child(5,1)->data(Qt::EditRole).toDouble()); + bool frame = text_qsi->child(4,1)->checkState() == Qt::Checked? frame=true : frame=false; + if(frame != deti->frame()) + { + QUndoCommand *quc = new QPropertyUndoCommand(deti, "frame", QVariant(deti->frame()), QVariant(frame), undo); + quc->setText(tr("Modifier le cadre d'un texte d'élément")); + } + + QPointF p(text_qsi->child(5,1)->data(Qt::EditRole).toDouble(), + text_qsi->child(6,1)->data(Qt::EditRole).toDouble()); if(p != deti->pos()) { QPropertyUndoCommand *quc = new QPropertyUndoCommand(deti, "pos", QVariant(deti->pos()), QVariant(p), undo); quc->setText(tr("Déplacer un texte d'élément")); } - return undo; } @@ -459,6 +477,7 @@ void DynamicElementTextModel::setConnection(DynamicElementTextItem *deti, bool s connection_list << connect(deti, &DynamicElementTextItem::infoNameChanged, [deti,this](){this->updateDataFromText(deti, infoText);}); connection_list << connect(deti, &DynamicElementTextItem::xChanged, [deti,this](){this->updateDataFromText(deti, pos);}); connection_list << connect(deti, &DynamicElementTextItem::yChanged, [deti,this](){this->updateDataFromText(deti, pos);}); + connection_list << connect(deti, &DynamicElementTextItem::frameChanged, [deti,this](){this->updateDataFromText(deti, frame);}); connection_list << connect(deti, &DynamicElementTextItem::compositeTextChanged, [deti, this]() {this->updateDataFromText(deti, compositeText);}); m_hash_text_connect.insert(deti, connection_list); @@ -524,10 +543,10 @@ void DynamicElementTextModel::updateDataFromText(DynamicElementTextItem *deti, V break; } case size: - qsi->child(1,1)->setData(deti->fontSize(), Qt::EditRole); + qsi->child(2,1)->setData(deti->fontSize(), Qt::EditRole); break; case tagg: - qsi->child(2,1)->setData(deti->tagg(), Qt::DisplayRole); + qsi->child(1,1)->setData(deti->tagg(), Qt::DisplayRole); break; case color: { @@ -537,8 +556,13 @@ void DynamicElementTextModel::updateDataFromText(DynamicElementTextItem *deti, V } case pos: { - qsi->child(4,1)->setData(deti->pos().x(), Qt::EditRole); - qsi->child(5,1)->setData(deti->pos().y(), Qt::EditRole); + qsi->child(5,1)->setData(deti->pos().x(), Qt::EditRole); + qsi->child(6,1)->setData(deti->pos().y(), Qt::EditRole); + break; + } + case frame: + { + qsi->child(4,1)->setCheckState(deti->frame()? Qt::Checked : Qt::Unchecked); break; } } diff --git a/sources/ui/dynamicelementtextmodel.h b/sources/ui/dynamicelementtextmodel.h index 0c7c312c9..896d3150b 100644 --- a/sources/ui/dynamicelementtextmodel.h +++ b/sources/ui/dynamicelementtextmodel.h @@ -43,7 +43,8 @@ class DynamicElementTextModel : public QStandardItemModel size, tagg, color, - pos + pos, + frame }; DynamicElementTextModel(QObject *parent = nullptr);