diff options
Diffstat (limited to 'kpovmodeler/pmsplinememento.cpp')
-rw-r--r-- | kpovmodeler/pmsplinememento.cpp | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/kpovmodeler/pmsplinememento.cpp b/kpovmodeler/pmsplinememento.cpp new file mode 100644 index 00000000..a197f8ea --- /dev/null +++ b/kpovmodeler/pmsplinememento.cpp @@ -0,0 +1,58 @@ +/* +************************************************************************** + description + -------------------- + copyright : (C) 2002 by Andreas Zehender + email : zehender@kde.org +************************************************************************** + +************************************************************************** +* * +* 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. * +* * +**************************************************************************/ + +#include "pmsplinememento.h" +#include "pmdebug.h" + +PMSplineMemento::PMSplineMemento( PMObject* originator ) + : PMMemento( originator ) +{ + m_bSplinePointsSaved = false; +} + +PMSplineMemento::~PMSplineMemento( ) +{ +} + +void PMSplineMemento::setSplinePoints( const QValueList<PMVector>& v ) +{ + if( !m_bSplinePointsSaved ) + { + // Direct assignment does not work with Qt 2.3.x + // The list will be changed later in a graphical + // change because QValueList::detach( ) is called + // too late! + // Copy the list by hand. + + QValueList<PMVector>::ConstIterator it = v.begin( ); + for( ; it != v.end( ); ++it ) + m_splinePoints.append( *it ); + + m_bSplinePointsSaved = true; + addChange( PMCData ); + } +} + +QValueList<PMVector> PMSplineMemento::splinePoints( ) const +{ + if( !m_bSplinePointsSaved ) + kdError( PMArea ) << "Spline points not saved in PMSplineMemento::splinePoints\n"; + + return m_splinePoints; +} + + |