Read and write some protobuf data
This commit is contained in:
parent
7b02a34cf3
commit
221368b3ca
11 changed files with 196 additions and 22 deletions
|
@ -15,14 +15,14 @@ set(V2Svk_PROTO_FILES
|
|||
../../../proto/V2SvkModel.proto
|
||||
)
|
||||
|
||||
protobuf_generate_cpp(PROTO_SRCS PROTO_HDRS ${V2Svk_PROTO_FILES})
|
||||
protobuf_generate_cpp(V2Svk_PROTO_SRCS V2Svk_PROTO_HDRS ${V2Svk_PROTO_FILES})
|
||||
|
||||
add_library(${PROJECT_NAME}
|
||||
V2SvkWidget.cpp
|
||||
V2SvkModel.cpp
|
||||
${UI_HEADERS}
|
||||
${PROTO_SRCS}
|
||||
${PROTO_HDRS}
|
||||
${V2Svk_PROTO_SRCS}
|
||||
${V2Svk_PROTO_HDRS}
|
||||
)
|
||||
|
||||
set_target_properties(${PROJECT_NAME}
|
||||
|
|
|
@ -75,3 +75,67 @@ unsigned int V2SvkModel::getSvkPoints()
|
|||
|
||||
return points;
|
||||
}
|
||||
|
||||
void V2SvkModel::writeProtoBuf(ESGRAF48::V2SvkModel &model) const
|
||||
{
|
||||
auto *wfrage = model.mutable_wfrage();
|
||||
if (wfrage != nullptr)
|
||||
{
|
||||
const auto &items = m_tests.at(0).items();
|
||||
|
||||
wfrage->set_affe1(items[0].isChecked());
|
||||
wfrage->set_affe2(items[1].isChecked());
|
||||
wfrage->set_affe3(items[2].isChecked());
|
||||
wfrage->set_affe4(items[3].isChecked());
|
||||
wfrage->set_schwein1(items[4].isChecked());
|
||||
wfrage->set_schwein2(items[5].isChecked());
|
||||
wfrage->set_schwein3(items[6].isChecked());
|
||||
wfrage->set_schwein4(items[7].isChecked());
|
||||
wfrage->set_gans1(items[8].isChecked());
|
||||
wfrage->set_gans2(items[9].isChecked());
|
||||
wfrage->set_gans3(items[10].isChecked());
|
||||
wfrage->set_gans4(items[11].isChecked());
|
||||
}
|
||||
|
||||
auto *verbtrennung = model.mutable_verbtrennung1();
|
||||
if (verbtrennung != nullptr)
|
||||
{
|
||||
const auto &testItems = m_tests.at(1).items();
|
||||
|
||||
verbtrennung->set_affe(testItems[1].isChecked());
|
||||
verbtrennung->set_schwein(testItems[7].isChecked());
|
||||
verbtrennung->set_gans(testItems[10].isChecked());
|
||||
}
|
||||
}
|
||||
|
||||
void V2SvkModel::readProtoBuf(const ESGRAF48::V2SvkModel &model)
|
||||
{
|
||||
const auto &wfrage = model.wfrage();
|
||||
{
|
||||
auto &testItems = m_tests.at(0).items();
|
||||
|
||||
testItems[0].setState(wfrage.affe1());
|
||||
testItems[1].setState(wfrage.affe2());
|
||||
testItems[2].setState(wfrage.affe3());
|
||||
testItems[3].setState(wfrage.affe4());
|
||||
testItems[4].setState(wfrage.schwein1());
|
||||
testItems[5].setState(wfrage.schwein2());
|
||||
testItems[6].setState(wfrage.schwein3());
|
||||
testItems[7].setState(wfrage.schwein4());
|
||||
testItems[8].setState(wfrage.gans1());
|
||||
testItems[9].setState(wfrage.gans2());
|
||||
testItems[10].setState(wfrage.gans3());
|
||||
testItems[11].setState(wfrage.gans4());
|
||||
}
|
||||
|
||||
const auto &verbtrennung = model.verbtrennung1();
|
||||
{
|
||||
auto &testItems = m_tests.at(1).items();
|
||||
|
||||
testItems[1].setState(verbtrennung.affe());
|
||||
testItems[7].setState(verbtrennung.schwein());
|
||||
testItems[10].setState(verbtrennung.gans());
|
||||
}
|
||||
|
||||
emit dataChanged(index(0, 0), index(rowCount() - 1, columnCount() - 1));
|
||||
}
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
#pragma once
|
||||
|
||||
#include "CheckableTestModel.h"
|
||||
#include "V2SvkModel.pb.h"
|
||||
|
||||
class V2SvkModel : public CheckableTestModel
|
||||
{
|
||||
|
@ -11,4 +12,7 @@ public:
|
|||
|
||||
unsigned int getV2Points();
|
||||
unsigned int getSvkPoints();
|
||||
|
||||
void writeProtoBuf(ESGRAF48::V2SvkModel &model) const;
|
||||
void readProtoBuf(const ESGRAF48::V2SvkModel &model);
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue