libkdeedu/keduvocdocument
keduvockvtml2writer.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 #ifndef KEDUVOCKVTML2WRITER_H
00018 #define KEDUVOCKVTML2WRITER_H
00019
00020 #include <QtXml/QDomDocument>
00021 #include <QtCore/QList>
00022 #include <QtCore/QFile>
00023
00024 #include "keduvocarticle.h"
00025 #include "keduvocmultiplechoice.h"
00026 #include "keduvoctranslation.h"
00027 #include "keduvocpersonalpronoun.h"
00028
00029 class KEduVocDocument;
00030 class KEduVocExpression;
00031 class KEduVocLesson;
00032 class KEduVocLeitnerBox;
00033
00038 class KEduVocKvtml2Writer
00039 {
00040 public:
00041 KEduVocKvtml2Writer( QFile *file );
00042
00043 bool writeDoc( KEduVocDocument *doc, const QString &generator );
00044
00045 QByteArray toByteArray( KEduVocDocument *doc, const QString &generator );
00046
00054 static void appendTextElement( QDomElement &parent, const QString &elementName, const QString &text );
00055
00056 private:
00057
00058 bool createXmlDocument( KEduVocDocument *doc, const QString &generator );
00059
00064 bool writeInformation( QDomElement &informationElement, const QString &generator );
00065
00069 bool writeIdentifiers( QDomElement &identifiersElement );
00070
00075 bool writeArticle( QDomElement &articleElement, int article );
00076
00077 bool writePersonalPronoun( QDomElement &pronounElement, const KEduVocPersonalPronoun &pronoun);
00081 bool writeWordTypes( QDomElement &typesElement, KEduVocWordType* parentContainer );
00082
00089 bool writeLeitnerBoxes( QDomElement &leitnerParentElement, KEduVocLeitnerBox* parentContainer );
00090
00094 bool writeEntries( QDomElement &entriesElement );
00095
00100 bool writeTranslation( QDomElement &translationElement, KEduVocTranslation* translation );
00101
00108 bool writeRelated( QDomElement &parentElement, QList<KEduVocTranslation*> relatedList );
00109
00114 bool writeLessons( KEduVocLesson *parentLesson, QDomElement &lessonsElement );
00115
00116
00117 void writeSynonymAntonymFalseFriend(QDomElement & parentElement);
00118
00124 bool writeComparison( QDomElement &comparisonElement, KEduVocTranslation *translation );
00125
00130 bool writeMultipleChoice( QDomElement &multipleChoiceElement, KEduVocTranslation* translation );
00131
00132 QDomElement newTextElement( const QString &elementName, const QString &text );
00133
00134 QFile *m_outputFile;
00135 KEduVocDocument *m_doc;
00136
00137 QList<KEduVocExpression*> m_allEntries;
00138 QList<KEduVocTranslation*> m_synonyms;
00139 QList<KEduVocTranslation*> m_antonyms;
00140 QList<KEduVocTranslation*> m_falseFriends;
00141
00142 QDomDocument m_domDoc;
00143 };
00144
00145 #endif