From 6ec07a73015f1e3fea9d0a5343ad7236d0dc7157 Mon Sep 17 00:00:00 2001 From: Michael Mandl Date: Wed, 23 May 2018 08:11:58 +0200 Subject: [PATCH] moved checkable item(s) to separate source files --- source/Genus/CMakeLists.txt | 4 ++- source/Genus/CheckableItem.cpp | 21 ++++++++++++++++ source/Genus/CheckableItem.h | 17 +++++++++++++ source/Genus/CheckableItems.cpp | 10 ++++++++ source/Genus/CheckableItems.h | 14 +++++++++++ source/Genus/GenusModel.cpp | 9 ------- source/Genus/GenusModel.h | 43 ++------------------------------- 7 files changed, 67 insertions(+), 51 deletions(-) create mode 100644 source/Genus/CheckableItem.cpp create mode 100644 source/Genus/CheckableItem.h create mode 100644 source/Genus/CheckableItems.cpp create mode 100644 source/Genus/CheckableItems.h diff --git a/source/Genus/CMakeLists.txt b/source/Genus/CMakeLists.txt index eb38a8d..435ec16 100644 --- a/source/Genus/CMakeLists.txt +++ b/source/Genus/CMakeLists.txt @@ -13,7 +13,9 @@ qt5_wrap_ui(UI_HEADERS add_library(${PROJECT_NAME} GenusWidget.cpp GenusModel.cpp - ${UI_HEADERS} + CheckableItem.cpp + CheckableItems.cpp + ${UI_HEADERS} ) set_target_properties(${PROJECT_NAME} diff --git a/source/Genus/CheckableItem.cpp b/source/Genus/CheckableItem.cpp new file mode 100644 index 0000000..566bab9 --- /dev/null +++ b/source/Genus/CheckableItem.cpp @@ -0,0 +1,21 @@ +#include "CheckableItem.h" + +CheckableItem::CheckableItem(const std::string &text) + : m_text(text) +{ +} + +std::string CheckableItem::getText() const +{ + return m_text; +} + +bool CheckableItem::isChecked() const +{ + return m_checked; +} + +void CheckableItem::setState(bool checked) +{ + m_checked = checked; +} diff --git a/source/Genus/CheckableItem.h b/source/Genus/CheckableItem.h new file mode 100644 index 0000000..bc12ff2 --- /dev/null +++ b/source/Genus/CheckableItem.h @@ -0,0 +1,17 @@ +#pragma once + +#include + +class CheckableItem +{ +private: + bool m_checked = false; + std::string m_text; + +public: + CheckableItem(const std::string &text); + + std::string getText() const; + bool isChecked() const; + void setState(bool checked); +}; diff --git a/source/Genus/CheckableItems.cpp b/source/Genus/CheckableItems.cpp new file mode 100644 index 0000000..4863ff3 --- /dev/null +++ b/source/Genus/CheckableItems.cpp @@ -0,0 +1,10 @@ +#include "CheckableItems.h" + +void CheckableItems::write(QJsonObject &json) const +{ + for (const auto &pair : *this) + { + json[pair.second.getText().c_str()] = + pair.second.isChecked(); + } +} diff --git a/source/Genus/CheckableItems.h b/source/Genus/CheckableItems.h new file mode 100644 index 0000000..715f77b --- /dev/null +++ b/source/Genus/CheckableItems.h @@ -0,0 +1,14 @@ +#pragma once + +#include "CheckableItem.h" + +#include +#include + +class CheckableItems : public std::map +{ +public: + using std::map::map; + + void write(QJsonObject &json) const; +}; diff --git a/source/Genus/GenusModel.cpp b/source/Genus/GenusModel.cpp index bf41b70..e081261 100644 --- a/source/Genus/GenusModel.cpp +++ b/source/Genus/GenusModel.cpp @@ -2,15 +2,6 @@ #include -void CheckableItems::write(QJsonObject &json) const -{ - for (const auto &pair : *this) - { - json[pair.second.getText().c_str()] = - pair.second.isChecked(); - } -} - GenusModel::GenusModel(QObject *parent) : QAbstractTableModel(parent) { diff --git a/source/Genus/GenusModel.h b/source/Genus/GenusModel.h index 06f5856..c57524f 100644 --- a/source/Genus/GenusModel.h +++ b/source/Genus/GenusModel.h @@ -1,46 +1,7 @@ #pragma once -#include - -class CheckableItem -{ -private: - bool m_checked = false; - std::string m_text; - -public: - CheckableItem(const std::string &text) - : m_text(text) - { - } - - std::string getText() const - { - return m_text; - } - - bool isChecked() const - { - return m_checked; - } - - void setState(bool checked) - { - m_checked = checked; - } -}; - -#include - -#include - -class CheckableItems : public std::map -{ - public: - using std::map::map; - - void write(QJsonObject &json) const; -}; +#include "CheckableItem.h" +#include "CheckableItems.h" #include