1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
|
/***************************************************************************
export a KEduVocDocument to a KVTML file
-----------------------------------------------------------------------
copyright : (C) 1999-2001 Ewald Arnold
(C) 2001 The KDE-EDU team
(C) 2005 Eric Pignet
email : eric at erixpage.com
***************************************************************************/
/***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
***************************************************************************/
#ifndef KEDUVOCKVTMLWRITER_H
#define KEDUVOCKVTMLWRITER_H
#include <tqfile.h>
#include <tqdom.h>
//#include "keduvocdocument.h"
#include "grammarmanager.h"
#include "multiplechoice.h"
class KEduVocDocument;
// internal types, indented are subtypes
#define TQM_VERB "v" // go
#define TQM_VERB_IRR "ir"
#define TQM_VERB_REG "re"
#define TQM_NOUN "n" // table, coffee
#define TQM_NOUN_F "f"
#define TQM_NOUN_M "m"
#define TQM_NOUN_S "s"
#define TQM_NAME "nm"
#define TQM_ART "ar" // article
#define TQM_ART_DEF "def" // definite a/an
#define TQM_ART_IND "ind" // indefinite the
#define TQM_ADJ "aj" // adjective expensive, good
#define TQM_ADV "av" // adverb today, strongly
#define TQM_PRON "pr" // pronoun you, she
#define TQM_PRON_POS "pos" // possessive my, your
#define TQM_PRON_PER "per" // personal
#define TQM_PHRASE "ph"
#define TQM_NUM "num" // numeral
#define TQM_NUM_ORD "ord" // ordinal first, second
#define TQM_NUM_CARD "crd" // cardinal one, two
#define TQM_INFORMAL "ifm"
#define TQM_FIG "fig"
#define TQM_CON "con" // conjuncton and, but
#define TQM_PREP "pre" // preposition behind, between
#define TQM_QUEST "qu" // question who, what
// type delimiters
#define TQM_USER_TYPE "#" // designates number of user type
#define TQM_TYPE_DIV ":" // divide main from subtype
/**
@author Eric Pignet
*/
class KEduVocKvtmlWriter
{
public:
KEduVocKvtmlWriter(TQFile *file);
~KEduVocKvtmlWriter();
bool writeDoc(KEduVocDocument *doc, const TQString &generator);
bool saveLessonKvtMl (TQDomDocument &domDoc, TQDomElement &domElementParent);
bool saveTypeNameKvtMl (TQDomDocument &domDoc, TQDomElement &domElementParent);
bool saveTenseNameKvtMl (TQDomDocument &domDoc, TQDomElement &domElementParent);
bool saveUsageNameKvtMl (TQDomDocument &domDoc, TQDomElement &domElementParent);
bool saveOptionsKvtMl (TQDomDocument &domDoc, TQDomElement &domElementParent);
bool saveArticleKvtMl (TQDomDocument &domDoc, TQDomElement &domElementParent);
bool saveConjugHeader (TQDomDocument &domDoc, TQDomElement &domElementParent,
vector<Conjugation> &curr_conjug);
bool saveConjug (TQDomDocument &domDoc, TQDomElement &domElementParent,
const Conjugation &curr_conjug, TQString type);
bool saveConjugEntry (TQDomDocument &domDoc, TQDomElement &domElementParent,
Conjugation &curr_conjug);
bool saveComparison (TQDomDocument &domDoc, TQDomElement &domElementParent,
const Comparison &comp);
bool saveMultipleChoice(TQDomDocument &domDoc, TQDomElement &domElementParent,
const MultipleChoice &mc);
private:
TQFile *m_outputFile;
KEduVocDocument *m_doc;
};
#endif
|