From: Frederik Gladhorn Date: Tue, 27 Nov 2007 22:10:27 +0000 (+0000) Subject: get rid of KEduVocComparison, a class holding three strings of which one always was... X-Git-Tag: v4.0.71~93^2~16 X-Git-Url: https://git.rmz.fi/?a=commitdiff_plain;h=bc5ca5aee68ba75f268fa5f8ed62b4c951187a31;p=libqmvoc.git get rid of KEduVocComparison, a class holding three strings of which one always was the word itself. svn path=/branches/work/kdeedu_parley/libkdeedu/; revision=742369 --- diff --git a/keduvocdocument/keduvocgrammar.cpp b/keduvocdocument/keduvocgrammar.cpp index 85b5c4b..cc8efff 100644 --- a/keduvocdocument/keduvocgrammar.cpp +++ b/keduvocdocument/keduvocgrammar.cpp @@ -28,7 +28,7 @@ #include #include - +/* class KEduVocComparison::Private { public: @@ -117,7 +117,7 @@ QString KEduVocComparison::l3() const { return d->ls3; } - +*/ diff --git a/keduvocdocument/keduvocgrammar.h b/keduvocdocument/keduvocgrammar.h index 6563d60..abe45f6 100644 --- a/keduvocdocument/keduvocgrammar.h +++ b/keduvocdocument/keduvocgrammar.h @@ -108,85 +108,85 @@ private: }; -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 diff --git a/keduvocdocument/keduvockvtml2reader.cpp b/keduvocdocument/keduvockvtml2reader.cpp index 1e67a72..61bb58a 100644 --- a/keduvocdocument/keduvockvtml2reader.cpp +++ b/keduvocdocument/keduvockvtml2reader.cpp @@ -382,9 +382,7 @@ bool KEduVocKvtml2Reader::readTranslation( QDomElement &translationElement, // 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 @@ -611,10 +609,9 @@ bool KEduVocKvtml2Reader::readUsages( QDomElement &usagesElement ) }*/ -bool KEduVocKvtml2Reader::readComparison( QDomElement &domElementParent, KEduVocComparison &comp ) +bool KEduVocKvtml2Reader::readComparison( QDomElement &domElementParent, KEduVocTranslation* translation ) /* - good better best @@ -622,21 +619,16 @@ bool KEduVocKvtml2Reader::readComparison( QDomElement &domElementParent, KEduVoc { 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; } diff --git a/keduvocdocument/keduvockvtml2reader.h b/keduvocdocument/keduvockvtml2reader.h index 440dc3f..10e553e 100644 --- a/keduvocdocument/keduvockvtml2reader.h +++ b/keduvocdocument/keduvockvtml2reader.h @@ -126,7 +126,7 @@ private: * @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 diff --git a/keduvocdocument/keduvockvtml2writer.cpp b/keduvocdocument/keduvockvtml2writer.cpp index 9d34b42..dcc7663 100644 --- a/keduvocdocument/keduvockvtml2writer.cpp +++ b/keduvocdocument/keduvockvtml2writer.cpp @@ -459,9 +459,9 @@ kDebug() << "write tranlation:" << translation->text(); } // 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 ); } @@ -499,7 +499,7 @@ kDebug() << "write tranlation:" << translation->text(); return true; } -bool KEduVocKvtml2Writer::writeComparison( QDomElement &comparisonElement, const KEduVocComparison &comparison ) +bool KEduVocKvtml2Writer::writeComparison( QDomElement &comparisonElement, KEduVocTranslation* translation ) /* good @@ -508,9 +508,8 @@ bool KEduVocKvtml2Writer::writeComparison( QDomElement &comparisonElement, const */ { - 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; } diff --git a/keduvocdocument/keduvockvtml2writer.h b/keduvocdocument/keduvockvtml2writer.h index a1f1cb3..cee7ecd 100644 --- a/keduvocdocument/keduvockvtml2writer.h +++ b/keduvocdocument/keduvockvtml2writer.h @@ -104,7 +104,7 @@ public: * @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 diff --git a/keduvocdocument/keduvockvtmlreader.h b/keduvocdocument/keduvockvtmlreader.h index ec8ee31..38d5a64 100644 --- a/keduvocdocument/keduvockvtmlreader.h +++ b/keduvocdocument/keduvockvtmlreader.h @@ -62,7 +62,7 @@ public: 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, diff --git a/keduvocdocument/keduvockvtmlwriter.cpp b/keduvocdocument/keduvockvtmlwriter.cpp index 4fb1671..3dc0f9e 100644 --- a/keduvocdocument/keduvockvtmlwriter.cpp +++ b/keduvocdocument/keduvockvtmlwriter.cpp @@ -495,7 +495,7 @@ bool KEduVocKvtmlWriter::writeUsage( QDomElement &domElementParent ) } -bool KEduVocKvtmlWriter::writeComparison( QDomElement &domElementParent, const KEduVocComparison &comp ) +bool KEduVocKvtmlWriter::writeComparison( QDomElement &domElementParent, const KEduVocTranslation* translation ) /* good @@ -504,8 +504,9 @@ bool KEduVocKvtmlWriter::writeComparison( QDomElement &domElementParent, const K */ { - if ( comp.isEmpty() ) + if ( translation.comparison().isEmpty() && translation.superlative().isEmpty() ) { return true; + } QDomElement domElementComparison = m_domDoc.createElement( KV_COMPARISON_GRP ); diff --git a/keduvocdocument/keduvockvtmlwriter.h b/keduvocdocument/keduvockvtmlwriter.h index 8a001a9..4ebd520 100644 --- a/keduvocdocument/keduvockvtmlwriter.h +++ b/keduvocdocument/keduvockvtmlwriter.h @@ -57,7 +57,7 @@ private: bool writeConjugHeader( QDomElement &domElementParent, QList &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 ); diff --git a/keduvocdocument/keduvoctranslation.cpp b/keduvocdocument/keduvoctranslation.cpp index 727b380..acf13c5 100644 --- a/keduvocdocument/keduvoctranslation.cpp +++ b/keduvocdocument/keduvoctranslation.cpp @@ -62,8 +62,9 @@ public: /// Conjugations of a word (I go, you go, he goes... boring in english) QMap 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; @@ -107,7 +108,8 @@ KEduVocTranslation::KEduVocTranslation( const KEduVocTranslation &other ) : d( n 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; @@ -135,7 +137,8 @@ bool KEduVocTranslation::operator == ( const KEduVocTranslation & translation ) 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 && @@ -157,7 +160,8 @@ KEduVocTranslation & KEduVocTranslation::operator = ( const KEduVocTranslation & 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; @@ -274,24 +278,6 @@ KEduVocConjugation& KEduVocTranslation::conjugation( const QString& tense ) } -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; @@ -382,3 +368,23 @@ KEduVocExpression * KEduVocTranslation::entry() 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; +} + diff --git a/keduvocdocument/keduvoctranslation.h b/keduvocdocument/keduvoctranslation.h index c4d59d9..ce3befd 100644 --- a/keduvocdocument/keduvoctranslation.h +++ b/keduvocdocument/keduvoctranslation.h @@ -209,14 +209,13 @@ public: */ QMap 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 */