From 021aea1d8bd20a61caba554bc7bc0bf4ed73a9ed Mon Sep 17 00:00:00 2001 From: joshua Date: Fri, 13 May 2022 20:02:29 +0200 Subject: [PATCH] Add the new element type : thumbnail This type must be used for element who goal is to display a thumbnail/front view of an element, notably used for cabinet contents view and placement. --- sources/editor/ui/elementpropertieseditorwidget.cpp | 4 ++++ sources/properties/elementdata.cpp | 8 ++++++++ sources/properties/elementdata.h | 4 +++- sources/qetgraphicsitem/element.cpp | 6 ++++++ sources/ui/elementpropertieswidget.cpp | 2 +- 5 files changed, 22 insertions(+), 2 deletions(-) diff --git a/sources/editor/ui/elementpropertieseditorwidget.cpp b/sources/editor/ui/elementpropertieseditorwidget.cpp index 83a0cffb4..c3cd4d4cb 100644 --- a/sources/editor/ui/elementpropertieseditorwidget.cpp +++ b/sources/editor/ui/elementpropertieseditorwidget.cpp @@ -122,6 +122,7 @@ void ElementPropertiesEditorWidget::setUpInterface() ui->m_base_type_cb->addItem (tr("Renvoi de folio suivant"), ElementData::NextReport); ui->m_base_type_cb->addItem (tr("Renvoi de folio précédent"), ElementData::PreviousReport); ui->m_base_type_cb->addItem (tr("Bornier"), ElementData::Terminale); + ui->m_base_type_cb->addItem (tr("Vignette"), ElementData::Thumbnail); // Slave option ui->m_state_cb->addItem(tr("Normalement ouvert"), ElementData::NO); @@ -179,6 +180,9 @@ void ElementPropertiesEditorWidget::updateTree() case ElementData::Terminale: ui->m_tree->setEnabled(true); break; + default: + ui->m_tree->setDisabled(true); + break; } } diff --git a/sources/properties/elementdata.cpp b/sources/properties/elementdata.cpp index 01d57d21a..44025a939 100644 --- a/sources/properties/elementdata.cpp +++ b/sources/properties/elementdata.cpp @@ -292,6 +292,10 @@ bool ElementData::operator !=(const ElementData &data) const { return !(*this == data); } +QString ElementData::typeToString() const { + return typeToString(m_type); +} + QString ElementData::typeToString(ElementData::Type type) { switch (type) { @@ -307,6 +311,8 @@ QString ElementData::typeToString(ElementData::Type type) return QString("slave"); case ElementData::Terminale : return QString("terminal"); + case ElementData::Thumbnail: + return QStringLiteral("thumbnail"); default: qDebug() << "ElementData::typeToString : type don't exist" << "return failsafe value 'simple'"; @@ -328,6 +334,8 @@ ElementData::Type ElementData::typeFromString(const QString &string) return ElementData::Slave; } else if (string == "terminal") { return ElementData::Terminale; + } else if (string == QLatin1String("thumbnail")) { + return ElementData::Thumbnail; } //Return simple if nothing match diff --git a/sources/properties/elementdata.h b/sources/properties/elementdata.h index d76700775..54414b58f 100644 --- a/sources/properties/elementdata.h +++ b/sources/properties/elementdata.h @@ -40,7 +40,8 @@ class ElementData : public PropertiesInterface AllReport = 6, Master = 8, Slave = 16, - Terminale = 32}; + Terminale = 32, + Thumbnail = 64}; Q_ENUM(Type) enum MasterType { @@ -104,6 +105,7 @@ class ElementData : public PropertiesInterface bool operator==(const ElementData &data) const; bool operator!=(const ElementData &data) const; + QString typeToString() const; static QString typeToString(ElementData::Type type); static ElementData::Type typeFromString(const QString &string); diff --git a/sources/qetgraphicsitem/element.cpp b/sources/qetgraphicsitem/element.cpp index 93c29f4b6..d0177cdac 100644 --- a/sources/qetgraphicsitem/element.cpp +++ b/sources/qetgraphicsitem/element.cpp @@ -1306,6 +1306,12 @@ void Element::initLink(QETProject *prj) tmp_uuids_link.clear(); } +/** + * @brief Element::linkTypeToString + * \deprecated use instead ElementData::typeToString + * \todo remove this function + * @return + */ QString Element::linkTypeToString() const { switch (m_link_type) diff --git a/sources/ui/elementpropertieswidget.cpp b/sources/ui/elementpropertieswidget.cpp index ba248afdc..0e248fc1a 100644 --- a/sources/ui/elementpropertieswidget.cpp +++ b/sources/ui/elementpropertieswidget.cpp @@ -363,7 +363,7 @@ QWidget *ElementPropertiesWidget::generalWidget() if (folio_index != -1) { description_string += QString(tr("Folio : %1\n")).arg(folio_index + 1); } - description_string += QString(tr("Type : %1\n")).arg(m_element ->linkTypeToString()); + description_string += QString(tr("Type : %1\n")).arg(m_element->elementData().typeToString()); description_string += QString(tr("Sous-type : %1\n")).arg(m_element ->kindInformations()["type"].toString()); description_string += QString(tr("Position : %1\n")).arg(m_diagram -> convertPosition(m_element -> scenePos()).toString()); description_string += QString(tr("Rotation : %1°\n")).arg(m_element.data()->rotation());