Merge branch 'develop' into feature/print-with-qpainter
This commit is contained in:
commit
f895ec0c1c
33 changed files with 1194 additions and 230 deletions
|
@ -4,11 +4,11 @@ DativModel::DativModel(QObject *parent)
|
|||
: CheckableTestModel(parent)
|
||||
{
|
||||
m_tests = {{"Dativ Nominalphrase",
|
||||
{"Tiger", "Katze", "Affe", "Gans", "Bär", "Pferd", "Hund", "Elefant"}},
|
||||
{"Affe", "Gans", "Tiger", "Hund", "Elefant", "Pferd", "Bär", "Katze"}},
|
||||
{"Präpositionalphrase (Verstecke)",
|
||||
{"Vorhang", "Kiste", "Holz", "Kiste", "Baum", "Vorhang", "Holz", "Baum"}},
|
||||
{"Nominalphrase (Tiere)",
|
||||
{"Salat", "Fleisch", "Knochen", "Banane", "Apfel", "Karotte", "Honig", "Zucker"}}};
|
||||
{"Gans", "Tiger", "Hund", "Affe", "Elefant", "Pferd", "Bär", "Katze"}}};
|
||||
}
|
||||
|
||||
void DativModel::read(const ESGRAF48::DativModel &model)
|
||||
|
@ -17,14 +17,14 @@ void DativModel::read(const ESGRAF48::DativModel &model)
|
|||
{
|
||||
auto &testItems = m_tests.at(0).items();
|
||||
|
||||
testItems[0].setState(tiereModel.tiger());
|
||||
testItems[1].setState(tiereModel.katze());
|
||||
testItems[2].setState(tiereModel.affe());
|
||||
testItems[3].setState(tiereModel.gans());
|
||||
testItems[4].setState(tiereModel.baer());
|
||||
testItems[0].setState(tiereModel.affe());
|
||||
testItems[1].setState(tiereModel.gans());
|
||||
testItems[2].setState(tiereModel.tiger());
|
||||
testItems[3].setState(tiereModel.hund());
|
||||
testItems[4].setState(tiereModel.elefant());
|
||||
testItems[5].setState(tiereModel.pferd());
|
||||
testItems[6].setState(tiereModel.hund());
|
||||
testItems[7].setState(tiereModel.elefant());
|
||||
testItems[6].setState(tiereModel.baer());
|
||||
testItems[7].setState(tiereModel.katze());
|
||||
}
|
||||
|
||||
const auto &versteckeModel = model.verstecke();
|
||||
|
@ -41,18 +41,18 @@ void DativModel::read(const ESGRAF48::DativModel &model)
|
|||
testItems[7].setState(versteckeModel.baum2());
|
||||
}
|
||||
|
||||
const auto &futterModel = model.futter();
|
||||
const auto &nomTiereModel = model.nomtiere();
|
||||
{
|
||||
auto &testItems = m_tests.at(2).items();
|
||||
|
||||
testItems[0].setState(futterModel.salat());
|
||||
testItems[1].setState(futterModel.fleisch());
|
||||
testItems[2].setState(futterModel.knochen());
|
||||
testItems[3].setState(futterModel.banane());
|
||||
testItems[4].setState(futterModel.apfel());
|
||||
testItems[5].setState(futterModel.karotte());
|
||||
testItems[6].setState(futterModel.honig());
|
||||
testItems[7].setState(futterModel.zucker());
|
||||
testItems[0].setState(nomTiereModel.gans());
|
||||
testItems[1].setState(nomTiereModel.tiger());
|
||||
testItems[2].setState(nomTiereModel.hund());
|
||||
testItems[3].setState(nomTiereModel.affe());
|
||||
testItems[4].setState(nomTiereModel.elefant());
|
||||
testItems[5].setState(nomTiereModel.pferd());
|
||||
testItems[6].setState(nomTiereModel.baer());
|
||||
testItems[7].setState(nomTiereModel.katze());
|
||||
}
|
||||
|
||||
emit dataChanged(index(0, 0), index(rowCount() - 1, columnCount() - 1));
|
||||
|
@ -65,14 +65,14 @@ void DativModel::write(ESGRAF48::DativModel &model) const
|
|||
{
|
||||
const auto &testItems = m_tests.at(0).items();
|
||||
|
||||
tiereModel->set_tiger(testItems[0].isChecked());
|
||||
tiereModel->set_katze(testItems[1].isChecked());
|
||||
tiereModel->set_affe(testItems[2].isChecked());
|
||||
tiereModel->set_gans(testItems[3].isChecked());
|
||||
tiereModel->set_baer(testItems[4].isChecked());
|
||||
tiereModel->set_affe(testItems[0].isChecked());
|
||||
tiereModel->set_gans(testItems[1].isChecked());
|
||||
tiereModel->set_tiger(testItems[2].isChecked());
|
||||
tiereModel->set_hund(testItems[3].isChecked());
|
||||
tiereModel->set_elefant(testItems[4].isChecked());
|
||||
tiereModel->set_pferd(testItems[5].isChecked());
|
||||
tiereModel->set_hund(testItems[6].isChecked());
|
||||
tiereModel->set_elefant(testItems[7].isChecked());
|
||||
tiereModel->set_baer(testItems[6].isChecked());
|
||||
tiereModel->set_katze(testItems[7].isChecked());
|
||||
}
|
||||
|
||||
auto *versteckeModel = model.mutable_verstecke();
|
||||
|
@ -90,18 +90,18 @@ void DativModel::write(ESGRAF48::DativModel &model) const
|
|||
versteckeModel->set_baum2(testItems[7].isChecked());
|
||||
}
|
||||
|
||||
auto *futterModel = model.mutable_futter();
|
||||
if (futterModel != nullptr)
|
||||
auto *nomTiereModel = model.mutable_nomtiere();
|
||||
if (nomTiereModel != nullptr)
|
||||
{
|
||||
const auto &testItems = m_tests.at(2).items();
|
||||
|
||||
futterModel->set_salat(testItems[0].isChecked());
|
||||
futterModel->set_fleisch(testItems[1].isChecked());
|
||||
futterModel->set_knochen(testItems[2].isChecked());
|
||||
futterModel->set_banane(testItems[3].isChecked());
|
||||
futterModel->set_apfel(testItems[4].isChecked());
|
||||
futterModel->set_karotte(testItems[5].isChecked());
|
||||
futterModel->set_honig(testItems[6].isChecked());
|
||||
futterModel->set_zucker(testItems[7].isChecked());
|
||||
nomTiereModel->set_gans(testItems[0].isChecked());
|
||||
nomTiereModel->set_tiger(testItems[1].isChecked());
|
||||
nomTiereModel->set_hund(testItems[2].isChecked());
|
||||
nomTiereModel->set_affe(testItems[3].isChecked());
|
||||
nomTiereModel->set_elefant(testItems[4].isChecked());
|
||||
nomTiereModel->set_pferd(testItems[5].isChecked());
|
||||
nomTiereModel->set_baer(testItems[6].isChecked());
|
||||
nomTiereModel->set_katze(testItems[7].isChecked());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5,21 +5,11 @@
|
|||
PluralModel::PluralModel(QObject *parent)
|
||||
: CheckableTestModel(parent)
|
||||
{
|
||||
m_tests = {{"",
|
||||
m_tests = {{"Plural",
|
||||
{"Fisch /-e/", "Banane /-n/", "Bonbon /-s/", "Ei /-er/", "Eimer /-ø/",
|
||||
"Korn UML+/-er/", "Nuss UML+/-e/", "Bär /-en/", "Apfel UML"}}};
|
||||
}
|
||||
|
||||
QVariant PluralModel::data(const QModelIndex &index, int role) const
|
||||
{
|
||||
if (role == Qt::SizeHintRole)
|
||||
{
|
||||
return QSize(180, 0);
|
||||
}
|
||||
|
||||
return CheckableTestModel::data(index, role);
|
||||
}
|
||||
|
||||
void PluralModel::read(const ESGRAF48::PluralModel &model)
|
||||
{
|
||||
auto &testItems = m_tests.at(0).items();
|
||||
|
|
|
@ -10,9 +10,6 @@ class PluralModel : public CheckableTestModel
|
|||
public:
|
||||
PluralModel(QObject *parent);
|
||||
|
||||
QVariant data(
|
||||
const QModelIndex &index, int role = Qt::DisplayRole) const override;
|
||||
|
||||
void read(const ESGRAF48::PluralModel &model);
|
||||
void write(ESGRAF48::PluralModel &model) const;
|
||||
};
|
||||
|
|
|
@ -8,6 +8,8 @@ PluralWidget::PluralWidget(QWidget *parent)
|
|||
, ui(new Ui::PluralWidget)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
|
||||
ui->pluralTableView->horizontalHeader()->hide();
|
||||
}
|
||||
|
||||
PluralWidget::~PluralWidget()
|
||||
|
@ -18,5 +20,4 @@ PluralWidget::~PluralWidget()
|
|||
void PluralWidget::setModel(PluralModel *model)
|
||||
{
|
||||
ui->pluralTableView->setModel(model);
|
||||
ui->pluralTableView->resizeColumnsToContents();
|
||||
}
|
||||
|
|
|
@ -15,17 +15,7 @@
|
|||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<widget class="QTableView" name="pluralTableView">
|
||||
<attribute name="horizontalHeaderVisible">
|
||||
<bool>false</bool>
|
||||
</attribute>
|
||||
<attribute name="horizontalHeaderDefaultSectionSize">
|
||||
<number>120</number>
|
||||
</attribute>
|
||||
<attribute name="verticalHeaderVisible">
|
||||
<bool>false</bool>
|
||||
</attribute>
|
||||
</widget>
|
||||
<widget class="QTableView" name="pluralTableView"/>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
|
|
|
@ -19,7 +19,10 @@ protobuf_generate_cpp(V2Svk_PROTO_SRCS V2Svk_PROTO_HDRS ${V2Svk_PROTO_FILES})
|
|||
|
||||
add_library(${PROJECT_NAME}
|
||||
V2SvkWidget.cpp
|
||||
V2SvkModel.cpp
|
||||
WFModel.cpp
|
||||
OTModel.cpp
|
||||
TPrModel.cpp
|
||||
TPeModel.cpp
|
||||
${UI_HEADERS}
|
||||
${V2Svk_PROTO_SRCS}
|
||||
${V2Svk_PROTO_HDRS}
|
||||
|
|
105
source/SubTests/V2Svk/OTModel.cpp
Normal file
105
source/SubTests/V2Svk/OTModel.cpp
Normal file
|
@ -0,0 +1,105 @@
|
|||
#include "OTModel.h"
|
||||
|
||||
OTModel::OTModel(QObject *parent)
|
||||
: CheckableTestModel(parent)
|
||||
{
|
||||
m_tests = {
|
||||
{"Objekt-Topikalisierung",
|
||||
{"Affe", "Affe", "Affe", "Affe", "Schwein", "Schwein", "Schwein", "Schwein", "Gans",
|
||||
"Gans", "Gans", "Gans"}},
|
||||
{"SVK: Stamm",
|
||||
{"Affe", "Affe", "Affe", "Affe", "Schwein", "Schwein", "Schwein", "Schwein", "Gans",
|
||||
"Gans", "Gans", "Gans"}},
|
||||
};
|
||||
}
|
||||
|
||||
unsigned int OTModel::getV2Points()
|
||||
{
|
||||
unsigned int points = 0;
|
||||
|
||||
for (auto testIndex : {0})
|
||||
{
|
||||
const auto &test = m_tests.at(testIndex);
|
||||
|
||||
for (const auto &item : test.items())
|
||||
{
|
||||
if (item.isChecked())
|
||||
{
|
||||
points++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return points;
|
||||
}
|
||||
|
||||
unsigned int OTModel::getSvkPoints()
|
||||
{
|
||||
unsigned int points = 0;
|
||||
|
||||
for (auto testIndex : {1})
|
||||
{
|
||||
const auto &test = m_tests.at(testIndex);
|
||||
|
||||
for (const auto &item : test.items())
|
||||
{
|
||||
if (item.isChecked())
|
||||
{
|
||||
points++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return points;
|
||||
}
|
||||
|
||||
void OTModel::write(ESGRAF48::V2SvkModel &model) const
|
||||
{
|
||||
auto writeFourVals = [&](ESGRAF48::V2SvkModel::FourEach *modelData, int testIndex) {
|
||||
if (modelData != nullptr)
|
||||
{
|
||||
const auto &testItems = m_tests.at(testIndex).items();
|
||||
|
||||
modelData->set_affe1(testItems[0].isChecked());
|
||||
modelData->set_affe2(testItems[1].isChecked());
|
||||
modelData->set_affe3(testItems[2].isChecked());
|
||||
modelData->set_affe4(testItems[3].isChecked());
|
||||
modelData->set_schwein1(testItems[4].isChecked());
|
||||
modelData->set_schwein2(testItems[5].isChecked());
|
||||
modelData->set_schwein3(testItems[6].isChecked());
|
||||
modelData->set_schwein4(testItems[7].isChecked());
|
||||
modelData->set_gans1(testItems[8].isChecked());
|
||||
modelData->set_gans2(testItems[9].isChecked());
|
||||
modelData->set_gans3(testItems[10].isChecked());
|
||||
modelData->set_gans4(testItems[11].isChecked());
|
||||
}
|
||||
};
|
||||
|
||||
writeFourVals(model.mutable_objtop(), 0);
|
||||
writeFourVals(model.mutable_svkstamm(), 1);
|
||||
}
|
||||
|
||||
void OTModel::read(const ESGRAF48::V2SvkModel &model)
|
||||
{
|
||||
auto readFourVals = [&](const ESGRAF48::V2SvkModel::FourEach &modelData, int testIndex) {
|
||||
auto &testItems = m_tests.at(testIndex).items();
|
||||
|
||||
testItems[0].setState(modelData.affe1());
|
||||
testItems[1].setState(modelData.affe2());
|
||||
testItems[2].setState(modelData.affe3());
|
||||
testItems[3].setState(modelData.affe4());
|
||||
testItems[4].setState(modelData.schwein1());
|
||||
testItems[5].setState(modelData.schwein2());
|
||||
testItems[6].setState(modelData.schwein3());
|
||||
testItems[7].setState(modelData.schwein4());
|
||||
testItems[8].setState(modelData.gans1());
|
||||
testItems[9].setState(modelData.gans2());
|
||||
testItems[10].setState(modelData.gans3());
|
||||
testItems[11].setState(modelData.gans4());
|
||||
};
|
||||
|
||||
readFourVals(model.objtop(), 0);
|
||||
readFourVals(model.svkstamm(), 1);
|
||||
|
||||
emit dataChanged(index(0, 0), index(rowCount() - 1, columnCount() - 1));
|
||||
}
|
18
source/SubTests/V2Svk/OTModel.h
Normal file
18
source/SubTests/V2Svk/OTModel.h
Normal file
|
@ -0,0 +1,18 @@
|
|||
#pragma once
|
||||
|
||||
#include "CheckableTestModel.h"
|
||||
#include "V2SvkModel.pb.h"
|
||||
|
||||
class OTModel : public CheckableTestModel
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
OTModel(QObject *parent);
|
||||
|
||||
unsigned int getV2Points();
|
||||
unsigned int getSvkPoints();
|
||||
|
||||
void write(ESGRAF48::V2SvkModel &model) const;
|
||||
void read(const ESGRAF48::V2SvkModel &model);
|
||||
};
|
95
source/SubTests/V2Svk/TPeModel.cpp
Normal file
95
source/SubTests/V2Svk/TPeModel.cpp
Normal file
|
@ -0,0 +1,95 @@
|
|||
#include "TPeModel.h"
|
||||
|
||||
TPeModel::TPeModel(QObject *parent)
|
||||
: CheckableTestModel(parent)
|
||||
{
|
||||
m_tests = {
|
||||
{"Temporaladverb Perfekt", {"Affe", "Affe", "Schwein", "Schwein", "Gans", "Gans"}},
|
||||
{"Verbtrennung", {"Affe", "Affe", "Schwein", "Schwein", "Gans", "Gans"}},
|
||||
{"SVK: /-e/ o. Stamm", {"Affe", "Affe", "Schwein", "Schwein", "Gans", "Gans"}},
|
||||
{"Partizip", {"Affe", "Affe", "Schwein", "Schwein", "Gans", "Gans"}},
|
||||
};
|
||||
}
|
||||
|
||||
unsigned int TPeModel::getV2Points()
|
||||
{
|
||||
unsigned int points = 0;
|
||||
|
||||
for (auto testIndex : {0, 1})
|
||||
{
|
||||
const auto &test = m_tests.at(testIndex);
|
||||
|
||||
for (const auto &item : test.items())
|
||||
{
|
||||
if (item.isChecked())
|
||||
{
|
||||
points++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return points;
|
||||
}
|
||||
|
||||
unsigned int TPeModel::getSvkPoints()
|
||||
{
|
||||
unsigned int points = 0;
|
||||
|
||||
for (auto testIndex : {2, 3})
|
||||
{
|
||||
const auto &test = m_tests.at(testIndex);
|
||||
|
||||
for (const auto &item : test.items())
|
||||
{
|
||||
if (item.isChecked())
|
||||
{
|
||||
points++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return points;
|
||||
}
|
||||
|
||||
void TPeModel::write(ESGRAF48::V2SvkModel &model) const
|
||||
{
|
||||
auto writeTwoVals = [&](ESGRAF48::V2SvkModel::TwoEach *modelData, int testIndex) {
|
||||
if (modelData != nullptr)
|
||||
{
|
||||
const auto &testItems = m_tests.at(testIndex).items();
|
||||
|
||||
modelData->set_affe1(testItems[0].isChecked());
|
||||
modelData->set_affe2(testItems[1].isChecked());
|
||||
modelData->set_schwein1(testItems[2].isChecked());
|
||||
modelData->set_schwein2(testItems[3].isChecked());
|
||||
modelData->set_gans1(testItems[4].isChecked());
|
||||
modelData->set_gans2(testItems[5].isChecked());
|
||||
}
|
||||
};
|
||||
|
||||
writeTwoVals(model.mutable_tempperf(), 0);
|
||||
writeTwoVals(model.mutable_verbtrennung2(), 1);
|
||||
writeTwoVals(model.mutable_svke2(), 2);
|
||||
writeTwoVals(model.mutable_partizip(), 3);
|
||||
}
|
||||
|
||||
void TPeModel::read(const ESGRAF48::V2SvkModel &model)
|
||||
{
|
||||
auto readTwoVals = [&](const ESGRAF48::V2SvkModel::TwoEach &modelData, int testIndex) {
|
||||
auto &testItems = m_tests.at(testIndex).items();
|
||||
|
||||
testItems[0].setState(modelData.affe1());
|
||||
testItems[1].setState(modelData.affe2());
|
||||
testItems[2].setState(modelData.schwein1());
|
||||
testItems[3].setState(modelData.schwein2());
|
||||
testItems[4].setState(modelData.gans1());
|
||||
testItems[5].setState(modelData.gans2());
|
||||
};
|
||||
|
||||
readTwoVals(model.tempperf(), 0);
|
||||
readTwoVals(model.verbtrennung2(), 1);
|
||||
readTwoVals(model.svke2(), 2);
|
||||
readTwoVals(model.partizip(), 3);
|
||||
|
||||
emit dataChanged(index(0, 0), index(rowCount() - 1, columnCount() - 1));
|
||||
}
|
18
source/SubTests/V2Svk/TPeModel.h
Normal file
18
source/SubTests/V2Svk/TPeModel.h
Normal file
|
@ -0,0 +1,18 @@
|
|||
#pragma once
|
||||
|
||||
#include "CheckableTestModel.h"
|
||||
#include "V2SvkModel.pb.h"
|
||||
|
||||
class TPeModel : public CheckableTestModel
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
TPeModel(QObject *parent);
|
||||
|
||||
unsigned int getV2Points();
|
||||
unsigned int getSvkPoints();
|
||||
|
||||
void write(ESGRAF48::V2SvkModel &model) const;
|
||||
void read(const ESGRAF48::V2SvkModel &model);
|
||||
};
|
89
source/SubTests/V2Svk/TPrModel.cpp
Normal file
89
source/SubTests/V2Svk/TPrModel.cpp
Normal file
|
@ -0,0 +1,89 @@
|
|||
#include "TPrModel.h"
|
||||
|
||||
TPrModel::TPrModel(QObject *parent)
|
||||
: CheckableTestModel(parent)
|
||||
{
|
||||
m_tests = {
|
||||
{"Temporaladverb Präsens", {"Affe", "Affe", "Schwein", "Schwein", "Gans", "Gans"}},
|
||||
{"SKV: /-e/ o. Stamm", {"Affe", "Affe", "Schwein", "Schwein", "Gans", "Gans"}},
|
||||
};
|
||||
}
|
||||
|
||||
unsigned int TPrModel::getV2Points()
|
||||
{
|
||||
unsigned int points = 0;
|
||||
|
||||
for (auto testIndex : {0})
|
||||
{
|
||||
const auto &test = m_tests.at(testIndex);
|
||||
|
||||
for (const auto &item : test.items())
|
||||
{
|
||||
if (item.isChecked())
|
||||
{
|
||||
points++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return points;
|
||||
}
|
||||
|
||||
unsigned int TPrModel::getSvkPoints()
|
||||
{
|
||||
unsigned int points = 0;
|
||||
|
||||
for (auto testIndex : {1})
|
||||
{
|
||||
const auto &test = m_tests.at(testIndex);
|
||||
|
||||
for (const auto &item : test.items())
|
||||
{
|
||||
if (item.isChecked())
|
||||
{
|
||||
points++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return points;
|
||||
}
|
||||
|
||||
void TPrModel::write(ESGRAF48::V2SvkModel &model) const
|
||||
{
|
||||
auto writeTwoVals = [&](ESGRAF48::V2SvkModel::TwoEach *modelData, int testIndex) {
|
||||
if (modelData != nullptr)
|
||||
{
|
||||
const auto &testItems = m_tests.at(testIndex).items();
|
||||
|
||||
modelData->set_affe1(testItems[0].isChecked());
|
||||
modelData->set_affe2(testItems[1].isChecked());
|
||||
modelData->set_schwein1(testItems[2].isChecked());
|
||||
modelData->set_schwein2(testItems[3].isChecked());
|
||||
modelData->set_gans1(testItems[4].isChecked());
|
||||
modelData->set_gans2(testItems[5].isChecked());
|
||||
}
|
||||
};
|
||||
|
||||
writeTwoVals(model.mutable_temppraes(), 0);
|
||||
writeTwoVals(model.mutable_svke1(), 1);
|
||||
}
|
||||
|
||||
void TPrModel::read(const ESGRAF48::V2SvkModel &model)
|
||||
{
|
||||
auto readTwoVals = [&](const ESGRAF48::V2SvkModel::TwoEach &modelData, int testIndex) {
|
||||
auto &testItems = m_tests.at(testIndex).items();
|
||||
|
||||
testItems[0].setState(modelData.affe1());
|
||||
testItems[1].setState(modelData.affe2());
|
||||
testItems[2].setState(modelData.schwein1());
|
||||
testItems[3].setState(modelData.schwein2());
|
||||
testItems[4].setState(modelData.gans1());
|
||||
testItems[5].setState(modelData.gans2());
|
||||
};
|
||||
|
||||
readTwoVals(model.temppraes(), 0);
|
||||
readTwoVals(model.svke1(), 1);
|
||||
|
||||
emit dataChanged(index(0, 0), index(rowCount() - 1, columnCount() - 1));
|
||||
}
|
18
source/SubTests/V2Svk/TPrModel.h
Normal file
18
source/SubTests/V2Svk/TPrModel.h
Normal file
|
@ -0,0 +1,18 @@
|
|||
#pragma once
|
||||
|
||||
#include "CheckableTestModel.h"
|
||||
#include "V2SvkModel.pb.h"
|
||||
|
||||
class TPrModel : public CheckableTestModel
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
TPrModel(QObject *parent);
|
||||
|
||||
unsigned int getV2Points();
|
||||
unsigned int getSvkPoints();
|
||||
|
||||
void write(ESGRAF48::V2SvkModel &model) const;
|
||||
void read(const ESGRAF48::V2SvkModel &model);
|
||||
};
|
|
@ -1,14 +1,20 @@
|
|||
#include "V2SvkWidget.h"
|
||||
#include "ui_V2SvkWidget.h"
|
||||
|
||||
#include "V2SvkModel.h"
|
||||
#include "WFModel.h"
|
||||
#include "OTModel.h"
|
||||
#include "TPrModel.h"
|
||||
#include "TPeModel.h"
|
||||
|
||||
V2SvkWidget::V2SvkWidget(QWidget *parent)
|
||||
: QWidget(parent)
|
||||
, ui(new Ui::V2SvkWidget)
|
||||
: QWidget(parent)
|
||||
, ui(new Ui::V2SvkWidget)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
ui->v2SvkTableView->horizontalHeader()->hide();
|
||||
ui->wfTableView->horizontalHeader()->hide();
|
||||
ui->otTableView->horizontalHeader()->hide();
|
||||
ui->tprTableView->horizontalHeader()->hide();
|
||||
ui->tpeTableView->horizontalHeader()->hide();
|
||||
}
|
||||
|
||||
V2SvkWidget::~V2SvkWidget()
|
||||
|
@ -16,7 +22,22 @@ V2SvkWidget::~V2SvkWidget()
|
|||
delete ui;
|
||||
}
|
||||
|
||||
void V2SvkWidget::setV2SvkModel(V2SvkModel *model)
|
||||
void V2SvkWidget::setWFModel(WFModel *model)
|
||||
{
|
||||
ui->v2SvkTableView->setModel(model);
|
||||
ui->wfTableView->setModel(model);
|
||||
}
|
||||
|
||||
void V2SvkWidget::setOTModel(OTModel *model)
|
||||
{
|
||||
ui->otTableView->setModel(model);
|
||||
}
|
||||
|
||||
void V2SvkWidget::setTPrModel(TPrModel *model)
|
||||
{
|
||||
ui->tprTableView->setModel(model);
|
||||
}
|
||||
|
||||
void V2SvkWidget::setTPeModel(TPeModel *model)
|
||||
{
|
||||
ui->tpeTableView->setModel(model);
|
||||
}
|
||||
|
|
|
@ -2,7 +2,10 @@
|
|||
|
||||
#include <QWidget>
|
||||
|
||||
class V2SvkModel;
|
||||
class WFModel;
|
||||
class OTModel;
|
||||
class TPrModel;
|
||||
class TPeModel;
|
||||
|
||||
namespace Ui {
|
||||
class V2SvkWidget;
|
||||
|
@ -19,5 +22,8 @@ public:
|
|||
V2SvkWidget(QWidget *parent = nullptr);
|
||||
~V2SvkWidget();
|
||||
|
||||
void setV2SvkModel(V2SvkModel *model);
|
||||
void setWFModel(WFModel *model);
|
||||
void setOTModel(OTModel *model);
|
||||
void setTPrModel(TPrModel *model);
|
||||
void setTPeModel(TPeModel *model);
|
||||
};
|
||||
|
|
|
@ -15,7 +15,16 @@
|
|||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<widget class="QTableView" name="v2SvkTableView"/>
|
||||
<widget class="QTableView" name="wfTableView"/>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QTableView" name="otTableView"/>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QTableView" name="tprTableView"/>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QTableView" name="tpeTableView"/>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#include "V2SvkModel.h"
|
||||
#include "WFModel.h"
|
||||
|
||||
V2SvkModel::V2SvkModel(QObject *parent)
|
||||
WFModel::WFModel(QObject *parent)
|
||||
: CheckableTestModel(parent)
|
||||
{
|
||||
m_tests = {
|
||||
|
@ -11,29 +11,14 @@ V2SvkModel::V2SvkModel(QObject *parent)
|
|||
{"SVK: /-st/",
|
||||
{"Affe", "Affe", "Affe", "Affe", "Schwein", "Schwein", "Schwein", "Schwein", "Gans",
|
||||
"Gans", "Gans", "Gans"}},
|
||||
|
||||
{"Objekt-Topikalisierung",
|
||||
{"Affe", "Affe", "Affe", "Affe", "Schwein", "Schwein", "Schwein", "Schwein", "Gans",
|
||||
"Gans", "Gans", "Gans"}},
|
||||
{"SVK: Stamm",
|
||||
{"Affe", "Affe", "Affe", "Affe", "Schwein", "Schwein", "Schwein", "Schwein", "Gans",
|
||||
"Gans", "Gans", "Gans"}},
|
||||
|
||||
{"Temporaladverb Präsens", {"Affe", "Affe", "Schwein", "Schwein", "Gans", "Gans"}},
|
||||
{"SKV: /-e/ o. Stamm", {"Affe", "Affe", "Schwein", "Schwein", "Gans", "Gans"}},
|
||||
|
||||
{"Temporaladverb Perfekt", {"Affe", "Affe", "Schwein", "Schwein", "Gans", "Gans"}},
|
||||
{"Verbtrennung", {"Affe", "Affe", "Schwein", "Schwein", "Gans", "Gans"}},
|
||||
{"SVK: /-e/ o. Stamm", {"Affe", "Affe", "Schwein", "Schwein", "Gans", "Gans"}},
|
||||
{"Partizip", {"Affe", "Affe", "Schwein", "Schwein", "Gans", "Gans"}},
|
||||
};
|
||||
}
|
||||
|
||||
unsigned int V2SvkModel::getV2Points() const
|
||||
unsigned int WFModel::getV2Points() const
|
||||
{
|
||||
unsigned int points = 0;
|
||||
|
||||
for (auto testIndex : {0, 1, 3, 5, 7, 8})
|
||||
for (auto testIndex : {0, 1})
|
||||
{
|
||||
const auto &test = m_tests.at(testIndex);
|
||||
|
||||
|
@ -49,11 +34,11 @@ unsigned int V2SvkModel::getV2Points() const
|
|||
return points;
|
||||
}
|
||||
|
||||
unsigned int V2SvkModel::getSvkPoints() const
|
||||
unsigned int WFModel::getSvkPoints() const
|
||||
{
|
||||
unsigned int points = 0;
|
||||
|
||||
for (auto testIndex : {2, 4, 6, 9, 10})
|
||||
for (auto testIndex : {2})
|
||||
{
|
||||
const auto &test = m_tests.at(testIndex);
|
||||
|
||||
|
@ -69,25 +54,17 @@ unsigned int V2SvkModel::getSvkPoints() const
|
|||
return points;
|
||||
}
|
||||
|
||||
bool V2SvkModel::isValidIndex(const QModelIndex &index) const
|
||||
bool WFModel::isValidIndex(const QModelIndex &index) const
|
||||
{
|
||||
switch (index.row())
|
||||
if (index.row() == 1)
|
||||
{
|
||||
case 1:
|
||||
return index.column() == 1 || index.column() == 7 || index.column() == 10;
|
||||
case 5:
|
||||
case 6:
|
||||
case 7:
|
||||
case 8:
|
||||
case 9:
|
||||
case 10:
|
||||
return index.column() < 6;
|
||||
default:
|
||||
return CheckableTestModel::isValidIndex(index);
|
||||
return index.column() == 1 || index.column() == 7 || index.column() == 10;
|
||||
}
|
||||
|
||||
return CheckableTestModel::isValidIndex(index);
|
||||
}
|
||||
|
||||
void V2SvkModel::write(ESGRAF48::V2SvkModel &model) const
|
||||
void WFModel::write(ESGRAF48::V2SvkModel &model) const
|
||||
{
|
||||
auto writeOneVal = [&](ESGRAF48::V2SvkModel::OneEach *modelData, int testIndex) {
|
||||
if (modelData != nullptr)
|
||||
|
@ -100,20 +77,6 @@ void V2SvkModel::write(ESGRAF48::V2SvkModel &model) const
|
|||
}
|
||||
};
|
||||
|
||||
auto writeTwoVals = [&](ESGRAF48::V2SvkModel::TwoEach *modelData, int testIndex) {
|
||||
if (modelData != nullptr)
|
||||
{
|
||||
const auto &testItems = m_tests.at(testIndex).items();
|
||||
|
||||
modelData->set_affe1(testItems[0].isChecked());
|
||||
modelData->set_affe2(testItems[1].isChecked());
|
||||
modelData->set_schwein1(testItems[2].isChecked());
|
||||
modelData->set_schwein2(testItems[3].isChecked());
|
||||
modelData->set_gans1(testItems[4].isChecked());
|
||||
modelData->set_gans2(testItems[5].isChecked());
|
||||
}
|
||||
};
|
||||
|
||||
auto writeFourVals = [&](ESGRAF48::V2SvkModel::FourEach *modelData, int testIndex) {
|
||||
if (modelData != nullptr)
|
||||
{
|
||||
|
@ -136,18 +99,9 @@ void V2SvkModel::write(ESGRAF48::V2SvkModel &model) const
|
|||
|
||||
writeFourVals(model.mutable_wfrage(), 0);
|
||||
writeOneVal(model.mutable_verbtrennung1(), 1);
|
||||
writeFourVals(model.mutable_svkst(), 2);
|
||||
writeFourVals(model.mutable_objtop(), 3);
|
||||
writeFourVals(model.mutable_svkstamm(), 4);
|
||||
writeTwoVals(model.mutable_temppraes(), 5);
|
||||
writeTwoVals(model.mutable_svke1(), 6);
|
||||
writeTwoVals(model.mutable_tempperf(), 7);
|
||||
writeTwoVals(model.mutable_verbtrennung2(), 8);
|
||||
writeTwoVals(model.mutable_svke2(), 9);
|
||||
writeTwoVals(model.mutable_partizip(), 10);
|
||||
}
|
||||
|
||||
void V2SvkModel::read(const ESGRAF48::V2SvkModel &model)
|
||||
void WFModel::read(const ESGRAF48::V2SvkModel &model)
|
||||
{
|
||||
auto readOneVal = [&](const ESGRAF48::V2SvkModel::OneEach &modelData, int testIndex) {
|
||||
auto &testItems = m_tests.at(testIndex).items();
|
||||
|
@ -157,17 +111,6 @@ void V2SvkModel::read(const ESGRAF48::V2SvkModel &model)
|
|||
testItems[10].setState(modelData.gans());
|
||||
};
|
||||
|
||||
auto readTwoVals = [&](const ESGRAF48::V2SvkModel::TwoEach &modelData, int testIndex) {
|
||||
auto &testItems = m_tests.at(testIndex).items();
|
||||
|
||||
testItems[0].setState(modelData.affe1());
|
||||
testItems[1].setState(modelData.affe2());
|
||||
testItems[2].setState(modelData.schwein1());
|
||||
testItems[3].setState(modelData.schwein2());
|
||||
testItems[4].setState(modelData.gans1());
|
||||
testItems[5].setState(modelData.gans2());
|
||||
};
|
||||
|
||||
auto readFourVals = [&](const ESGRAF48::V2SvkModel::FourEach &modelData, int testIndex) {
|
||||
auto &testItems = m_tests.at(testIndex).items();
|
||||
|
||||
|
@ -187,20 +130,11 @@ void V2SvkModel::read(const ESGRAF48::V2SvkModel &model)
|
|||
|
||||
readFourVals(model.wfrage(), 0);
|
||||
readOneVal(model.verbtrennung1(), 1);
|
||||
readFourVals(model.svkst(), 2);
|
||||
readFourVals(model.objtop(), 3);
|
||||
readFourVals(model.svkstamm(), 4);
|
||||
readTwoVals(model.temppraes(), 5);
|
||||
readTwoVals(model.svke1(), 6);
|
||||
readTwoVals(model.tempperf(), 7);
|
||||
readTwoVals(model.verbtrennung2(), 8);
|
||||
readTwoVals(model.svke2(), 9);
|
||||
readTwoVals(model.partizip(), 10);
|
||||
|
||||
emit dataChanged(index(0, 0), index(rowCount() - 1, columnCount() - 1));
|
||||
}
|
||||
|
||||
void V2SvkModel::printTo(QPainter &painter) const
|
||||
void WFModel::printTo(QPainter &painter) const
|
||||
{
|
||||
painter.setFont(h2Font());
|
||||
|
|
@ -5,12 +5,12 @@
|
|||
#include "CheckableTestModel.h"
|
||||
#include "V2SvkModel.pb.h"
|
||||
|
||||
class V2SvkModel : public CheckableTestModel, public PrintableModel
|
||||
class WFModel : public CheckableTestModel, public PrintableModel
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
V2SvkModel(QObject *parent);
|
||||
WFModel(QObject *parent);
|
||||
|
||||
unsigned int getV2Points() const;
|
||||
unsigned int getSvkPoints() const;
|
Loading…
Add table
Add a link
Reference in a new issue