moved checkable item(s) to separate source files
This commit is contained in:
parent
a9718389e8
commit
6ec07a7301
@ -13,7 +13,9 @@ qt5_wrap_ui(UI_HEADERS
|
|||||||
add_library(${PROJECT_NAME}
|
add_library(${PROJECT_NAME}
|
||||||
GenusWidget.cpp
|
GenusWidget.cpp
|
||||||
GenusModel.cpp
|
GenusModel.cpp
|
||||||
${UI_HEADERS}
|
CheckableItem.cpp
|
||||||
|
CheckableItems.cpp
|
||||||
|
${UI_HEADERS}
|
||||||
)
|
)
|
||||||
|
|
||||||
set_target_properties(${PROJECT_NAME}
|
set_target_properties(${PROJECT_NAME}
|
||||||
|
21
source/Genus/CheckableItem.cpp
Normal file
21
source/Genus/CheckableItem.cpp
Normal file
@ -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;
|
||||||
|
}
|
17
source/Genus/CheckableItem.h
Normal file
17
source/Genus/CheckableItem.h
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include <string>
|
||||||
|
|
||||||
|
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);
|
||||||
|
};
|
10
source/Genus/CheckableItems.cpp
Normal file
10
source/Genus/CheckableItems.cpp
Normal file
@ -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();
|
||||||
|
}
|
||||||
|
}
|
14
source/Genus/CheckableItems.h
Normal file
14
source/Genus/CheckableItems.h
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "CheckableItem.h"
|
||||||
|
|
||||||
|
#include <QJsonObject>
|
||||||
|
#include <map>
|
||||||
|
|
||||||
|
class CheckableItems : public std::map<size_t, CheckableItem>
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
using std::map<size_t, CheckableItem>::map;
|
||||||
|
|
||||||
|
void write(QJsonObject &json) const;
|
||||||
|
};
|
@ -2,15 +2,6 @@
|
|||||||
|
|
||||||
#include <QDebug>
|
#include <QDebug>
|
||||||
|
|
||||||
void CheckableItems::write(QJsonObject &json) const
|
|
||||||
{
|
|
||||||
for (const auto &pair : *this)
|
|
||||||
{
|
|
||||||
json[pair.second.getText().c_str()] =
|
|
||||||
pair.second.isChecked();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
GenusModel::GenusModel(QObject *parent)
|
GenusModel::GenusModel(QObject *parent)
|
||||||
: QAbstractTableModel(parent)
|
: QAbstractTableModel(parent)
|
||||||
{
|
{
|
||||||
|
@ -1,46 +1,7 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <string>
|
#include "CheckableItem.h"
|
||||||
|
#include "CheckableItems.h"
|
||||||
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 <QJsonObject>
|
|
||||||
|
|
||||||
#include <map>
|
|
||||||
|
|
||||||
class CheckableItems : public std::map<size_t, CheckableItem>
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
using std::map<size_t, CheckableItem>::map;
|
|
||||||
|
|
||||||
void write(QJsonObject &json) const;
|
|
||||||
};
|
|
||||||
|
|
||||||
#include <QAbstractTableModel>
|
#include <QAbstractTableModel>
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user