|
@@ -294,10 +294,12 @@ void MatterElementConfigWidget::initDomainTable()
|
|
|
table->verticalHeader()->hide();
|
|
|
table->verticalHeader()->setDefaultSectionSize(60);
|
|
|
table->horizontalHeader()->hide();
|
|
|
- QStandardItemModel *tModel = new QStandardItemModel;
|
|
|
+ QStandardItemModel *tModel = new QStandardItemModel(table);
|
|
|
m_domainModels << tModel;
|
|
|
|
|
|
table->setModel(tModel);
|
|
|
+ ui->tabWidget->addTab(table, m_allConfigItems.at(pindex).parentName);
|
|
|
+ connect(tModel, &QStandardItemModel::itemChanged, this, &MatterElementConfigWidget::onTableItemChanged);
|
|
|
|
|
|
int indexNumber = m_allConfigItems.at(pindex).childs.size();
|
|
|
qDebug() << indexNumber;
|
|
@@ -344,16 +346,17 @@ void MatterElementConfigWidget::initDomainTable()
|
|
|
|
|
|
s = new QStandardItem();
|
|
|
s->setTextAlignment(Qt::AlignCenter);
|
|
|
- s->setText(QString("(%1, %2)")
|
|
|
- .arg(m_allConfigItems[pindex].childs[k].leftValues[r])
|
|
|
- .arg(m_allConfigItems[pindex].childs[k].rightValues[r]));
|
|
|
- tModel->setItem(k, r * 4 + 3, s);
|
|
|
+
|
|
|
+ if (r < m_domainLevel) {
|
|
|
+ s->setText(QString("(%1, %2)")
|
|
|
+ .arg(m_allConfigItems[pindex].childs[k].leftValues[r])
|
|
|
+ .arg(m_allConfigItems[pindex].childs[k].rightValues[r]));
|
|
|
+ tModel->setItem(k, r * 4 + 3, s);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
table->setItemDelegateForColumn(r * 4 + 3, m_meRangeDelegate);
|
|
|
}
|
|
|
-
|
|
|
- ui->tabWidget->addTab(table, m_allConfigItems.at(pindex).parentName);
|
|
|
}
|
|
|
|
|
|
connect(ui->cleanBtn, &QToolButton::clicked, this, &MatterElementConfigWidget::onClearBtnClick);
|
|
@@ -570,6 +573,56 @@ void MatterElementConfigWidget::onSaveBtnClick()
|
|
|
qDeleteAll(gradeIndexInfoList);
|
|
|
}
|
|
|
|
|
|
+void MatterElementConfigWidget::onTableItemChanged(QStandardItem *item)
|
|
|
+{
|
|
|
+ qDebug() << __FUNCTION__ << __LINE__ << item->column() << endl;
|
|
|
+ if (item->column() >= m_domainLevel * 4 || item->column() % 4 != 3) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ QTableView *table = (QTableView *)item->model()->parent();
|
|
|
+ int current = ui->tabWidget->indexOf(table);
|
|
|
+ if (current < 0 || current >= m_allConfigItems.size()) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ if (m_allConfigItems.at(current).childs.size() <= item->row()) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ MEDomain d = m_allConfigItems.at(current).childs[item->row()];
|
|
|
+ QString left = QString("%1").arg(d.leftValues.first());
|
|
|
+ QString left1 = QString("%1").arg(d.rightValues.first());
|
|
|
+ ;
|
|
|
+ if (item->column() / 4 == 0 && item->text().length() > 2) {
|
|
|
+ QStringList valueList = item->text().mid(1, item->text().length() - 2).split(", ");
|
|
|
+ left = valueList.first();
|
|
|
+ left1 = valueList.last();
|
|
|
+ }
|
|
|
+
|
|
|
+ QString right = QString("%1").arg(d.rightValues[d.rightValues.size() - 1]);
|
|
|
+ QString right1 = QString("%1").arg(d.leftValues[d.leftValues.size() - 1]);
|
|
|
+ ;
|
|
|
+ if (item->column() / 4 == m_domainLevel - 1 && item->text().length() > 2) {
|
|
|
+ QStringList valueList = item->text().mid(1, item->text().length() - 2).split(", ");
|
|
|
+ right = valueList.last();
|
|
|
+ right1 = valueList.first();
|
|
|
+ }
|
|
|
+
|
|
|
+ QString text = QString("(%1, %2)").arg(left).arg(right);
|
|
|
+ if (left.toDouble() > right.toDouble()) {
|
|
|
+ text = QString("(%1, %2)").arg(left1).arg(right1);
|
|
|
+ }
|
|
|
+
|
|
|
+ QStandardItem *i = item->model()->item(item->row(), m_domainLevel * 4 + 3);
|
|
|
+
|
|
|
+ if (i) {
|
|
|
+ i->setText(text);
|
|
|
+ } else {
|
|
|
+ i = new QStandardItem(text);
|
|
|
+ item->model()->setItem(item->row(), m_domainLevel * 4 + 3, i);
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
QList<MEConfigItem> MatterElementConfigWidget::getAllConfigItems() const
|
|
|
{
|
|
|
return m_allConfigItems;
|