diff --git a/sources/ui/diagrampropertieseditordockwidget.cpp b/sources/ui/diagrampropertieseditordockwidget.cpp index 226f9dc3b..a8067d179 100644 --- a/sources/ui/diagrampropertieseditordockwidget.cpp +++ b/sources/ui/diagrampropertieseditordockwidget.cpp @@ -165,16 +165,14 @@ void DiagramPropertiesEditorDockWidget::selectionChanged() } case QetShapeItem::Type: //1008 { - if (count_ > 1) - { - clear(); - m_edited_qgi_type = -1; - return; + QList shapes_list; + for (QGraphicsItem *qgi : m_diagram->selectedItems()) { + shapes_list.append(static_cast(qgi)); } - + if (m_edited_qgi_type == type_) { - static_cast(editors().first())->setItem(static_cast(item)); + static_cast(editors().first())->setItems(shapes_list); return; } diff --git a/sources/ui/shapegraphicsitempropertieswidget.cpp b/sources/ui/shapegraphicsitempropertieswidget.cpp index 3d1c05841..0383dcc25 100644 --- a/sources/ui/shapegraphicsitempropertieswidget.cpp +++ b/sources/ui/shapegraphicsitempropertieswidget.cpp @@ -1,4 +1,4 @@ -/* +/* Copyright 2006-2019 The QElectroTech Team This file is part of QElectroTech. @@ -36,6 +36,14 @@ ShapeGraphicsItemPropertiesWidget::ShapeGraphicsItemPropertiesWidget(QetShapeIte setItem(item); } +ShapeGraphicsItemPropertiesWidget::ShapeGraphicsItemPropertiesWidget(QList items_list, QWidget *parent) : + PropertiesEditorWidget (parent), + ui(new Ui::ShapeGraphicsItemPropertiesWidget) +{ + ui->setupUi(this); + setItems(items_list); +} + /** * @brief ShapeGraphicsItemPropertiesWidget::~ShapeGraphicsItemPropertiesWidget * Destructor @@ -52,13 +60,16 @@ ShapeGraphicsItemPropertiesWidget::~ShapeGraphicsItemPropertiesWidget() */ void ShapeGraphicsItemPropertiesWidget::setItem(QetShapeItem *shape) { - if (!shape || shape == m_shape) return; - - if (m_shape && m_live_edit) + if (m_shape != shape) { - disconnect(m_shape, &QetShapeItem::penChanged, this, &ShapeGraphicsItemPropertiesWidget::updateUi); - disconnect(m_shape, &QetShapeItem::brushChanged, this, &ShapeGraphicsItemPropertiesWidget::updateUi); - disconnect(m_shape, &QetShapeItem::closeChanged, this, &ShapeGraphicsItemPropertiesWidget::updateUi); + for (QMetaObject::Connection c : m_connect_list) { + disconnect(c); + } + + m_connect_list.clear(); + } + if (!shape) { + return; } m_shape = shape; @@ -67,24 +78,76 @@ void ShapeGraphicsItemPropertiesWidget::setItem(QetShapeItem *shape) if (m_live_edit) { - connect(m_shape, &QetShapeItem::penChanged, this, &ShapeGraphicsItemPropertiesWidget::updateUi); - connect(m_shape, &QetShapeItem::brushChanged, this, &ShapeGraphicsItemPropertiesWidget::updateUi); - connect(m_shape, &QetShapeItem::closeChanged, this, &ShapeGraphicsItemPropertiesWidget::updateUi); + m_connect_list << connect(m_shape, &QetShapeItem::penChanged, this, &ShapeGraphicsItemPropertiesWidget::updateUi); + m_connect_list << connect(m_shape, &QetShapeItem::brushChanged, this, &ShapeGraphicsItemPropertiesWidget::updateUi); + m_connect_list << connect(m_shape, &QetShapeItem::closeChanged, this, &ShapeGraphicsItemPropertiesWidget::updateUi); } + setUpEditConnection(); updateUi(); } +/** + * @brief ShapeGraphicsItemPropertiesWidget::setItems + * Set a list of shapes to be edited + * @param shapes_list + */ +void ShapeGraphicsItemPropertiesWidget::setItems(QList shapes_list) +{ + for (QMetaObject::Connection c : m_connect_list) { + disconnect(c); + } + m_connect_list.clear(); + m_shapes_list.clear(); + m_shape = nullptr; + + if (shapes_list.size() == 0) { + updateUi(); + } + else if (shapes_list.size() == 1) + { + setItem(shapes_list.first()); + } + else + { + for (QetShapeItem *shape : shapes_list) { + m_shapes_list.append(QPointer(shape)); + } + updateUi(); + } + setUpEditConnection(); +} + /** * @brief ShapeGraphicsItemPropertiesWidget::apply * Apply the current change, by pushing an undo command to the * undo stack of the shape diagram. */ void ShapeGraphicsItemPropertiesWidget::apply() -{ - if (m_shape->diagram()) - if (QUndoCommand *undo = associatedUndo()) - m_shape->diagram()->undoStack().push(undo); +{ + Diagram *d = nullptr; + + if (m_shape && m_shape->diagram()) { + d = m_shape->diagram(); + } + else if (!m_shapes_list.isEmpty()) + { + for (QPointer qsi : m_shapes_list) + { + if (qsi->diagram()) { + d = qsi->diagram(); + break; + } + } + } + + if (d) + { + QUndoCommand *undo = associatedUndo(); + if (undo) { + d->undoStack().push(undo); + } + } } /** @@ -103,54 +166,196 @@ void ShapeGraphicsItemPropertiesWidget::reset() { */ QUndoCommand* ShapeGraphicsItemPropertiesWidget::associatedUndo() const { - QPropertyUndoCommand *undo = nullptr; - QPen old_pen = m_shape->pen(); - QPen new_pen = old_pen; - - new_pen.setStyle(Qt::PenStyle(ui->m_style_cb->currentIndex() + 1)); - new_pen.setWidthF(ui->m_size_dsb->value()); - - if (ui->m_style_cb->currentIndex() ==5) { - new_pen.setDashPattern( QVector() << 10 << 10 ); - new_pen.setStyle( Qt::CustomDashLine ); - } - //painter.setPen( new_pen ); - new_pen.setColor(ui->m_color_pb->palette().color(QPalette::Button)); - - if (new_pen != old_pen) + if (m_live_edit) { - undo = new QPropertyUndoCommand(m_shape, "pen", old_pen, new_pen); - undo->setText(tr("Modifier le trait d'une forme")); + //One shape is edited + if (m_shapes_list.isEmpty()) + { + QPropertyUndoCommand *undo = nullptr; + + QPen old_pen = m_shape->pen(); + QPen new_pen = old_pen; + + new_pen.setStyle(Qt::PenStyle(ui->m_style_cb->currentIndex() + 1)); + new_pen.setWidthF(ui->m_size_dsb->value()); + + if (ui->m_style_cb->currentIndex() ==5) { + new_pen.setDashPattern( QVector() << 10 << 10 ); + new_pen.setStyle( Qt::CustomDashLine ); + } + //painter.setPen( new_pen ); + new_pen.setColor(ui->m_color_pb->palette().color(QPalette::Button)); + + if (new_pen != old_pen) + { + undo = new QPropertyUndoCommand(m_shape, "pen", old_pen, new_pen); + undo->setText(tr("Modifier le trait d'une forme")); + } + + QBrush old_brush = m_shape->brush(); + QBrush new_brush = old_brush; + new_brush.setStyle(Qt::BrushStyle(ui->m_brush_style_cb->currentIndex())); + new_brush.setColor(ui->m_brush_color_pb->palette().color(QPalette::Button)); + + if (new_brush != old_brush) + { + if (undo) + new QPropertyUndoCommand(m_shape, "brush", old_brush, new_brush, undo); + else + { + undo = new QPropertyUndoCommand(m_shape, "brush", old_brush, new_brush); + undo->setText(tr("Modifier le remplissage d'une forme")); + } + } + + if (ui->m_close_polygon->isChecked() != m_shape->isClosed()) + { + if (undo) + new QPropertyUndoCommand(m_shape, "close", m_shape->isClosed(), ui->m_close_polygon->isChecked(), undo); + else + { + undo = new QPropertyUndoCommand(m_shape, "close", m_shape->isClosed(), ui->m_close_polygon->isChecked(), undo); + undo->setText(tr("Fermer le polygone")); + } + } + + return undo; + } + else if (!m_shapes_list.isEmpty()) //seberal shapes are edited + { + QUndoCommand *parent_undo = nullptr; + QetShapeItem *shape_ = m_shapes_list.first().data(); + + //Pen + QHash pen_H; + + if (ui->m_style_cb->currentIndex() != -1 && + Qt::PenStyle(ui->m_style_cb->currentIndex() + 1) != shape_->pen().style()) + { + for (QPointer qsi : m_shapes_list) + { + QPen pen = qsi->pen(); + + if (ui->m_style_cb->currentIndex() ==5) { + pen.setDashPattern( QVector() << 10 << 10 ); + pen.setStyle( Qt::CustomDashLine ); + } else { + pen.setStyle(Qt::PenStyle(ui->m_style_cb->currentIndex() + 1)); + } + pen_H.insert(qsi, pen); + } + } + + if (ui->m_size_dsb->value() > 0 && + ui->m_size_dsb->value() != shape_->pen().widthF()) + { + for (QPointer qsi : m_shapes_list) + { + QPen pen = pen_H.contains(qsi) ? pen_H.value(qsi) : qsi->pen(); + pen.setWidthF(ui->m_size_dsb->value()); + pen_H.insert(qsi, pen); + } + } + + QColor c =ui->m_color_pb->palette().color(QPalette::Button); + if (c != QPalette().color(QPalette::Button) && shape_->pen().color() != c) + { + for (QPointer qsi : m_shapes_list) + { + QPen pen = pen_H.contains(qsi) ? pen_H.value(qsi) : qsi->pen(); + pen.setColor(c); + pen_H.insert(qsi, pen); + } + } + + for (QPointer qsi : pen_H.keys()) + { + if (!parent_undo) { + parent_undo = new QUndoCommand(tr("Modifier une forme simple")); + } + new QPropertyUndoCommand(qsi, "pen", qsi->pen(), pen_H.value(qsi), parent_undo); + } + + //Brush + QHash brush_H; + if (ui->m_brush_style_cb->currentIndex() != -1 && + shape_->brush().style() != Qt::BrushStyle(ui->m_brush_style_cb->currentIndex())) + { + for (QPointer qsi : m_shapes_list) + { + QBrush brush = qsi->brush(); + brush.setStyle(Qt::BrushStyle(ui->m_brush_style_cb->currentIndex())); + brush_H.insert(qsi, brush); + } + } + + c = ui->m_brush_color_pb->palette().color(QPalette::Button); + if (c != QPalette().color(QPalette::Button) && shape_->brush().color() != c) + { + for (QPointer qsi : m_shapes_list) + { + QBrush brush = brush_H.contains(qsi) ? brush_H.value(qsi) : qsi->brush(); + brush.setColor(c); + brush_H.insert(qsi, brush); + } + } + + for (QPointer qsi : brush_H.keys()) + { + if (!parent_undo) { + parent_undo = new QUndoCommand(tr("Modifier une forme simple")); + } + + new QPropertyUndoCommand(qsi, "brush", qsi->brush(), brush_H.value(qsi), parent_undo); + } + + return parent_undo; + } } - - QBrush old_brush = m_shape->brush(); - QBrush new_brush = old_brush; - new_brush.setStyle(Qt::BrushStyle(ui->m_brush_style_cb->currentIndex())); - new_brush.setColor(ui->m_brush_color_pb->palette().color(QPalette::Button)); - - if (new_brush != old_brush) + //In mode not live edit, only one shape can be edited + else if (m_shapes_list.isEmpty()) { - if (undo) + QUndoCommand *undo = new QUndoCommand(tr("Modifier les propriétés d'une forme simple")); + QPen old_pen = m_shape->pen(); + QPen new_pen = old_pen; + + new_pen.setStyle(Qt::PenStyle(ui->m_style_cb->currentIndex() + 1)); + new_pen.setWidthF(ui->m_size_dsb->value()); + + if (ui->m_style_cb->currentIndex() ==5) { + new_pen.setDashPattern( QVector() << 10 << 10 ); + new_pen.setStyle( Qt::CustomDashLine ); + } + //painter.setPen( new_pen ); + new_pen.setColor(ui->m_color_pb->palette().color(QPalette::Button)); + + if (new_pen != old_pen) { + new QPropertyUndoCommand(m_shape, "pen", old_pen, new_pen, undo); + } + + QBrush old_brush = m_shape->brush(); + QBrush new_brush = old_brush; + new_brush.setStyle(Qt::BrushStyle(ui->m_brush_style_cb->currentIndex())); + new_brush.setColor(ui->m_brush_color_pb->palette().color(QPalette::Button)); + + if (new_brush != old_brush) { new QPropertyUndoCommand(m_shape, "brush", old_brush, new_brush, undo); - else - { - undo = new QPropertyUndoCommand(m_shape, "brush", old_brush, new_brush); - undo->setText(tr("Modifier le remplissage d'une forme")); + } + + if (ui->m_close_polygon->isChecked() != m_shape->isClosed()) { + QPropertyUndoCommand(m_shape, "close", m_shape->isClosed(), ui->m_close_polygon->isChecked(), undo); + } + + if (undo->childCount()) { + return undo; + } else { + delete undo; + return nullptr; } } - - if (ui->m_close_polygon->isChecked() != m_shape->isClosed()) - { - if (undo) - new QPropertyUndoCommand(m_shape, "close", m_shape->isClosed(), ui->m_close_polygon->isChecked(), undo); - else - { - undo = new QPropertyUndoCommand(m_shape, "close", m_shape->isClosed(), ui->m_close_polygon->isChecked(), undo); - undo->setText(tr("Fermer le polygone")); - } + else { + return nullptr; } - - return undo; } /** @@ -158,23 +363,96 @@ QUndoCommand* ShapeGraphicsItemPropertiesWidget::associatedUndo() const */ void ShapeGraphicsItemPropertiesWidget::updateUi() { - bool le = m_live_edit; - setLiveEdit(false); //Disable temporally live edit mode to avoid weird behavior + if (!m_shape && m_shapes_list.isEmpty()) { + return; + } + + //Disconnect every connections of editor widgets + //to avoid an unwanted edition (QSpinBox emit valueChanged no matter if changer by user or by program) + for (QMetaObject::Connection c : m_edit_connection) { + disconnect(c); + } + m_edit_connection.clear(); + + if (m_shape) + { //Pen - ui->m_style_cb->setCurrentIndex(static_cast(m_shape->pen().style()) - 1); - ui->m_size_dsb ->setValue(m_shape->pen().widthF()); - setPenColorButton(m_shape->pen().color()); + ui->m_style_cb->setCurrentIndex(static_cast(m_shape->pen().style()) - 1); + ui->m_size_dsb ->setValue(m_shape->pen().widthF()); + setPenColorButton(m_shape->pen().color()); //Brush - if (m_shape->shapeType() == QetShapeItem::Polygon) - ui->m_filling_gb->setVisible(m_shape->isClosed()); + if (m_shape->shapeType() == QetShapeItem::Polygon) + ui->m_filling_gb->setVisible(m_shape->isClosed()); - ui->m_brush_style_cb->setCurrentIndex(static_cast(m_shape->brush().style())); - setBrushColorButton(m_shape->brush().color()); + ui->m_brush_style_cb->setCurrentIndex(static_cast(m_shape->brush().style())); + setBrushColorButton(m_shape->brush().color()); - ui->m_lock_pos_cb->setChecked(!m_shape->isMovable()); - ui->m_close_polygon->setChecked(m_shape->isClosed()); - setLiveEdit(le); + ui->m_lock_pos_cb->setChecked(!m_shape->isMovable()); + ui->m_close_polygon->setChecked(m_shape->isClosed()); + } + else if (m_shapes_list.size() >= 2) + { + ui->m_close_polygon->setHidden(true); + bool same = true; + //Pen + Qt::PenStyle ps = m_shapes_list.first()->pen().style(); + for (QetShapeItem *qsi : m_shapes_list) { + if (qsi->pen().style() != ps) { + same = false; + break; + } + } + ui->m_style_cb->setCurrentIndex(same ? static_cast(ps) - 1 : -1); + + same = true; + qreal pw = m_shapes_list.first()->pen().widthF(); + for (QetShapeItem *qsi : m_shapes_list) { + if (qsi->pen().widthF() != pw) { + same = false; + break; + } + } + ui->m_size_dsb->setValue(same ? pw : 0); + + same = true; + QColor pc = m_shapes_list.first()->pen().color(); + for (QetShapeItem *qsi : m_shapes_list) { + if (qsi->pen().color() != pc) { + same = false; + break; + } + } + setPenColorButton(same ? pc : QColor()); + + //Brush + ui->m_filling_gb->setVisible(true); + + same = true; + Qt::BrushStyle bs = m_shapes_list.first()->brush().style(); + for (QetShapeItem *qsi : m_shapes_list) { + if (qsi->brush().style() != bs) { + same = false; + break; + } + } + ui->m_brush_style_cb->setCurrentIndex(same ? static_cast(bs) : -1); + + same = true; + QColor bc = m_shapes_list.first()->brush().color(); + for (QetShapeItem *qsi : m_shapes_list) { + if (qsi->brush().color() != bc) { + same = false; + break; + } + } + setBrushColorButton(same ? bc : QColor()); + + ui->m_lock_pos_cb->setChecked(false); + ui->m_close_polygon->setChecked(false); + } + + setUpEditConnection(); } /** @@ -184,26 +462,20 @@ void ShapeGraphicsItemPropertiesWidget::updateUi() */ bool ShapeGraphicsItemPropertiesWidget::setLiveEdit(bool live_edit) { - if (live_edit == m_live_edit) return true; + if (live_edit == m_live_edit) { + return true; + } m_live_edit = live_edit; - if (m_live_edit) - { - connect (ui->m_style_cb, SIGNAL(activated(int)), this, SLOT(apply())); - connect (ui->m_size_dsb, SIGNAL(valueChanged(double)), this, SLOT(apply())); - connect (ui->m_brush_style_cb, SIGNAL(activated(int)), this, SLOT(apply())); - connect (ui->m_close_polygon, &QCheckBox::clicked, this, &ShapeGraphicsItemPropertiesWidget::apply); - connect (m_shape, &QetShapeItem::penChanged, this, &ShapeGraphicsItemPropertiesWidget::updateUi); - connect (m_shape, &QetShapeItem::closeChanged, this, &ShapeGraphicsItemPropertiesWidget::updateUi); + if (m_live_edit) { + setUpEditConnection(); } else { - disconnect (ui->m_style_cb, SIGNAL(activated(int)), this, SLOT(apply())); - disconnect (ui->m_size_dsb, SIGNAL(valueChanged(double)), this, SLOT(apply())); - disconnect (ui->m_brush_style_cb, SIGNAL(activated(int)), this, SLOT(apply())); - disconnect (ui->m_close_polygon, &QCheckBox::clicked, this, &ShapeGraphicsItemPropertiesWidget::apply); - disconnect (m_shape, &QetShapeItem::penChanged, this, &ShapeGraphicsItemPropertiesWidget::updateUi); - disconnect (m_shape, &QetShapeItem::closeChanged, this, &ShapeGraphicsItemPropertiesWidget::updateUi); + for (QMetaObject::Connection c : m_edit_connection) { + disconnect(c); + } + m_edit_connection.clear(); } return true; } @@ -215,9 +487,12 @@ bool ShapeGraphicsItemPropertiesWidget::setLiveEdit(bool live_edit) */ void ShapeGraphicsItemPropertiesWidget::setPenColorButton(const QColor &color) { - QPalette palette; - palette.setColor(QPalette::Button, color); - ui -> m_color_pb -> setStyleSheet(QString("background-color: %1; min-height: 1.5em; border-style: outset; border-width: 2px; border-color: gray; border-radius: 4px;").arg(color.name())); + if (!color.isValid()) { + ui->m_color_pb->setStyleSheet(""); + return; + } + + ui->m_color_pb->setStyleSheet(QString("background-color : %1").arg(color.name())); } /** @@ -227,13 +502,46 @@ void ShapeGraphicsItemPropertiesWidget::setPenColorButton(const QColor &color) */ void ShapeGraphicsItemPropertiesWidget::setBrushColorButton(const QColor &color) { - QPalette palette; - palette.setColor(QPalette::Button, color); - ui->m_brush_color_pb->setStyleSheet(QString("background-color: %1; min-height: 1.5em; border-style: outset; border-width: 2px; border-color: gray; border-radius: 4px;").arg(color.name())); + if (!color.isValid()) { + ui->m_brush_color_pb->setStyleSheet(""); + return; + } + + ui->m_brush_color_pb->setStyleSheet(QString("background-color : %1").arg(color.name())); } -void ShapeGraphicsItemPropertiesWidget::on_m_lock_pos_cb_clicked() { - m_shape->setMovable(!ui->m_lock_pos_cb->isChecked()); +/** + * @brief ShapeGraphicsItemPropertiesWidget::setUpEditConnection + * Disconnect the previous connection, and reconnect the connection between the editors widgets and void ShapeGraphicsItemPropertiesWidget::apply function + */ +void ShapeGraphicsItemPropertiesWidget::setUpEditConnection() +{ + for (QMetaObject::Connection c : m_edit_connection) { + disconnect(c); + } + m_edit_connection.clear(); + + if (m_shape || !m_shapes_list.isEmpty()) + { + m_edit_connection << connect (ui->m_style_cb, SIGNAL(activated(int)), this, SLOT(apply())); + m_edit_connection << connect (ui->m_size_dsb, SIGNAL(valueChanged(double)), this, SLOT(apply())); + m_edit_connection << connect (ui->m_brush_style_cb, SIGNAL(activated(int)), this, SLOT(apply())); + m_edit_connection << connect (ui->m_close_polygon, &QCheckBox::clicked, this, &ShapeGraphicsItemPropertiesWidget::apply); + m_edit_connection << connect (m_shape, &QetShapeItem::penChanged, this, &ShapeGraphicsItemPropertiesWidget::updateUi); + m_edit_connection << connect (m_shape, &QetShapeItem::closeChanged, this, &ShapeGraphicsItemPropertiesWidget::updateUi); + } +} + +void ShapeGraphicsItemPropertiesWidget::on_m_lock_pos_cb_clicked() +{ + if (m_shape) { + m_shape->setMovable(!ui->m_lock_pos_cb->isChecked()); + } + else if (!m_shapes_list.isEmpty()) { + for (QPointer qsi : m_shapes_list) { + qsi->setMovable(!ui->m_lock_pos_cb->isChecked()); + } + } } /** @@ -242,11 +550,17 @@ void ShapeGraphicsItemPropertiesWidget::on_m_lock_pos_cb_clicked() { */ void ShapeGraphicsItemPropertiesWidget::on_m_color_pb_clicked() { - QColor color = QColorDialog::getColor(m_shape->pen().color(), this); - if (color.isValid()) + if (!m_shape && m_shapes_list.isEmpty()) { + return; + } + QetShapeItem *shape_ = m_shape ? m_shape : m_shapes_list.first().data(); + QColor color = QColorDialog::getColor(shape_->pen().color(), this); + if (color.isValid()) { setPenColorButton(color); - if (m_live_edit) + } + if (m_live_edit) { apply(); + } } /** @@ -255,11 +569,18 @@ void ShapeGraphicsItemPropertiesWidget::on_m_color_pb_clicked() */ void ShapeGraphicsItemPropertiesWidget::on_m_brush_color_pb_clicked() { - QColor color = QColorDialog::getColor(m_shape->brush().color(), this); - if (color.isValid()) + if (!m_shape && m_shapes_list.isEmpty()) { + return; + } + QetShapeItem *shape_ = m_shape ? m_shape : m_shapes_list.first().data(); + + QColor color = QColorDialog::getColor(shape_->brush().color(), this); + if (color.isValid()) { setBrushColorButton(color); - if (m_live_edit) + } + if (m_live_edit) { apply(); + } } diff --git a/sources/ui/shapegraphicsitempropertieswidget.h b/sources/ui/shapegraphicsitempropertieswidget.h index 8eb191750..dcf9a8bd2 100644 --- a/sources/ui/shapegraphicsitempropertieswidget.h +++ b/sources/ui/shapegraphicsitempropertieswidget.h @@ -36,9 +36,11 @@ class ShapeGraphicsItemPropertiesWidget : public PropertiesEditorWidget public: explicit ShapeGraphicsItemPropertiesWidget(QetShapeItem *item, QWidget *parent = nullptr); + ShapeGraphicsItemPropertiesWidget(QList items_list, QWidget *parent =nullptr); ~ShapeGraphicsItemPropertiesWidget() override; void setItem(QetShapeItem *shape); + void setItems(QList shapes_list); public slots: void apply() override; @@ -52,6 +54,7 @@ class ShapeGraphicsItemPropertiesWidget : public PropertiesEditorWidget private: void setPenColorButton(const QColor &color); void setBrushColorButton(const QColor &color); + void setUpEditConnection(); private slots: void on_m_lock_pos_cb_clicked(); @@ -63,6 +66,9 @@ class ShapeGraphicsItemPropertiesWidget : public PropertiesEditorWidget private: Ui::ShapeGraphicsItemPropertiesWidget *ui; QetShapeItem *m_shape; + QList > m_shapes_list; + QList m_connect_list, + m_edit_connection; }; #endif // SHAPEGRAPHICSITEMPROPERTIESWIDGET_H diff --git a/sources/ui/shapegraphicsitempropertieswidget.ui b/sources/ui/shapegraphicsitempropertieswidget.ui index bbfcfd40c..94e52c2fa 100644 --- a/sources/ui/shapegraphicsitempropertieswidget.ui +++ b/sources/ui/shapegraphicsitempropertieswidget.ui @@ -6,8 +6,8 @@ 0 0 - 261 - 346 + 245 + 311