diff --git a/src/Surfaces/SurfaceManager.cpp b/src/Surfaces/SurfaceManager.cpp index 2c8520e..e5181b3 100644 --- a/src/Surfaces/SurfaceManager.cpp +++ b/src/Surfaces/SurfaceManager.cpp @@ -83,20 +83,14 @@ void SurfaceManager::deleteSurface(ofx::piMapper::BaseSurface * surface){ } } -/* - * Question: Should it clear the active preset or all presets? - * Maybe creating additional methods like clearPresets() and clearActivePreset() would help. - */ -void SurfaceManager::clear(){ - if(_activePresetIndex < 0){ - ofLogWarning("SurfaceManager::clear", "Can not clear. No active preset."); - return; - } - - while(_presets[_activePresetIndex]->size()){ - delete _presets[_activePresetIndex]->back(); - _presets[_activePresetIndex]->pop_back(); +void SurfaceManager::clearPresets(){ + for(unsigned int i = 0; i < _presets.size(); ++i){ + while(_presets[i]->size()){ + delete _presets[i]->back(); + _presets[i]->pop_back(); + } } + _presets.clear(); } // TODO: Do serious adjustment here. We need to save all presets. Not just the active one. diff --git a/src/Surfaces/SurfaceManager.h b/src/Surfaces/SurfaceManager.h index e650492..afc30d5 100644 --- a/src/Surfaces/SurfaceManager.h +++ b/src/Surfaces/SurfaceManager.h @@ -39,7 +39,7 @@ class SurfaceManager { void deselectSurface(); void saveXmlSettings(string fileName); void setMediaServer(MediaServer * newMediaServer); - void clear(); + void clearPresets(); bool loadXmlSettings(string fileName);