37 Q_PROPERTY(QString exerciseText READ exerciseText WRITE setExerciseText NOTIFY exerciseTextChanged)
38 Q_PROPERTY(QString inputText READ inputText WRITE setInputText NOTIFY inputTextChanged)
39 Q_PROPERTY(QList<
MistakeRecord> mistakes READ mistakes WRITE setMistakes NOTIFY mistakesChanged)
40 Q_PROPERTY(QList<
CharacterRecord> characters READ characters WRITE setCharacters NOTIFY charactersChanged)
41 Q_PROPERTY(
bool timed READ timed WRITE setTimed NOTIFY timedChanged)
42 Q_PROPERTY(qreal time READ time WRITE setTime NOTIFY timeChanged)
44 QString exerciseText(
void) override;
45 void setExerciseText(QString text) override;
46 QString inputText(
void) override;
47 void setInputText(QString text) override;
48 Q_INVOKABLE
void clearMistakes(
void) override;
52 Q_INVOKABLE
void clearCharacters(
void) override;
56 bool timed(
void) override;
57 void setTimed(
bool value) override;
58 qreal time(
void) override;
59 void setTime(qreal seconds) override;
60 Q_INVOKABLE
void validate(
void) override;
61 Q_INVOKABLE
void validate(
int grossHits, QStringList errorWords) override;
62 Q_INVOKABLE
int grossHits(
void) override;
63 Q_INVOKABLE
int mistakeCount(
void) override;
64 Q_INVOKABLE QStringList errorWords(
void) override;
65 Q_INVOKABLE
void generateMistakeText(
bool correctMistakes) override;
66 Q_INVOKABLE QString generatedInputText(
void) override;
67 Q_INVOKABLE QString generatedMistakeText(
void) override;
68 Q_INVOKABLE QString textWithMistakes(
void) override;
71 QList<
MistakeRecord> compareLists(QList<QVariant> source, QList<QVariant> target, QVector<
CharacterRecord> *recordedCharacters =
nullptr,
int *hits =
nullptr,
int *inputPos =
nullptr);
72 QList<
MistakeRecord> compareStrings(QString source, QString target, QVector<
CharacterRecord> *recordedCharacters =
nullptr,
int *hits =
nullptr,
int *inputPos =
nullptr);
73 QMap<
int,
MistakeRecord> generateDiffList(QStringList *sourceWords, QStringList *targetWords, QList<
int> *mergeList =
nullptr);
74 QList<
MistakeRecord> findMistakes(QString exerciseText, QString input, QVector<
CharacterRecord> recordedCharacters,
int *totalHits =
nullptr, QStringList *errorWords =
nullptr);
75 QList<
MistakeRecord> validateExercise(QString exerciseText, QString inputText, QVector<
CharacterRecord> recordedCharacters,
int *totalHits,
int *mistakeCount, QStringList *errorWords =
nullptr,
bool timed = false,
int timeSecs = 0);
76 QString addMistakes(QString exerciseText, QList<
MistakeRecord *> recordedMistakes);
77 QStringList splitWordsByPunct(QStringList source);
78 QString m_exerciseText;
85 int m_mistakeCount = 0;
86 QStringList m_errorWords;
87 QString m_generatedInputText;
88 QString m_generatedMistakeText;