#include <QtCore/QMap>
#include <KDebug>
-
+/*
class KEduVocComparison::Private
{
public:
{
return d->ls3;
}
-
+*/
};
-class KEDUVOCDOCUMENT_EXPORT KEduVocComparison
-{
-public:
-
- /**
- * The constructor without arguments
- */
- explicit KEduVocComparison();
-
- /** copy constructor
- * @param other comparison object to copy
- */
- KEduVocComparison( const KEduVocComparison &other );
-
- /**
- * The constructor with arguments
- * @param l1
- * @param l2
- * @param l3
- */
- KEduVocComparison( const QString &l1, const QString &l2, const QString &l3 );
-
- /** default destructor, deletes the d-pointer */
- ~KEduVocComparison();
-
- /** set the first comparison
- @param s value to set
- */
- void setL1( const QString &s );
-
- /** set the second comparison
- @param s value to set
- */
- void setL2( const QString &s );
-
- /** set the third comparison
- @param s value to set
- */
- void setL3( const QString &s );
-
- /** get the first comparison
- * @returns the first comparison
- */
- QString l1() const;
-
- /** get the second comparison
- * @returns the second comparison
- */
- QString l2() const;
-
- /** get the third comparison
- * @returns the third comparison
- */
- QString l3() const;
-
- /** is the comparison empty
- * @returns true if empty, false otherwise
- */
- bool isEmpty() const;
-
- /** clear the comparison */
- void clear();
-
- /** equality operator
- * @param a object to compare to
- * @returns true if comparisons are the same, false otherwise
- */
- bool operator == ( const KEduVocComparison& a ) const;
-
- /** assignment operator for d-pointer copying
- * @param other object to copy from
- * @returns reference to this object
- */
- KEduVocComparison &operator= ( const KEduVocComparison& other );
-
-private:
- class Private;
- Private * const d;
-};
+// class KEDUVOCDOCUMENT_EXPORT KEduVocComparison
+// {
+// public:
+//
+// /**
+// * The constructor without arguments
+// */
+// explicit KEduVocComparison();
+//
+// /** copy constructor
+// * @param other comparison object to copy
+// */
+// KEduVocComparison( const KEduVocComparison &other );
+//
+// /**
+// * The constructor with arguments
+// * @param l1
+// * @param l2
+// * @param l3
+// */
+// KEduVocComparison( const QString &l1, const QString &l2, const QString &l3 );
+//
+// /** default destructor, deletes the d-pointer */
+// ~KEduVocComparison();
+//
+// /** set the first comparison
+// @param s value to set
+// */
+// void setL1( const QString &s );
+//
+// /** set the second comparison
+// @param s value to set
+// */
+// void setL2( const QString &s );
+//
+// /** set the third comparison
+// @param s value to set
+// */
+// void setL3( const QString &s );
+//
+// /** get the first comparison
+// * @returns the first comparison
+// */
+// QString l1() const;
+//
+// /** get the second comparison
+// * @returns the second comparison
+// */
+// QString l2() const;
+//
+// /** get the third comparison
+// * @returns the third comparison
+// */
+// QString l3() const;
+//
+// /** is the comparison empty
+// * @returns true if empty, false otherwise
+// */
+// bool isEmpty() const;
+//
+// /** clear the comparison */
+// void clear();
+//
+// /** equality operator
+// * @param a object to compare to
+// * @returns true if comparisons are the same, false otherwise
+// */
+// bool operator == ( const KEduVocComparison& a ) const;
+//
+// /** assignment operator for d-pointer copying
+// * @param other object to copy from
+// * @returns reference to this object
+// */
+// KEduVocComparison &operator= ( const KEduVocComparison& other );
+//
+// private:
+// class Private;
+// Private * const d;
+// };
#endif // KEDUVOCGRAMMAR_H
// comparisons
currentElement = translationElement.firstChildElement( KVTML_COMPARISON );
if ( !currentElement.isNull() ) {
- KEduVocComparison comparison;
- readComparison( currentElement, comparison );
- expr->translation(index)->setComparison( comparison );
+ readComparison( currentElement, expr->translation(index) );
}
// multiple choice
}*/
-bool KEduVocKvtml2Reader::readComparison( QDomElement &domElementParent, KEduVocComparison &comp )
+bool KEduVocKvtml2Reader::readComparison( QDomElement &domElementParent, KEduVocTranslation* translation )
/*
<comparison>
- <absolute>good</absolute>
<comparative>better</comparative>
<superlative>best</superlative>
</comparison>
{
QDomElement currentElement;
- currentElement = domElementParent.firstChildElement( KVTML_ABSOLUTE );
- if ( !currentElement.isNull() ) {
- comp.setL1( currentElement.text() );
- }
-
currentElement = domElementParent.firstChildElement( KVTML_COMPARATIVE );
if ( !currentElement.isNull() )
{
- comp.setL2( currentElement.text() );
+ translation->setComparative( currentElement.text() );
}
currentElement = domElementParent.firstChildElement( KVTML_SUPERLATIVE );
if ( !currentElement.isNull() )
{
- comp.setL3( currentElement.text() );
+ translation->setSuperlative( currentElement.text() );
}
return true;
}
* @param comparisonElement comparison group element
* @param comp comparison object to read into
*/
- bool readComparison( QDomElement &comparisonElement, KEduVocComparison &comp );
+ bool readComparison( QDomElement &comparisonElement, KEduVocTranslation *translation );
/** read a multiple choice group
* @param multipleChoiceElement element to read from
}
// comparison
- if ( !translation->comparison().isEmpty() ) {
+ if ( !(translation->comparative().isEmpty() || translation->comparative().isEmpty())) {
QDomElement comparisonElement = m_domDoc.createElement( KVTML_COMPARISON );
- writeComparison( comparisonElement, translation->comparison() );
+ writeComparison( comparisonElement, translation );
translationElement.appendChild( comparisonElement );
}
return true;
}
-bool KEduVocKvtml2Writer::writeComparison( QDomElement &comparisonElement, const KEduVocComparison &comparison )
+bool KEduVocKvtml2Writer::writeComparison( QDomElement &comparisonElement, KEduVocTranslation* translation )
/*
<comparison>
<absolute>good</absolute>
</comparison>
*/
{
- comparisonElement.appendChild( newTextElement( KVTML_ABSOLUTE, comparison.l1() ) );
- comparisonElement.appendChild( newTextElement( KVTML_COMPARATIVE, comparison.l2() ) );
- comparisonElement.appendChild( newTextElement( KVTML_SUPERLATIVE, comparison.l3() ) );
+ comparisonElement.appendChild( newTextElement( KVTML_COMPARATIVE, translation->comparative() ) );
+ comparisonElement.appendChild( newTextElement( KVTML_SUPERLATIVE, translation->superlative() ) );
return true;
}
* @param comparison object to write
* @returns success
*/
- bool writeComparison( QDomElement &comparisonElement, const KEduVocComparison &comparison );
+ bool writeComparison( QDomElement &comparisonElement, KEduVocTranslation *translation );
/** write multiple choice choices
* @param multipleChoiceElement QDomElement multiplechoice to write to
bool readType( QDomElement &domElementParent );
bool readTense( QDomElement &domElementParent );
bool readUsage( QDomElement &domElementParent );
- bool readComparison( QDomElement &domElementParent, KEduVocComparison &comp );
+ bool readComparison( QDomElement &domElementParent, KEduVocTranslation* translation );
bool readMultipleChoice( QDomElement &domElementParent, KEduVocMultipleChoice &mc );
bool readExpressionChildAttributes( QDomElement &domElementExpressionChild,
QString &lang,
}
-bool KEduVocKvtmlWriter::writeComparison( QDomElement &domElementParent, const KEduVocComparison &comp )
+bool KEduVocKvtmlWriter::writeComparison( QDomElement &domElementParent, const KEduVocTranslation* translation )
/*
<comparison>
<l1>good</l1>
</comparison>
*/
{
- if ( comp.isEmpty() )
+ if ( translation.comparison().isEmpty() && translation.superlative().isEmpty() ) {
return true;
+ }
QDomElement domElementComparison = m_domDoc.createElement( KV_COMPARISON_GRP );
bool writeConjugHeader( QDomElement &domElementParent, QList<KEduVocConjugation> &curr_conjug );
bool writeConjug( QDomElement &domElementParent, const KEduVocConjugation &curr_conjug, const QString &type );
bool writeConjugEntry( QDomElement &domElementParent, KEduVocTranslation &translation );
- bool writeComparison( QDomElement &domElementParent, const KEduVocComparison &comp );
+ bool writeComparison( QDomElement &domElementParent, KEduVocTranslation* translation );
bool writeMultipleChoice( QDomElement &domElementParent, const KEduVocMultipleChoice &mc );
QDomElement newTextElement( const QString &elementName, const QString &text );
/// Conjugations of a word (I go, you go, he goes... boring in english)
QMap <QString, KEduVocConjugation> m_conjugations;
- /// The comparison forms of adjectives and adverbs: fast, faster, fastest
- KEduVocComparison m_comparison;
+ /// The comparison forms of adjectives and adverbs: (fast), faster, fastest
+ QString m_comparative;
+ QString m_superlative;
KEduVocDeclination* m_declination;
d->m_antonym = other.d->m_antonym;
d->m_pronunciation = other.d->m_pronunciation;
d->m_conjugations = other.d->m_conjugations;
- d->m_comparison = other.d->m_comparison;
+ d->m_comparative = other.d->m_comparative;
+ d->m_superlative = other.d->m_superlative;
d->m_multipleChoice = other.d->m_multipleChoice;
d->m_grades = other.d->m_grades;
d->m_falseFriends = other.d->m_falseFriends;
d->m_pronunciation == translation.d->m_pronunciation &&
d->m_imageUrl == translation.d->m_imageUrl &&
d->m_soundUrl == translation.d->m_soundUrl &&
- d->m_comparison == translation.d->m_comparison &&
+ d->m_comparative == translation.d->m_comparative &&
+ d->m_superlative == translation.d->m_superlative &&
d->m_multipleChoice == translation.d->m_multipleChoice &&
d->m_falseFriends == translation.d->m_falseFriends &&
d->m_conjugations == translation.d->m_conjugations &&
d->m_pronunciation = translation.d->m_pronunciation;
d->m_imageUrl = translation.d->m_imageUrl;
d->m_soundUrl = translation.d->m_soundUrl;
- d->m_comparison = translation.d->m_comparison;
+ d->m_comparative = translation.d->m_comparative;
+ d->m_superlative = translation.d->m_superlative;
d->m_multipleChoice = translation.d->m_multipleChoice;
d->m_falseFriends = translation.d->m_falseFriends;
d->m_grades == translation.d->m_grades;
}
-void KEduVocTranslation::setComparison( const KEduVocComparison &con )
-{
- d->m_comparison = con;
-}
-
-
-KEduVocComparison & KEduVocTranslation::comparison()
-{
- return d->m_comparison;
-}
-
-
-// void KEduVocTranslation::setMultipleChoice( const QStringList &mc )
-// {
-// d->m_multipleChoice = mc;
-// }
-
-
QStringList & KEduVocTranslation::multipleChoice()
{
return d->m_multipleChoice;
return d->m_entry;
}
+QString KEduVocTranslation::comparative() const
+{
+ return d->m_comparative;
+}
+
+void KEduVocTranslation::setComparative(const QString & comparative)
+{
+ d->m_comparative = comparative;
+}
+
+QString KEduVocTranslation::superlative() const
+{
+ return d->m_superlative;
+}
+
+void KEduVocTranslation::setSuperlative(const QString & superlative)
+{
+ d->m_superlative = superlative;
+}
+
*/
QMap <QString, KEduVocConjugation> conjugations() const;
- /** returns comparison if available
- */
- KEduVocComparison & comparison();
-
- /** sets comparison
- * @param comparison comparison block
+ /**
+ * Comparison forms of adjectives/adverbs.
*/
- void setComparison( const KEduVocComparison & comparison );
+ QString comparative() const;
+ void setComparative(const QString& comparative);
+ QString superlative() const;
+ void setSuperlative(const QString& superlative);
/** returns multiple choice if available
*/