diff options
Diffstat (limited to 'kpovmodeler/pmprismmemento.cpp')
-rw-r--r-- | kpovmodeler/pmprismmemento.cpp | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/kpovmodeler/pmprismmemento.cpp b/kpovmodeler/pmprismmemento.cpp new file mode 100644 index 00000000..0f50449d --- /dev/null +++ b/kpovmodeler/pmprismmemento.cpp @@ -0,0 +1,55 @@ +/* +************************************************************************** + 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 "pmprismmemento.h" + +PMPrismMemento::PMPrismMemento( PMObject* originator ) + : PMMemento( originator ) +{ + m_bPrismPointsSaved = false; +} + +PMPrismMemento::~PMPrismMemento( ) +{ +} + +void PMPrismMemento::setPrismPoints( const QValueList< QValueList<PMVector> >& v ) +{ + if( !m_bPrismPointsSaved ) + { + // 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< QValueList< PMVector > >::ConstIterator sit = v.begin( ); + for( ; sit != v.end( ); ++sit ) + { + QValueList<PMVector> list; + QValueList<PMVector>::ConstIterator it = ( *sit ).begin( ); + for( ; it != ( *sit ).end( ); ++it ) + list.append( *it ); + m_prismPoints.append( list ); + } + + m_bPrismPointsSaved = true; + addChange( PMCData ); + } +} + + |