From d4e56983f0698c8d8d5ee8d85200f82d30b2f6bf Mon Sep 17 00:00:00 2001 From: Tats Date: Fri, 10 Nov 2017 12:38:49 -0500 Subject: [PATCH 1/5] Fixed error which caused problem with OSC messages (unset names in mappings were left empty). --- src/gui/MainWindow.cpp | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/gui/MainWindow.cpp b/src/gui/MainWindow.cpp index 10c58cd..6cb89f6 100644 --- a/src/gui/MainWindow.cpp +++ b/src/gui/MainWindow.cpp @@ -2721,7 +2721,7 @@ void MainWindow::addMappingItem(uid mappingId) Mapping::ptr mapping = mappingManager->getMappingById(mappingId); Q_CHECK_PTR(mapping); - QString label; + QString defaultName; QIcon icon; QString shapeType = mapping->getShape()->getType(); @@ -2743,7 +2743,7 @@ void MainWindow::addMappingItem(uid mappingId) // Triangle if (shapeType == "triangle") { - label = QString("Triangle %1").arg(mappingId); + defaultName = QString("Triangle %1").arg(mappingId); icon = QIcon(":/shape-triangle"); if (paintType == "color") @@ -2754,7 +2754,7 @@ void MainWindow::addMappingItem(uid mappingId) // Mesh else if (shapeType == "mesh") { - label = QString("Mesh %1").arg(mappingId); + defaultName = QString("Mesh %1").arg(mappingId); icon = QIcon(":/shape-mesh"); if (paintType == "color") mapper = MappingGui::ptr(new MeshColorMappingGui(mapping)); @@ -2763,7 +2763,7 @@ void MainWindow::addMappingItem(uid mappingId) } else if (shapeType == "ellipse") { - label = QString("Ellipse %1").arg(mappingId); + defaultName = QString("Ellipse %1").arg(mappingId); icon = QIcon(":/shape-ellipse"); if (paintType == "color") mapper = MappingGui::ptr(new EllipseColorMappingGui(mapping)); @@ -2772,13 +2772,13 @@ void MainWindow::addMappingItem(uid mappingId) } else { - label = QString("Polygon %1").arg(mappingId); + defaultName = QString("Polygon %1").arg(mappingId); icon = QIcon(":/shape-polygon"); } // Label is only going to be applied if no name is present. - if (!mapping->getName().isEmpty()) - label = mapping->getName(); + if (mapping->getName().isEmpty()) + mapping->setName(defaultName); // Add to list of mappers. mappers[mappingId] = mapper; @@ -2808,7 +2808,7 @@ void MainWindow::addMappingItem(uid mappingId) contentTab->setCurrentWidget(mappingSplitter); // Add item to layerList widget. - mappingListModel->addItem(mapping, icon, label); + mappingListModel->addItem(mapping, icon, mapping->getName()); mappingListModel->updateModel(); setCurrentMapping(mappingId); From 04c1f2151edd677aa95de96fac53acb1d1443364 Mon Sep 17 00:00:00 2001 From: Tats Date: Fri, 10 Nov 2017 12:40:34 -0500 Subject: [PATCH 2/5] Bugfix: let mappings names adjust size (closes #365). --- src/gui/MappingListModel.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/gui/MappingListModel.cpp b/src/gui/MappingListModel.cpp index f5763a6..67ac967 100644 --- a/src/gui/MappingListModel.cpp +++ b/src/gui/MappingListModel.cpp @@ -47,9 +47,9 @@ QVariant MappingListModel::data(const QModelIndex &index, int role) const case Qt::SizeHintRole: if (index.column() == MM::HideColumn) return QSize(24, 40); - if (index.column() == MM::IconAndNameColum) - return QSize(135, 40); - if (index.column() == MM::GroupButtonColum) +// if (index.column() == MM::IconAndNameColum) +// return QSize(135, 40); + else if (index.column() == MM::GroupButtonColum) return QSize(128, 40); break; case Qt::CheckStateRole + 1: From 4779dcd7408d32ad7c1adbf9c573b3eb258f0261 Mon Sep 17 00:00:00 2001 From: Tats Date: Fri, 10 Nov 2017 13:39:07 -0500 Subject: [PATCH 3/5] Added tooltips specifying the ID of each element. --- src/gui/MainWindow.cpp | 3 +++ src/gui/MappingListModel.cpp | 3 +++ 2 files changed, 6 insertions(+) diff --git a/src/gui/MainWindow.cpp b/src/gui/MainWindow.cpp index 6cb89f6..c944745 100644 --- a/src/gui/MainWindow.cpp +++ b/src/gui/MainWindow.cpp @@ -2689,6 +2689,9 @@ void MainWindow::addPaintItem(uid paintId, const QIcon& icon, const QString& nam // Set size. item->setSizeHint(QSize(item->sizeHint().width(), MainWindow::PAINT_LIST_ITEM_HEIGHT)); + + // Set tooltip. + item->setToolTip(QString("ID: %1").arg(paint->getId())); // Switch to paint tab. contentTab->setCurrentWidget(paintSplitter); diff --git a/src/gui/MappingListModel.cpp b/src/gui/MappingListModel.cpp index 67ac967..c9bda41 100644 --- a/src/gui/MappingListModel.cpp +++ b/src/gui/MappingListModel.cpp @@ -70,6 +70,9 @@ QVariant MappingListModel::data(const QModelIndex &index, int role) const case Qt::DecorationRole: return mappingList.at(index.row()).icon; break; + case Qt::ToolTipRole: + return QString("ID: %1").arg(mappingList.at(index.row()).id); + break; default: return QVariant(); break; From 43da058b53cc81847bdc18a05c1702c501b6216f Mon Sep 17 00:00:00 2001 From: Tats Date: Fri, 10 Nov 2017 13:39:55 -0500 Subject: [PATCH 4/5] Simplified property browser interface by removing useless top-item property. --- src/gui/MappingGui.cpp | 15 +++++---------- src/gui/MappingGui.h | 1 - src/gui/PaintGui.cpp | 20 ++++++++------------ src/gui/PaintGui.h | 1 - 4 files changed, 13 insertions(+), 24 deletions(-) diff --git a/src/gui/MappingGui.cpp b/src/gui/MappingGui.cpp index 536ee73..d485150 100644 --- a/src/gui/MappingGui.cpp +++ b/src/gui/MappingGui.cpp @@ -35,27 +35,22 @@ MappingGui::MappingGui(Mapping::ptr mapping) _variantManager = new VariantManager; _variantFactory = new VariantFactory; - _topItem = _variantManager->addProperty(QtVariantPropertyManager::groupTypeId(), - QObject::tr("Mapping")); - _propertyBrowser->setFactoryForManager(_variantManager, _variantFactory); - _propertyBrowser->addProperty(_topItem); - // Mapping basic properties. _opacityItem = _variantManager->addProperty(QVariant::Double, QObject::tr("Opacity (%)")); _opacityItem->setAttribute("minimum", 0.0); _opacityItem->setAttribute("maximum", 100.0); _opacityItem->setAttribute("decimals", 1); _opacityItem->setValue(_mapping->getOpacity()*100.0); - _topItem->addSubProperty(_opacityItem); + _propertyBrowser->addProperty(_opacityItem); // Output shape. _outputItem = _variantManager->addProperty(QtVariantPropertyManager::groupTypeId(), QObject::tr("Output shape")); _buildShapeProperty(_outputItem, mapping->getShape().data()); - _topItem->addSubProperty(_outputItem); + _propertyBrowser->addProperty(_outputItem); // Collapse output shape. _propertyBrowser->setExpanded(_propertyBrowser->items(_outputItem).at(0), false); @@ -161,7 +156,7 @@ MeshColorMappingGui::MeshColorMappingGui(Mapping::ptr mapping) _meshItem = _variantManager->addProperty(QVariant::Size, QObject::tr("Dimensions")); _meshItem->setValue(QSize(mesh->nColumns(), mesh->nRows())); _meshItem->setAttribute("minimum", QSize(2,2)); - _topItem->insertSubProperty(_meshItem, _opacityItem); // insert at the beginning + _propertyBrowser->insertProperty(_meshItem, _opacityItem); // insert at the beginning } void MeshColorMappingGui::setValue(QtProperty* property, const QVariant& value) @@ -257,7 +252,7 @@ TextureMappingGui::TextureMappingGui(QSharedPointer mapping) _inputItem = _variantManager->addProperty(QtVariantPropertyManager::groupTypeId(), QObject::tr("Input shape")); _buildShapeProperty(_inputItem, inputShape.data()); - _topItem->insertSubProperty(_inputItem, _opacityItem); // insert + _propertyBrowser->insertProperty(_inputItem, _opacityItem); // insert // Collapse input shape. _propertyBrowser->setExpanded(_propertyBrowser->items(_inputItem).at(0), false); @@ -393,7 +388,7 @@ MeshTextureMappingGui::MeshTextureMappingGui(QSharedPointer mapp _meshItem = _variantManager->addProperty(QVariant::Size, QObject::tr("Dimensions")); _meshItem->setValue(QSize(mesh->nColumns(), mesh->nRows())); _meshItem->setAttribute("minimum", QSize(2,2)); - _topItem->insertSubProperty(_meshItem, _opacityItem); // insert at the beginning + _propertyBrowser->insertProperty(_meshItem, _opacityItem); // insert at the beginning } void MeshTextureMappingGui::setValue(QtProperty* property, const QVariant& value) diff --git a/src/gui/MappingGui.h b/src/gui/MappingGui.h index 6bc93cb..3f03283 100644 --- a/src/gui/MappingGui.h +++ b/src/gui/MappingGui.h @@ -98,7 +98,6 @@ protected: QtVariantEditorFactory* _variantFactory; QtVariantPropertyManager* _variantManager; - QtProperty* _topItem; QtVariantProperty* _opacityItem; QtProperty* _outputItem; diff --git a/src/gui/PaintGui.cpp b/src/gui/PaintGui.cpp index 7dc3c64..a1e9d89 100644 --- a/src/gui/PaintGui.cpp +++ b/src/gui/PaintGui.cpp @@ -29,15 +29,11 @@ PaintGui::PaintGui(Paint::ptr paint) _variantManager = new VariantManager; _variantFactory = new VariantFactory; - _topItem = _variantManager->addProperty(QtVariantPropertyManager::groupTypeId(), - QObject::tr("Paint")); - _propertyBrowser->setFactoryForManager(_variantManager, _variantFactory); connect(_variantManager, SIGNAL(valueChanged(QtProperty*, const QVariant&)), this, SLOT(setValue(QtProperty*, const QVariant&))); - _propertyBrowser->addProperty(_topItem); // Paint basic properties. _opacityItem = _variantManager->addProperty(QVariant::Double, QObject::tr("Opacity (%)")); @@ -45,7 +41,7 @@ PaintGui::PaintGui(Paint::ptr paint) _opacityItem->setAttribute("maximum", 100.0); _opacityItem->setAttribute("decimals", 1); _opacityItem->setValue(_paint->getOpacity()*100.0); - _topItem->addSubProperty(_opacityItem); + _propertyBrowser->addProperty(_opacityItem); } PaintGui::~PaintGui() @@ -88,7 +84,7 @@ ColorGui::ColorGui(Paint::ptr paint) _colorItem->setValue(color->getColor()); - _topItem->addSubProperty(_colorItem); + _propertyBrowser->addProperty(_colorItem); } void ColorGui::setValue(QtProperty* property, const QVariant& value) { @@ -130,8 +126,8 @@ _imageFileItem->setValue(image->getUri()); _imageRateItem->setAttribute("decimals", 1); _imageRateItem->setValue(rate); - _topItem->addSubProperty(_imageFileItem); - _topItem->addSubProperty(_imageRateItem); + _propertyBrowser->addProperty(_imageFileItem); + _propertyBrowser->addProperty(_imageRateItem); } void ImageGui::setValue(QtProperty* property, const QVariant& value) { @@ -190,10 +186,10 @@ VideoGui::VideoGui(Paint::ptr paint) // tr("Reverse")); // _mediaReverseItem->setValue(false); - _topItem->addSubProperty(_mediaFileItem); - _topItem->addSubProperty(_mediaRateItem); - _topItem->addSubProperty(_mediaVolumeItem); -// _topItem->addSubProperty(_mediaReverseItem); + _propertyBrowser->addProperty(_mediaFileItem); + _propertyBrowser->addProperty(_mediaRateItem); + _propertyBrowser->addProperty(_mediaVolumeItem); +// _propertyBrowser->addProperty(_mediaReverseItem); } void VideoGui::setValue(QtProperty* property, const QVariant& value) diff --git a/src/gui/PaintGui.h b/src/gui/PaintGui.h index 2aafceb..a6597a3 100644 --- a/src/gui/PaintGui.h +++ b/src/gui/PaintGui.h @@ -78,7 +78,6 @@ protected: QtAbstractPropertyBrowser* _propertyBrowser; QtVariantEditorFactory* _variantFactory; QtVariantPropertyManager* _variantManager; - QtProperty* _topItem; QtVariantProperty* _opacityItem; }; From 6d27f242095230a6fc6419f077947a2fac32e433 Mon Sep 17 00:00:00 2001 From: Tats Date: Fri, 10 Nov 2017 13:40:08 -0500 Subject: [PATCH 5/5] Added item ID as part of properties. --- src/gui/MappingGui.cpp | 6 ++++++ src/gui/MappingGui.h | 1 + src/gui/PaintGui.cpp | 5 +++++ src/gui/PaintGui.h | 2 ++ 4 files changed, 14 insertions(+) diff --git a/src/gui/MappingGui.cpp b/src/gui/MappingGui.cpp index d485150..4aef3e8 100644 --- a/src/gui/MappingGui.cpp +++ b/src/gui/MappingGui.cpp @@ -36,6 +36,12 @@ MappingGui::MappingGui(Mapping::ptr mapping) _variantFactory = new VariantFactory; _propertyBrowser->setFactoryForManager(_variantManager, _variantFactory); + + // Mapping UID. + _idItem = _variantManager->addProperty(QVariant::Int, QObject::tr("ID")); + _idItem->setEnabled(false); + _idItem->setValue(_mapping->getId()); + _propertyBrowser->addProperty(_idItem); // Mapping basic properties. _opacityItem = _variantManager->addProperty(QVariant::Double, QObject::tr("Opacity (%)")); diff --git a/src/gui/MappingGui.h b/src/gui/MappingGui.h index 3f03283..aeffb34 100644 --- a/src/gui/MappingGui.h +++ b/src/gui/MappingGui.h @@ -98,6 +98,7 @@ protected: QtVariantEditorFactory* _variantFactory; QtVariantPropertyManager* _variantManager; + QtVariantProperty* _idItem; QtVariantProperty* _opacityItem; QtProperty* _outputItem; diff --git a/src/gui/PaintGui.cpp b/src/gui/PaintGui.cpp index a1e9d89..7cec736 100644 --- a/src/gui/PaintGui.cpp +++ b/src/gui/PaintGui.cpp @@ -34,6 +34,11 @@ PaintGui::PaintGui(Paint::ptr paint) connect(_variantManager, SIGNAL(valueChanged(QtProperty*, const QVariant&)), this, SLOT(setValue(QtProperty*, const QVariant&))); + // Mapping UID. + _idItem = _variantManager->addProperty(QVariant::Int, QObject::tr("ID")); + _idItem->setEnabled(false); + _idItem->setValue(_paint->getId()); + _propertyBrowser->addProperty(_idItem); // Paint basic properties. _opacityItem = _variantManager->addProperty(QVariant::Double, QObject::tr("Opacity (%)")); diff --git a/src/gui/PaintGui.h b/src/gui/PaintGui.h index a6597a3..afbd8df 100644 --- a/src/gui/PaintGui.h +++ b/src/gui/PaintGui.h @@ -78,6 +78,8 @@ protected: QtAbstractPropertyBrowser* _propertyBrowser; QtVariantEditorFactory* _variantFactory; QtVariantPropertyManager* _variantManager; + + QtVariantProperty* _idItem; QtVariantProperty* _opacityItem; };