summaryrefslogtreecommitdiffstats
path: root/kpovmodeler/pmpalettevaluememento.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'kpovmodeler/pmpalettevaluememento.cpp')
-rw-r--r--kpovmodeler/pmpalettevaluememento.cpp84
1 files changed, 84 insertions, 0 deletions
diff --git a/kpovmodeler/pmpalettevaluememento.cpp b/kpovmodeler/pmpalettevaluememento.cpp
new file mode 100644
index 00000000..6db9b922
--- /dev/null
+++ b/kpovmodeler/pmpalettevaluememento.cpp
@@ -0,0 +1,84 @@
+/*
+**************************************************************************
+ description
+ --------------------
+ copyright : (C) 2002 by Luis Passos Carvalho
+ email : lpassos@mail.telepac.pt
+**************************************************************************
+
+**************************************************************************
+* *
+* 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 "pmpalettevaluememento.h"
+#include "pmdebug.h"
+
+PMPaletteValueMemento::PMPaletteValueMemento( PMObject* originator )
+ : PMMemento( originator )
+{
+ m_bFilterPaletteValuesSaved = false;
+ m_bTransmitPaletteValuesSaved = false;
+}
+
+PMPaletteValueMemento::~PMPaletteValueMemento( )
+{
+}
+
+void PMPaletteValueMemento::setFilterPaletteValues( const QValueList<PMPaletteValue>& v )
+{
+ if( !m_bFilterPaletteValuesSaved )
+ {
+ // 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<PMPaletteValue>::ConstIterator it = v.begin( );
+ for( ; it != v.end( ); ++it )
+ m_filterPaletteValues.append( *it );
+
+ m_bFilterPaletteValuesSaved = true;
+ addChange( PMCData );
+ }
+}
+
+QValueList<PMPaletteValue> PMPaletteValueMemento::filterPaletteValues( ) const
+{
+ if( !m_bFilterPaletteValuesSaved )
+ kdError( PMArea ) << "Filter palette values not saved in PMPaletteValueMemento::filterPaletteValues\n";
+
+ return m_filterPaletteValues;
+}
+
+void PMPaletteValueMemento::setTransmitPaletteValues( const QValueList<PMPaletteValue>& v )
+{
+ if( !m_bTransmitPaletteValuesSaved )
+ {
+ // 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<PMPaletteValue>::ConstIterator it = v.begin( );
+ for( ; it != v.end( ); ++it )
+ m_transmitPaletteValues.append( *it );
+
+ m_bTransmitPaletteValuesSaved = true;
+ addChange( PMCData );
+ }
+}
+
+QValueList<PMPaletteValue> PMPaletteValueMemento::transmitPaletteValues( ) const
+{
+ if( !m_bTransmitPaletteValuesSaved )
+ kdError( PMArea ) << "Transmit palette values not saved in PMPaletteValueMemento::transmitPaletteValues\n";
+
+ return m_transmitPaletteValues;
+}