From: Albert Astals Cid Date: Sun, 23 Oct 2005 16:29:10 +0000 (+0000) Subject: d-pointify X-Git-Tag: v3.80.2~264 X-Git-Url: https://git.rmz.fi/?a=commitdiff_plain;h=1ccb78872aceeba138f26f695c216559f1fd7939;p=libqmvoc.git d-pointify svn path=/trunk/KDE/kdeedu/libkdeedu/; revision=473419 --- diff --git a/libscience/chemicaldataobject.cpp b/libscience/chemicaldataobject.cpp index 84a78b8..a440336 100644 --- a/libscience/chemicaldataobject.cpp +++ b/libscience/chemicaldataobject.cpp @@ -21,102 +21,112 @@ #include -ChemicalDataObject::ChemicalDataObject( const QVariant& v, BlueObelisk type ) +class ChemicalDataObjectPrivate { - m_value = v; - m_type = type; - m_unit = ChemicalDataObject::noUnit; + public: + QVariant m_value; + ChemicalDataObject::BlueObelisk m_type; + ChemicalDataObject::BlueObeliskUnit m_unit; }; -ChemicalDataObject::ChemicalDataObject() +ChemicalDataObject::ChemicalDataObject( const QVariant& v, BlueObelisk type ) : d(new ChemicalDataObjectPrivate()) { - m_value = QVariant(); - m_unit = ChemicalDataObject::noUnit; + d->m_value = v; + d->m_type = type; + d->m_unit = ChemicalDataObject::noUnit; +}; + +ChemicalDataObject::ChemicalDataObject() : d(new ChemicalDataObjectPrivate()) +{ + d->m_value = QVariant(); + d->m_unit = ChemicalDataObject::noUnit; } bool ChemicalDataObject::operator==( const int v ) const { kdDebug() << "ChemicalDataObject::operator==() with int" << endl; - if ( m_value.type() != QVariant::Int ) + if ( d->m_value.type() != QVariant::Int ) return false; - return m_value.toInt() == v; + return d->m_value.toInt() == v; } bool ChemicalDataObject::operator==( const bool v ) const { kdDebug() << "ChemicalDataObject::operator==() with bool" << endl; - if ( m_value.type() != QVariant::Bool ) + if ( d->m_value.type() != QVariant::Bool ) return false; - return m_value.toBool() == v; + return d->m_value.toBool() == v; } bool ChemicalDataObject::operator==( const double v ) const { kdDebug() << "ChemicalDataObject::operator==() with double" << endl; - if ( m_value.type() != QVariant::Double ) + if ( d->m_value.type() != QVariant::Double ) return false; - return m_value.toDouble() == v; + return d->m_value.toDouble() == v; } bool ChemicalDataObject::operator==( const QString& v ) const { kdDebug() << "ChemicalDataObject::operator==() with QString" << endl; - if ( m_value.type() != QVariant::String ) + if ( d->m_value.type() != QVariant::String ) return false; - return m_value.toString() == v; + return d->m_value.toString() == v; } ChemicalDataObject::~ChemicalDataObject() -{} +{ + delete d; +} QString ChemicalDataObject::valueAsString() const { - return m_value.toString(); + return d->m_value.toString(); } ChemicalDataObject::BlueObelisk ChemicalDataObject::type() const { - return m_type; + return d->m_type; } QVariant ChemicalDataObject::value() const { - return m_value; + return d->m_value; } void ChemicalDataObject::setUnit( ChemicalDataObject::BlueObeliskUnit unit ) { - m_unit = unit; + d->m_unit = unit; } ChemicalDataObject::BlueObeliskUnit ChemicalDataObject::unit() const { - return m_unit; + return d->m_unit; } void ChemicalDataObject::setData( const QVariant& v ) { - m_value = v; + d->m_value = v; } void ChemicalDataObject::setType( BlueObelisk type ) { - m_type = type; + d->m_type = type; } void ChemicalDataObject::setType( int type ) { - m_type = ( ChemicalDataObject::BlueObelisk ) type; + d->m_type = ( ChemicalDataObject::BlueObelisk ) type; } QString ChemicalDataObject::dictRef() const { QString botype; - switch ( m_type ){ + switch ( d->m_type ){ case atomicNumber: botype = "atomicNumber"; break; @@ -181,7 +191,7 @@ QString ChemicalDataObject::dictRef() const QString ChemicalDataObject::unitAsString() const { QString bounit; - switch ( m_unit ){ + switch ( d->m_unit ){ case kelvin: bounit = "kelvin"; break; diff --git a/libscience/chemicaldataobject.h b/libscience/chemicaldataobject.h index dc294a4..2e95b80 100644 --- a/libscience/chemicaldataobject.h +++ b/libscience/chemicaldataobject.h @@ -23,6 +23,8 @@ #include #include +class ChemicalDataObjectPrivate; + /** * A ChemicalDataObject is an object which contains information about * a chemical element. This can for example be a boiling point. The information @@ -186,9 +188,7 @@ class ChemicalDataObject static BlueObeliskUnit unit( const QString& unitname ); private: - QVariant m_value; - BlueObelisk m_type; - BlueObeliskUnit m_unit; + ChemicalDataObjectPrivate *d; }; #endif // CHEMICALDATAOBJECT_H