From 946477bfd978d9d16abe541c0f508e8b83f32923 Mon Sep 17 00:00:00 2001 From: Christian Halaszovich Date: Wed, 20 Aug 2025 16:28:58 +0200 Subject: [PATCH 1/6] introduce a model to modify PMparameters --- QtPMbrowser/PMparametersModel.cpp | 72 +++++++++++++++++++++++++++++++ QtPMbrowser/PMparametersModel.h | 24 +++++++++++ 2 files changed, 96 insertions(+) create mode 100644 QtPMbrowser/PMparametersModel.cpp create mode 100644 QtPMbrowser/PMparametersModel.h diff --git a/QtPMbrowser/PMparametersModel.cpp b/QtPMbrowser/PMparametersModel.cpp new file mode 100644 index 0000000..743ea10 --- /dev/null +++ b/QtPMbrowser/PMparametersModel.cpp @@ -0,0 +1,72 @@ +#include +#include "PMparametersModel.h" + +PMparametersModel::PMparametersModel(QSpan p, QObject* parent) + : QAbstractTableModel(parent), parameters(p) +{} + +PMparametersModel::~PMparametersModel() +{} + +int PMparametersModel::rowCount(const QModelIndex & parent) const +{ + return parameters.size(); +} + +int PMparametersModel::columnCount(const QModelIndex& parent) const +{ + return 2; +} + +QVariant PMparametersModel::data(const QModelIndex& index, int role) const +{ + int row = index.row(); + int col = index.column(); + constexpr std::array lables{"export", "print"}; + const auto& p = parameters[row]; + switch (role) { + case Qt::CheckStateRole: + if (col == 0) { + return p.exportIBW ? Qt::Checked : Qt::Unchecked; + } + else if (col == 1) { + return p.print ? Qt::Checked : Qt::Unchecked; + } + break; + case Qt::DisplayRole: + return QString::fromUtf8(lables.at(col)); + break; + } + return QVariant(); +} + +QVariant PMparametersModel::headerData(int section, Qt::Orientation orientation, int role) const +{ + if (role == Qt::DisplayRole && orientation == Qt::Vertical) { + return QString::fromUtf8(parameters[section].name); + } + return QVariant(); +} + +bool PMparametersModel::setData(const QModelIndex& index, const QVariant& value, int role) +{ + if (role == Qt::CheckStateRole) { + if (!checkIndex(index)) + return false; + auto& p = parameters[index.row()]; + auto state = value.value(); + if (index.column() == 0) { + p.exportIBW = state != Qt::Unchecked; + } else if (index.column() == 1) { + p.print = state != Qt::Unchecked; + } + return true; + } + return false; +} + +Qt::ItemFlags PMparametersModel::flags(const QModelIndex& index) const +{ + return Qt::ItemIsUserCheckable | QAbstractTableModel::flags(index); +} + diff --git a/QtPMbrowser/PMparametersModel.h b/QtPMbrowser/PMparametersModel.h new file mode 100644 index 0000000..6e90b1f --- /dev/null +++ b/QtPMbrowser/PMparametersModel.h @@ -0,0 +1,24 @@ +#pragma once + +#include +#include +#include "PMparameters.h" + +class PMparametersModel : public QAbstractTableModel +{ + Q_OBJECT + +private: + QSpan parameters; + +public: + explicit PMparametersModel(QSpan PMparameters, QObject *parent = nullptr); + ~PMparametersModel(); + int rowCount(const QModelIndex& parent = QModelIndex()) const override; + int columnCount(const QModelIndex& parent = QModelIndex()) const override; + QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const override; + QVariant headerData(int section, Qt::Orientation orientation, int role) const override; + bool setData(const QModelIndex& index, const QVariant& value, int role = Qt::EditRole) override; + Qt::ItemFlags flags(const QModelIndex& index) const override; +}; + From 2a986f44f08177cfbf7e3e9c6a1c4f88df45ae5a Mon Sep 17 00:00:00 2001 From: Christian Halaszovich Date: Wed, 20 Aug 2025 16:30:30 +0200 Subject: [PATCH 2/6] add new class to cmake project --- QtPMbrowser/CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/QtPMbrowser/CMakeLists.txt b/QtPMbrowser/CMakeLists.txt index baae99b..f0bdd07 100644 --- a/QtPMbrowser/CMakeLists.txt +++ b/QtPMbrowser/CMakeLists.txt @@ -33,6 +33,7 @@ qt_add_executable(QtPMbrowser WIN32 MACOSX_BUNDLE DlgExportMetadata.h DlgExportMetadata.cpp main.cpp pmbrowserwindow.cpp pmbrowserwindow.h + "PMparametersModel.cpp" "PMparametersModel.h" renderarea.cpp renderarea.h DlgPreferences.cpp From 0e22055f09dcd1cd490b908264ce736712afd8bb Mon Sep 17 00:00:00 2001 From: Christian Halaszovich Date: Wed, 20 Aug 2025 19:43:17 +0200 Subject: [PATCH 3/6] using model view for select parameters dialog --- QtPMbrowser/DlgSelectParameters.cpp | 40 +- QtPMbrowser/DlgSelectParameters.h | 78 +-- QtPMbrowser/DlgSelectParameters.ui | 845 ++++------------------------ QtPMbrowser/PMparametersModel.cpp | 10 +- QtPMbrowser/PMparametersModel.h | 1 + 5 files changed, 153 insertions(+), 821 deletions(-) diff --git a/QtPMbrowser/DlgSelectParameters.cpp b/QtPMbrowser/DlgSelectParameters.cpp index 4887cea..0cf8a9b 100644 --- a/QtPMbrowser/DlgSelectParameters.cpp +++ b/QtPMbrowser/DlgSelectParameters.cpp @@ -1,5 +1,5 @@ /* - Copyright 2020 - 2024 Christian R. Halaszovich + Copyright 2020 - 2025 Christian R. Halaszovich This file is part of PMbrowser. @@ -26,37 +26,19 @@ DlgSelectParameters::DlgSelectParameters(QWidget *parent) ui = new Ui::DlgSelectParameters(); ui->setupUi(this); - setScrollArea(ui->scrollAreaRoot, v_root, hkLib::parametersRoot); - setScrollArea(ui->scrollAreaGrp, v_grp, hkLib::parametersGroup); - setScrollArea(ui->scrollAreaSer, v_ser, hkLib::parametersSeries); - setScrollArea(ui->scrollAreaSwp, v_swp, hkLib::parametersSweep); - setScrollArea(ui->scrollAreaTr, v_tr, hkLib::parametersTrace); - setScrollArea(ui->scrollAreaAmp, v_amp, hkLib::parametersAmpplifierState); - setScrollArea(ui->scrollAreaStim, v_stim_stim, hkLib::parametersStimulation); - setScrollArea(ui->scrollAreaStimChannel, v_stim_ch, hkLib::parametersChannel); - setScrollArea(ui->scrollAreaStimSegment, v_stim_seg, hkLib::parametersStimSegment); + ui->tableViewRoot->setModel(&m_root); + ui->tableViewGrp->setModel(&m_grp); + ui->tableViewSer->setModel(&m_ser); + ui->tableViewSwp->setModel(&m_swp); + ui->tableViewTrace->setModel(&m_tr); + ui->tableViewAmp->setModel(&m_amp); + ui->tableViewStim->setModel(&m_stim_stim); + ui->tableViewChannel->setModel(&m_stim_ch); + ui->tableViewSegment->setModel(&m_stim_seg); + } DlgSelectParameters::~DlgSelectParameters() { delete ui; } - -void DlgSelectParameters::accept() -{ - storeParams(); - QDialog::accept(); -} - -void DlgSelectParameters::storeParams() -{ - readSelections(v_root, hkLib::parametersRoot); - readSelections(v_grp, hkLib::parametersGroup); - readSelections(v_ser, hkLib::parametersSeries); - readSelections(v_swp, hkLib::parametersSweep); - readSelections(v_tr, hkLib::parametersTrace); - readSelections(v_amp, hkLib::parametersAmpplifierState); - readSelections(v_stim_stim, hkLib::parametersStimulation); - readSelections(v_stim_ch, hkLib::parametersChannel); - readSelections(v_stim_seg, hkLib::parametersStimSegment); -} diff --git a/QtPMbrowser/DlgSelectParameters.h b/QtPMbrowser/DlgSelectParameters.h index aa6ac3f..e6f887e 100644 --- a/QtPMbrowser/DlgSelectParameters.h +++ b/QtPMbrowser/DlgSelectParameters.h @@ -1,5 +1,5 @@ /* - Copyright 2020 - 2024 Christian R. Halaszovich + Copyright 2020 - 2025 Christian R. Halaszovich This file is part of PMbrowser. @@ -27,6 +27,7 @@ #include #include #include "PMparameters.h" +#include "PMparametersModel.h" namespace Ui { class DlgSelectParameters; } @@ -34,76 +35,21 @@ class DlgSelectParameters : public QDialog { Q_OBJECT - struct chk_row { - QCheckBox do_export, do_print; - QLabel label; - }; - public: DlgSelectParameters(QWidget *parent = Q_NULLPTR); - ~DlgSelectParameters(); - void accept() override; - void storeParams(); + ~DlgSelectParameters();; private: - static constexpr int chkbox_width = 40; - template QGridLayout* createGrid(std::vector& v, - const std::array& ar) - { - auto grid = new QGridLayout; - //v.resize(Nrows); - for (int i = 0; i < int(ar.size()); ++i) { - auto& row = v.at(i); - auto* chk1 = &row.do_export; - chk1->setChecked(ar[i].exportIBW); - chk1->setMinimumWidth(chkbox_width); - chk1->setMaximumWidth(chkbox_width); - auto* chk2 = &row.do_print; - chk2->setChecked(ar[i].print); - chk2->setMinimumWidth(chkbox_width); - chk2->setMaximumWidth(chkbox_width); - auto* lb = &row.label; - lb->setText(ar[i].name); - grid->addWidget(chk1, i, 0);// , Qt::AlignLeft | Qt::AlignVCenter); - grid->addWidget(chk2, i, 1);// , Qt::AlignLeft | Qt::AlignVCenter); - grid->addWidget(lb, i, 2);// , Qt::AlignLeft | Qt::AlignVCenter); - } - grid->addItem(new QSpacerItem(0, 0), static_cast(ar.size()), 0, 1, 3); - grid->setRowStretch(static_cast(ar.size()), 1); - grid->setColumnStretch(0, 0); - grid->setColumnStretch(1, 0); - grid->setColumnStretch(2, 1); - grid->setHorizontalSpacing(1); - return grid; - } - - template void setScrollArea(QScrollArea* area, - std::vector& v, - const std::array& ar) { - auto w = new QWidget; - w->setLayout(createGrid(v, ar)); - w->setBackgroundRole(QPalette::Base); - area->setWidget(w); - } - - template void readSelections(const std::vector& v, - std::array& ar) - { - for (std::size_t i = 0; i < ar.size(); ++i) { - ar.at(i).exportIBW = v.at(i).do_export.isChecked(); - ar.at(i).print = v.at(i).do_print.isChecked(); - } - } - std::vector v_root{ hkLib::parametersRoot.size() }, - v_grp{ hkLib::parametersGroup.size() }, - v_ser{ hkLib::parametersSeries.size() }, - v_swp{ hkLib::parametersSweep.size() }, - v_tr{ hkLib::parametersTrace.size() }, - v_amp{ hkLib::parametersAmpplifierState.size() }, - v_stim_stim{ hkLib::parametersStimulation.size() }, - v_stim_ch{ hkLib::parametersChannel.size() }, - v_stim_seg{ hkLib::parametersStimSegment.size() }; + PMparametersModel m_root{ hkLib::parametersRoot }, + m_grp{ hkLib::parametersGroup }, + m_ser{ hkLib::parametersSeries }, + m_swp{ hkLib::parametersSweep }, + m_tr{ hkLib::parametersTrace }, + m_amp{ hkLib::parametersAmpplifierState }, + m_stim_stim{ hkLib::parametersStimulation }, + m_stim_ch{ hkLib::parametersChannel }, + m_stim_seg{ hkLib::parametersStimSegment }; Ui::DlgSelectParameters *ui; }; diff --git a/QtPMbrowser/DlgSelectParameters.ui b/QtPMbrowser/DlgSelectParameters.ui index dae4769..825ed97 100644 --- a/QtPMbrowser/DlgSelectParameters.ui +++ b/QtPMbrowser/DlgSelectParameters.ui @@ -6,7 +6,7 @@ 0 0 - 1090 + 1100 598 @@ -14,16 +14,6 @@ Select Parameters - - - - Qt::Orientation::Horizontal - - - QDialogButtonBox::StandardButton::Cancel|QDialogButtonBox::StandardButton::Ok - - - @@ -32,739 +22,150 @@ - + Qt::Orientation::Horizontal - - - 40 - 20 - + + QDialogButtonBox::StandardButton::Cancel|QDialogButtonBox::StandardButton::Ok - + - + 0 - + - Pulse + pulsed - + + + + + Sweep + + + + + + + Trace + + + + + + + Group + + + + + + + Series + + + + + + + true + + + - - - - - 1 - - - - - parameter name - - - Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignVCenter - - - - - - - true - - - - - 0 - 0 - 254 - 200 - - - - - - - - - - 40 - 0 - - - - - 40 - 16777215 - - - - print - - - Qt::AlignmentFlag::AlignCenter - - - - - - - true - - - - - 0 - 0 - 254 - 200 - - - - - - - - - - 40 - 0 - - - - - 40 - 16777215 - - - - export - - - Qt::AlignmentFlag::AlignCenter - - - - - - - <html><head/><body><p><span style=" font-weight:700;">Group</span></p></body></html> - - - - - - - export - - - Qt::AlignmentFlag::AlignCenter - - - - - - - print - - - Qt::AlignmentFlag::AlignCenter - - - - - - - parameter name - - - - - - - <html><head/><body><p><span style=" font-weight:700;">Root</span></p></body></html> - - - - - - - - - 1 - - - - - - 40 - 0 - - - - export - - - Qt::AlignmentFlag::AlignCenter - - - - - - - - 40 - 0 - - - - print - - - Qt::AlignmentFlag::AlignCenter - - - - - - - <html><head/><body><p><span style=" font-weight:700;">Sweep</span></p></body></html> - - - - - - - parameter name - - - Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignVCenter - - - - - - - true - - - - - 0 - 0 - 254 - 452 - - - - - - - - - - - 1 - - - - - parameter name - - - Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignVCenter - - - - - - - - 40 - 0 - - - - - 40 - 16777215 - - - - print - - - Qt::AlignmentFlag::AlignCenter - - - - - - - <html><head/><body><p><span style=" font-weight:700;">Series</span></p></body></html> - - - - - - - - 40 - 0 - - - - - 40 - 16777215 - - - - export - - - Qt::AlignmentFlag::AlignCenter - - - - - - - true - - - - - 0 - 0 - 253 - 452 - - - - - - - - - - - 1 - - - - - <html><head/><body><p><span style=" font-weight:700;">Trace</span></p></body></html> - - - - - - - parameter name - - - Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignVCenter - - - - - - - - 40 - 0 - - - - print - - - Qt::AlignmentFlag::AlignCenter - - - - - - - - 40 - 0 - - - - export - - - Qt::AlignmentFlag::AlignCenter - - - - - - - true - - - - - 0 - 0 - 253 - 452 - - - - - - - - + + + Root + + + + + + + true + + + + + + + true + + + + + + + true + + + + + + + true + + - Amplifier + amp - - - - 0 - 0 - 1061 - 511 - - - - - - - 1 - - - - - true - - - - - 0 - 0 - 523 - 461 - - - - - - - - - export - - - Qt::AlignmentFlag::AlignCenter - - - - - - - print - - - Qt::AlignmentFlag::AlignCenter - - - - - - - parameter name - - - - - - - <html><head/><body><p><span style=" font-weight:700;">Amplifier parameters</span></p></body></html> - - - - - - - - - Qt::Orientation::Horizontal - - - - 40 - 20 - - - - - - + + + + + + + + Amplifier State + + + + - Stimulus + stim (pgf) - - - - 0 - 0 - 1061 - 521 - - - - - QLayout::SizeConstraint::SetDefaultConstraint - - - - - 1 - - - - - <html><head/><body><p><span style=" font-weight:700;">Stim. Segment</span></p></body></html> - - - - - - - parameter name - - - Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignVCenter - - - - - - - - 40 - 0 - - - - print - - - Qt::AlignmentFlag::AlignCenter - - - - - - - - 40 - 0 - - - - export - - - Qt::AlignmentFlag::AlignCenter - - - - - - - true - - - - - 0 - 0 - 345 - 471 - - - - - - - - - - - 1 - - - - - - 40 - 0 - - - - export - - - Qt::AlignmentFlag::AlignCenter - - - - - - - - 40 - 0 - - - - print - - - Qt::AlignmentFlag::AlignCenter - - - - - - - <html><head/><body><p><span style=" font-weight:700;">Stim. Channel</span></p></body></html> - - - - - - - parameter name - - - Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignVCenter - - - - - - - true - - - - - 0 - 0 - 345 - 471 - - - - - - - - - - - 1 - - - - - parameter name - - - Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignVCenter - - - - - - - - 40 - 0 - - - - - 40 - 16777215 - - - - print - - - Qt::AlignmentFlag::AlignCenter - - - - - - - <html><head/><body><p><span style=" font-weight:700;">Stimulus</span></p></body></html> - - - - - - - - 40 - 0 - - - - - 40 - 16777215 - - - - export - - - Qt::AlignmentFlag::AlignCenter - - - - - - - true - - - - - 0 - 0 - 345 - 471 - - - - - - - - - + + + + + Stimulation + + + + + + + Segment + + + + + + + + + + + + + + + + Channel + + + + diff --git a/QtPMbrowser/PMparametersModel.cpp b/QtPMbrowser/PMparametersModel.cpp index 743ea10..7cff75c 100644 --- a/QtPMbrowser/PMparametersModel.cpp +++ b/QtPMbrowser/PMparametersModel.cpp @@ -22,7 +22,6 @@ QVariant PMparametersModel::data(const QModelIndex& index, int role) const { int row = index.row(); int col = index.column(); - constexpr std::array lables{"export", "print"}; const auto& p = parameters[row]; switch (role) { case Qt::CheckStateRole: @@ -33,9 +32,9 @@ QVariant PMparametersModel::data(const QModelIndex& index, int role) const return p.print ? Qt::Checked : Qt::Unchecked; } break; - case Qt::DisplayRole: - return QString::fromUtf8(lables.at(col)); - break; + //case Qt::DisplayRole: + // return QString::fromUtf8(lables.at(col)); + // break; } return QVariant(); } @@ -45,6 +44,9 @@ QVariant PMparametersModel::headerData(int section, Qt::Orientation orientation, if (role == Qt::DisplayRole && orientation == Qt::Vertical) { return QString::fromUtf8(parameters[section].name); } + else if (role == Qt::DisplayRole && orientation == Qt::Horizontal) { + return QString::fromUtf8(lables.at(section)); + } return QVariant(); } diff --git a/QtPMbrowser/PMparametersModel.h b/QtPMbrowser/PMparametersModel.h index 6e90b1f..41ba00e 100644 --- a/QtPMbrowser/PMparametersModel.h +++ b/QtPMbrowser/PMparametersModel.h @@ -9,6 +9,7 @@ class PMparametersModel : public QAbstractTableModel Q_OBJECT private: + static constexpr std::array lables{ "export", "print" }; QSpan parameters; public: From acc9dc3e31bb4a5748131783f7c18f613e145314 Mon Sep 17 00:00:00 2001 From: Christian Halaszovich Date: Fri, 22 Aug 2025 15:21:00 +0200 Subject: [PATCH 4/6] make dialog nicer: re-arrange TableViews and make label texts bold --- QtPMbrowser/DlgSelectParameters.ui | 137 +++++++++++++++++++---------- QtPMbrowser/PMparametersModel.cpp | 6 +- 2 files changed, 93 insertions(+), 50 deletions(-) diff --git a/QtPMbrowser/DlgSelectParameters.ui b/QtPMbrowser/DlgSelectParameters.ui index 825ed97..48a26f5 100644 --- a/QtPMbrowser/DlgSelectParameters.ui +++ b/QtPMbrowser/DlgSelectParameters.ui @@ -27,7 +27,7 @@ Qt::Orientation::Horizontal - QDialogButtonBox::StandardButton::Cancel|QDialogButtonBox::StandardButton::Ok + QDialogButtonBox::StandardButton::Close @@ -40,74 +40,89 @@ pulsed - - - + + + - Sweep + <html><head/><body><p><span style=" font-weight:700;">Root</span></p></body></html> - - + + - Trace + <html><head/><body><p><span style=" font-weight:700;">Series</span></p></body></html> - - + + - Group + <html><head/><body><p><span style=" font-weight:700;">Trace</span></p></body></html> - - - - Series - + + + + false + + + false + - + + + false + - true + false - - + + - Root + <html><head/><body><p><span style=" font-weight:700;">Group</span></p></body></html> - - - - true - + + + + <html><head/><body><p><span style=" font-weight:700;">Sweep</span></p></body></html> + - - + + + + false + - true + false - - + + + + false + - true + false - - + + + + false + - true + false @@ -119,12 +134,16 @@ - + + + false + + - Amplifier State + <html><head/><body><p><span style=" font-weight:700;">Amplifier State</span></p></body></html> @@ -138,30 +157,42 @@ - Stimulation + <html><head/><body><p><span style=" font-weight:700;">Stimulation</span></p></body></html> - Segment + <html><head/><body><p><span style=" font-weight:700;">Segment</span></p></body></html> - + + + false + + - + + + false + + - + + + false + + - Channel + <html><head/><body><p><span style=" font-weight:700;">Channel</span></p></body></html> @@ -171,6 +202,18 @@ + + tabWidget + tableViewRoot + tableViewSer + tableViewGrp + tableViewSwp + tableViewTrace + tableViewAmp + tableViewSegment + tableViewStim + tableViewChannel + @@ -180,8 +223,8 @@ accept() - 248 - 254 + 708 + 588 157 @@ -196,8 +239,8 @@ reject() - 316 - 260 + 776 + 588 286 diff --git a/QtPMbrowser/PMparametersModel.cpp b/QtPMbrowser/PMparametersModel.cpp index 7cff75c..6f50ce2 100644 --- a/QtPMbrowser/PMparametersModel.cpp +++ b/QtPMbrowser/PMparametersModel.cpp @@ -32,9 +32,9 @@ QVariant PMparametersModel::data(const QModelIndex& index, int role) const return p.print ? Qt::Checked : Qt::Unchecked; } break; - //case Qt::DisplayRole: - // return QString::fromUtf8(lables.at(col)); - // break; + case Qt::DisplayRole: + return QString::fromUtf8(lables.at(col)); + break; } return QVariant(); } From 288c1d2f27cf25c06b24c5193c51dd20e704a168 Mon Sep 17 00:00:00 2001 From: Christian Halaszovich Date: Fri, 22 Aug 2025 15:37:34 +0200 Subject: [PATCH 5/6] DlgSelectParameters.h: remove additional semicolon --- QtPMbrowser/DlgSelectParameters.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/QtPMbrowser/DlgSelectParameters.h b/QtPMbrowser/DlgSelectParameters.h index e6f887e..3835d25 100644 --- a/QtPMbrowser/DlgSelectParameters.h +++ b/QtPMbrowser/DlgSelectParameters.h @@ -37,7 +37,7 @@ class DlgSelectParameters : public QDialog public: DlgSelectParameters(QWidget *parent = Q_NULLPTR); - ~DlgSelectParameters();; + ~DlgSelectParameters(); private: From 41da1a2a58922c089a7923283f3b943fd221a0c4 Mon Sep 17 00:00:00 2001 From: Christian Halaszovich Date: Fri, 22 Aug 2025 16:39:03 +0200 Subject: [PATCH 6/6] Update PMparametersModel.cpp, avoid unused parameter warning --- QtPMbrowser/PMparametersModel.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/QtPMbrowser/PMparametersModel.cpp b/QtPMbrowser/PMparametersModel.cpp index 6f50ce2..9237df7 100644 --- a/QtPMbrowser/PMparametersModel.cpp +++ b/QtPMbrowser/PMparametersModel.cpp @@ -8,12 +8,12 @@ PMparametersModel::PMparametersModel(QSpan p, QObject* paren PMparametersModel::~PMparametersModel() {} -int PMparametersModel::rowCount(const QModelIndex & parent) const +int PMparametersModel::rowCount(const QModelIndex&) const { return parameters.size(); } -int PMparametersModel::columnCount(const QModelIndex& parent) const +int PMparametersModel::columnCount(const QModelIndex&) const { return 2; }