From 66ac531cd51f0fdc8650ce5cba50195094d5f95f Mon Sep 17 00:00:00 2001 From: Sander Speetjens Date: Sun, 19 Oct 2025 21:09:15 +0200 Subject: [PATCH] Removes validity tracking from UI table This simplifies the code and removes redundant checks. --- UI/ui_table.cpp | 14 ++------------ UI/ui_table.hpp | 1 - client/simulator_base.cpp | 10 +++------- 3 files changed, 5 insertions(+), 20 deletions(-) diff --git a/UI/ui_table.cpp b/UI/ui_table.cpp index cd73716..1b644a3 100644 --- a/UI/ui_table.cpp +++ b/UI/ui_table.cpp @@ -8,11 +8,10 @@ UI_table::UI_table(QObject *parent) : UI_item(UI_TABLE_TYPE, parent), m_row_coun UI_table::UI_table(size_t row_count, size_t column_count, std::vector row_labels, std::vector column_labels, QObject *parent) : UI_item(UI_TABLE_TYPE, parent), m_row_count(row_count), m_column_count(column_count), m_row_labels(row_labels), - m_column_labels(column_labels), m_valid(), m_table() + m_column_labels(column_labels), m_table() { setup_item(false, false, false); m_table.resize(m_column_count * m_row_count); - m_valid.resize(m_column_count * m_row_count); } void UI_table::set_row_count(size_t count) @@ -21,7 +20,6 @@ void UI_table::set_row_count(size_t count) if (m_row_count != 0 || m_column_count != 0) { m_table.resize(m_column_count * m_row_count); - m_valid.resize(m_column_count * m_row_count); } emit ui_changed(); @@ -38,7 +36,6 @@ void UI_table::set_column_count(size_t count) if (m_row_count != 0 || m_column_count != 0) { m_table.resize(m_column_count * m_row_count); - m_valid.resize(m_column_count * m_row_count); } emit ui_changed(); @@ -108,14 +105,10 @@ void UI_table::insert_item(size_t row, size_t column, std::string text) { m_table.resize(capacity()); } - if (capacity() > m_valid.capacity()) - { - m_valid.resize(capacity()); - } + size_t index = row * m_column_count + column; m_table.at(index) = text; - m_valid.at(index) = true; emit ui_changed(); } @@ -136,7 +129,6 @@ void UI_table::empty_item(size_t row, size_t column) size_t index = row * m_column_count + column; m_table[index] = ""; - m_valid[index] = false; emit ui_changed(); } @@ -149,7 +141,6 @@ void UI_table::from_json(const json &j) this->m_row_labels = j.at("row_labels"); this->m_column_count = j.at("column_count"); this->m_column_labels = j.at("column_labels"); - this->m_valid = (std::vector)j.at("valid"); this->m_table = j.at("table"); } @@ -160,7 +151,6 @@ json UI_table::to_json(size_t id) const j["row_labels"] = m_row_labels; j["column_count"] = m_column_count; j["column_labels"] = m_column_labels; - j["valid"] = m_valid; j["table"] = m_table; return j; diff --git a/UI/ui_table.hpp b/UI/ui_table.hpp index 6e98082..d50e4ef 100644 --- a/UI/ui_table.hpp +++ b/UI/ui_table.hpp @@ -40,6 +40,5 @@ class UI_table : public UI_item std::vector m_row_labels; std::vector m_column_labels; - std::vector m_valid; std::vector m_table; }; diff --git a/client/simulator_base.cpp b/client/simulator_base.cpp index d9d9fec..14e66a4 100644 --- a/client/simulator_base.cpp +++ b/client/simulator_base.cpp @@ -856,7 +856,6 @@ void Simulator_base::process_ui_table(json &ui_item, QWidget *widget) std::vector row_labels = (std::vector)ui_item.at("row_labels"); size_t column_count = ui_item.at("column_count"); std::vector column_labels = (std::vector)ui_item.at("column_labels"); - std::vector valid = (std::vector)ui_item.at("valid"); std::vector table_data = (std::vector)ui_item.at("table"); bool enabled = ui_item.at("enabled"); bool visible = ui_item.at("visible"); @@ -900,16 +899,13 @@ void Simulator_base::process_ui_table(json &ui_item, QWidget *widget) { size_t row = i / column_count; size_t column = i % column_count; - if (valid[i] && table->item(row, column) == nullptr) + if (table->item(row, column) == nullptr) { table->setItem(row, column, new QTableWidgetItem()); } - if (valid[i]) - { - table->item(row, column)->setText(QString::fromStdString(table_data[i])); - } + table->item(row, column)->setText(QString::fromStdString(table_data[i])); } - // table-> + table->resizeColumnsToContents(); } void Simulator_base::process_ui_can(json &ui_item, QWidget *widget)