libkdeedu/keduvocdocument
keduvockvtmlwriter.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef KEDUVOCKVTMLWRITER_H
00021 #define KEDUVOCKVTMLWRITER_H
00022
00023 #include <QtXml/QDomDocument>
00024 #include <QtCore/QList>
00025 #include <QtCore/QFile>
00026
00027 #include "keduvocarticle.h"
00028 #include "keduvocpersonalpronoun.h"
00029 #include "keduvocconjugation.h"
00030 #include "keduvocmultiplechoice.h"
00031 #include "keduvockvtmlcompability.h"
00032 #include "keduvoctranslation.h"
00033
00034 class KEduVocDocument;
00035
00039 class KEduVocKvtmlWriter
00040 {
00041 public:
00042 KEduVocKvtmlWriter( QFile *file );
00043
00044 bool writeDoc( KEduVocDocument *doc, const QString &generator );
00045
00046 private:
00047 bool writeLesson( QDomElement &domElementParent );
00048 bool writeType( QDomElement &domElementParent );
00049 bool writeTense( QDomElement &domElementParent );
00050 bool writeUsage( QDomElement &domElementParent );
00051 bool writeOption( QDomElement &domElementParent );
00052 bool writeArticle( QDomElement &domElementParent );
00053
00054 bool writePersonalPronouns( QDomElement &domElementParent, QList<KEduVocPersonalPronoun> &curr_conjug );
00055 bool writePersonalPronounChild( QDomElement &domElementParent, const KEduVocPersonalPronoun &curr_conjug );
00056
00057 bool writeConjugHeader( QDomElement &domElementParent, QList<KEduVocConjugation> &curr_conjug );
00058 bool writeConjug( QDomElement &domElementParent, const KEduVocConjugation &curr_conjug, const QString &type );
00059 bool writeConjugEntry( QDomElement &domElementParent, KEduVocTranslation &translation );
00060 bool writeComparison( QDomElement &domElementParent, KEduVocTranslation* translation );
00061 bool writeMultipleChoice( QDomElement &domElementParent, const KEduVocMultipleChoice &mc );
00062
00063 QDomElement newTextElement( const QString &elementName, const QString &text );
00064
00065 QFile *m_outputFile;
00066 KEduVocDocument *m_doc;
00067
00068 QDomDocument m_domDoc;
00069
00070 KEduVocKvtmlCompability m_compability;
00071 };
00072
00073 #endif