#include "student.h"
Student::Student()
{
s_name = QObject::tr("Unknown");
s_number = 0;
s_score = 0;
s_ready = false;
s_results = new QMap<QString, QuestionAnswer>;
}
Student::Student(int number)
{
s_name = QObject::tr("Unknown");
s_number = number;
s_score = 0;
s_ready = false;
s_results = new QMap<QString, QuestionAnswer>;
}
Student::Student(QString name)
{
s_name = name;
s_number = 0;
s_score = 0;
s_ready = false;
s_results = new QMap<QString, QuestionAnswer>;
}
Student::Student(int number, QString name)
{
s_name = name;
s_number = number;
s_score = 0;
s_ready = false;
s_results = new QMap<QString, QuestionAnswer>;
}
Student::Student(Client * client)
{
s_name = client->name();
s_number = client->number();
s_score = client->score();
s_ready = client->isReady();
s_results = new QMap<QString, QuestionAnswer> (*(client->results()));
}
Student::~Student()
{
delete s_results;
}
void Student::setName(QString name) { s_name = name; }
QString Student::name() { return s_name; }
void Student::setNumber(int number) { s_number = number; }
int Student::number() { return s_number; }
void Student::setScore(int score) { s_score = score; }
int Student::score() { return s_score; }
void Student::setReady(bool ready) { s_ready = ready; }
bool Student::isReady() { return s_ready; }
void Student::setResults(QMap<QString, QuestionAnswer> * results)
{
delete s_results;
s_results = results;
}
QMap<QString, QuestionAnswer> * Student::results() { return s_results; }
QString Student::studentData()
{
QString out;
out.append("[STUDENT]\n");
out.append(s_name);
out.append(s_ready ? "\ntrue" : "\nfalse");
out.append(QString("\n%1\n").arg(s_number));
out.append(QString("%1\n").arg(s_score));
out.append(QString("%1").arg(s_results->count()));
QMapIterator<QString, QuestionAnswer> i(*s_results); QuestionAnswer qans;
while (i.hasNext()) {
i.next(); qans = i.value();
out.append(QString("\n%1").arg(i.key()));
out.append(QString("\n%1").arg(qans.answered()));
out.append(QString("\n%1").arg(qans.correctAnswer()));
}
return out;
}