diff --git a/source/Genus/GenusModel.cpp b/source/Genus/GenusModel.cpp index fa42e5c..4943bd7 100644 --- a/source/Genus/GenusModel.cpp +++ b/source/Genus/GenusModel.cpp @@ -19,85 +19,85 @@ int GenusModel::columnCount(const QModelIndex &parent) const QVariant GenusModel::data(const QModelIndex &index, int role) const { - if (!isValidIndex(index)) - { - return {}; - } + if (!isValidIndex(index)) + { + return {}; + } - try - { - auto &item = getItem(index); + try + { + auto &item = getItem(index); - if (role == Qt::DisplayRole) - { - return item.getText().c_str(); - } + if (role == Qt::DisplayRole) + { + return item.getText().c_str(); + } - if (role == Qt::CheckStateRole) - { - return item.isChecked() ? Qt::Checked : Qt::Unchecked; - } - } - catch (std::runtime_error &e) - { - qDebug() << "GenusModel::data" << index << e.what(); - } + if (role == Qt::CheckStateRole) + { + return item.isChecked() ? Qt::Checked : Qt::Unchecked; + } + } + catch (std::runtime_error &e) + { + qDebug() << "GenusModel::data" << index << e.what(); + } - return {}; + return {}; } Qt::ItemFlags GenusModel::flags(const QModelIndex &index) const { - if (isValidIndex(index)) - { - return Qt::ItemIsEnabled | Qt::ItemIsUserCheckable; - } + if (isValidIndex(index)) + { + return Qt::ItemIsEnabled | Qt::ItemIsUserCheckable; + } - return Qt::NoItemFlags; + return Qt::NoItemFlags; } bool GenusModel::setData( const QModelIndex &index, const QVariant &value, int role) { - if (!isValidIndex(index)) - { - return false; - } + if (!isValidIndex(index)) + { + return false; + } - try - { - if (role == Qt::CheckStateRole) - { - auto &item = getItem(index); - item.setState(value.toBool()); - return true; - } - } - catch (std::runtime_error &e) - { - qDebug() << "GenusModel::setData" << index << e.what(); - } + try + { + if (role == Qt::CheckStateRole) + { + auto &item = getItem(index); + item.setState(value.toBool()); + return true; + } + } + catch (std::runtime_error &e) + { + qDebug() << "GenusModel::setData" << index << e.what(); + } - return false; + return false; } QVariant GenusModel::headerData( int section, Qt::Orientation orientation, int role) const { - if (role == Qt::DisplayRole && orientation == Qt::Vertical) - { - switch (section) - { - case 0: - return "Tiere"; - case 1: - return "Futter"; - case 2: - return "Zirkus"; - default: - return {}; - } - } + if (role == Qt::DisplayRole && orientation == Qt::Vertical) + { + switch (section) + { + case 0: + return "Tiere"; + case 1: + return "Futter"; + case 2: + return "Zirkus"; + default: + return {}; + } + } return {}; } @@ -112,73 +112,74 @@ void GenusModel::read(const QJsonObject &json) bool GenusModel::isValidIndex(const QModelIndex &index) const { - switch (index.row()) - { - case 0: - return m_tiere.find(index.column()) != m_tiere.end(); - case 1: - return m_futter.find(index.column()) != m_futter.end(); - case 2: - return m_zirkus.find(index.column()) != m_zirkus.end(); - default: - return false; - } + switch (index.row()) + { + case 0: + return m_tiere.find(index.column()) != m_tiere.end(); + case 1: + return m_futter.find(index.column()) != m_futter.end(); + case 2: + return m_zirkus.find(index.column()) != m_zirkus.end(); + default: + return false; + } } GenusModel::CheckableItems &GenusModel::getItems(const QModelIndex &index) { - switch (index.row()) - { - case 0: - return m_tiere; - case 1: - return m_futter; - case 2: - return m_zirkus; - default: - break; - } + switch (index.row()) + { + case 0: + return m_tiere; + case 1: + return m_futter; + case 2: + return m_zirkus; + default: + break; + } - throw std::runtime_error("invalid index"); + throw std::runtime_error("invalid index"); } -const GenusModel::CheckableItems &GenusModel::getItems(const QModelIndex &index) const +const GenusModel::CheckableItems &GenusModel::getItems( + const QModelIndex &index) const { - switch (index.row()) - { - case 0: - return m_tiere; - case 1: - return m_futter; - case 2: - return m_zirkus; - default: - break; - } + switch (index.row()) + { + case 0: + return m_tiere; + case 1: + return m_futter; + case 2: + return m_zirkus; + default: + break; + } - throw std::runtime_error("invalid index"); + throw std::runtime_error("invalid index"); } CheckableItem &GenusModel::getItem(const QModelIndex &index) { - auto &items = getItems(index); - auto entry = items.find(index.column()); - if (entry != items.end()) - { - return entry->second; - } + auto &items = getItems(index); + auto entry = items.find(index.column()); + if (entry != items.end()) + { + return entry->second; + } - throw std::runtime_error("invalid index"); + throw std::runtime_error("invalid index"); } const CheckableItem &GenusModel::getItem(const QModelIndex &index) const { - auto &items = getItems(index); - auto entry = items.find(index.column()); - if (entry != items.end()) - { - return entry->second; - } + auto &items = getItems(index); + auto entry = items.find(index.column()); + if (entry != items.end()) + { + return entry->second; + } - throw std::runtime_error("invalid index"); + throw std::runtime_error("invalid index"); } diff --git a/source/Genus/GenusModel.h b/source/Genus/GenusModel.h index 930034f..fd11b8c 100644 --- a/source/Genus/GenusModel.h +++ b/source/Genus/GenusModel.h @@ -5,29 +5,29 @@ class CheckableItem { private: - bool m_checked = false; - std::string m_text; + bool m_checked = false; + std::string m_text; public: - CheckableItem(const std::string &text) - : m_text(text) - { - } + CheckableItem(const std::string &text) + : m_text(text) + { + } - std::string getText() const - { - return m_text; - } + std::string getText() const + { + return m_text; + } - bool isChecked() const - { - return m_checked; - } + bool isChecked() const + { + return m_checked; + } - void setState(bool checked) - { - m_checked = checked; - } + void setState(bool checked) + { + m_checked = checked; + } }; #include @@ -38,39 +38,18 @@ class GenusModel : public QAbstractTableModel Q_OBJECT private: - using CheckableItems = std::map; + using CheckableItems = std::map; - CheckableItems m_tiere = - { - {0, {"Tiger"}}, - {1, {"Bär"}}, - {2, {"Katze"}}, - {3, {"Pferd"}}, - {4, {"Gans"}}, - {5, {"Elefant"}}, - {6, {"Katze"}}, - {7, {"Hund"}} - }; + CheckableItems m_tiere = {{0, {"Tiger"}}, {1, {"Bär"}}, {2, {"Katze"}}, + {3, {"Pferd"}}, {4, {"Gans"}}, {5, {"Elefant"}}, {6, {"Katze"}}, + {7, {"Hund"}}}; - CheckableItems m_futter = - { - {0, {"Salat"}}, - {1, {"Fleisch"}}, - {2, {"Knocken"}}, - {3, {"Banane"}}, - {4, {"Apfel"}}, - {5, {"Möhre"}}, - {6, {"Honig"}}, - {7, {"Zucker"}} - }; + CheckableItems m_futter = {{0, {"Salat"}}, {1, {"Fleisch"}}, + {2, {"Knocken"}}, {3, {"Banane"}}, {4, {"Apfel"}}, {5, {"Möhre"}}, + {6, {"Honig"}}, {7, {"Zucker"}}}; - CheckableItems m_zirkus = - { - {0, {"Kiste"}}, - {1, {"Holz"}}, - {2, {"Vorhang"}}, - {3, {"Baum"}} - }; + CheckableItems m_zirkus = { + {0, {"Kiste"}}, {1, {"Holz"}}, {2, {"Vorhang"}}, {3, {"Baum"}}}; public: GenusModel(QObject *parent); @@ -89,12 +68,11 @@ public: void read(const QJsonObject &json); private: - bool isValidIndex(const QModelIndex &index) const; + bool isValidIndex(const QModelIndex &index) const; - CheckableItems &getItems(const QModelIndex &index); - const CheckableItems &getItems(const QModelIndex &index) const; + CheckableItems &getItems(const QModelIndex &index); + const CheckableItems &getItems(const QModelIndex &index) const; - CheckableItem &getItem(const QModelIndex &index); - const CheckableItem &getItem(const QModelIndex &index) const; + CheckableItem &getItem(const QModelIndex &index); + const CheckableItem &getItem(const QModelIndex &index) const; }; - diff --git a/source/Genus/GenusWidget.h b/source/Genus/GenusWidget.h index a6aa65b..f5212fc 100644 --- a/source/Genus/GenusWidget.h +++ b/source/Genus/GenusWidget.h @@ -5,7 +5,7 @@ class GenusModel; namespace Ui { - class GenusWidget; +class GenusWidget; }; class GenusWidget : public QWidget