#include <Question.h>
Öffentliche Methoden | |
bool | exhausted () const |
Gibt zurück, ob das Muster verbraucht wurde. | |
virtual bool | isDynamic () const =0 |
Gibt an, ob das Muster dynamisch ist, d. h. Script-Segmente enthält. | |
virtual Question * | bake ()=0 |
Erzeugt eine Frage aus dem Muster. | |
Öffentliche, statische Methoden | |
static QuestionPattern * | fromXml (xmlNodePtr qNode) |
Erzeugt ein Frage-Muster aus dem übergebenen XML-Element. | |
Geschützte Methoden | |
void | commonBuild (xmlNodePtr qNode) |
Enthält Konstruktor-Funktionen, die allen abgeleiteten Frage-Mustern gemeinsam sind. | |
virtual bool | build (xmlNodePtr qNode)=0 |
Geschützte, statische Methoden | |
static QuestionPattern * | newQuestion (std::string type) |
Erzeugt eine neue Frage vom verlangten Typ. | |
Geschützte Attribute | |
std::string | m_code |
Code, der vor der Berechnung der Texte ausgeführt werden muss. | |
int | m_num |
Anzahl, wie oft das Muster maximal (noch) verwendet werden darf. |
bool Limiro::QuestionPattern::exhausted | ( | ) | const [inline] |
Gibt zurück, ob das Muster verbraucht wurde.
Jedes Fragemuster kann nur begrenzt oft verwendet werden, um zu viele Fragen des gleichen Typs zu vermeiden.
Benutzt m_num.
virtual Question* Limiro::QuestionPattern::bake | ( | ) | [pure virtual] |
Erzeugt eine Frage aus dem Muster.
Eine Frage des entsprechenden Typs wird erzeugt und mit den Werten der berechneten Texte (DynamicString) gefüllt.
Implementiert in Limiro::SimpleQuestionPattern, Limiro::MultipleChoiceQuestionPattern, Limiro::YearQuestionPattern, Limiro::FloatQuestionPattern und Limiro::DateQuestionPattern.
virtual bool Limiro::QuestionPattern::build | ( | xmlNodePtr | qNode | ) | [protected, pure virtual] |
Wird von fromXml() aufgerufen, um die Frage mit Werten aus dem XML-Knoten zu füllen.
Implementiert in Limiro::SimpleQuestionPattern, Limiro::MultipleChoiceQuestionPattern, Limiro::FloatQuestionPattern und Limiro::DateQuestionPattern.
Wird benutzt von fromXml().