diff presetManager.mm @ 44:a1e75b94c505

Snap to eval points. Double tap to go to preset (doesn't quite work yet). Coloured locks. Changed Question 2. Fixed some leaks.
author Robert Tubb <rt300@eecs.qmul.ac.uk>
date Mon, 22 Apr 2013 18:32:34 +0100
parents b91a1859829a
children 1e266647840d
line wrap: on
line diff
--- a/presetManager.mm	Fri Apr 19 18:50:04 2013 +0100
+++ b/presetManager.mm	Mon Apr 22 18:32:34 2013 +0100
@@ -107,13 +107,13 @@
     Json::Value root;
  
     // use jsoncpp
-    vector<Preset *>::iterator presetIter;
+    vector<Preset>::iterator presetIter;
     
     int i = 0;
     for(presetIter = thePresets.begin(); presetIter < thePresets.end(); presetIter++){
         // only save the preset to file if it was ours... (other users and defaults saved elewhere)
-        if((*presetIter)->creatorDeviceID == eventLogger.deviceID){
-            root["presets"][i] = (*presetIter)->presetToJson();
+        if((*presetIter).creatorDeviceID == eventLogger.deviceID){
+            root["presets"][i] = (*presetIter).presetToJson();
             i++;
         }
     }
@@ -157,7 +157,7 @@
     // now put into variables
     const Json::Value jpresets = root["presets"];
     
-    for ( int index = 0; index < jpresets.size(); ++index ) thePresets.push_back(new Preset(jpresets[index]));
+    for ( int index = 0; index < jpresets.size(); ++index ) thePresets.push_back(Preset(jpresets[index]));
     
     //printAll();
      
@@ -205,7 +205,7 @@
     TwoVector coord = theGridView.getCoordForPresetSave();
     
     
-    thePresets.push_back(new Preset(coord, name,nextID, eventLogger.userName, eventLogger.deviceID));
+    thePresets.push_back(Preset(coord, name,nextID, eventLogger.userName, eventLogger.deviceID));
     eventLogger.logEvent(SAVE_PRESET, coord);
     // poke grid view to get it to show details
     theGridView.snapCheck();
@@ -216,7 +216,7 @@
 //---------------------------------------------------------------------------
 
 int PresetManager::loadPreset(const TwoVector coord, const string name, long long stime){
-    thePresets.push_back(new Preset(coord, name,nextID, stime));
+    thePresets.push_back(Preset(coord, name,nextID, stime));
    
      // if ok
     return nextID++;
@@ -229,10 +229,10 @@
     // so: put burden on saving rather than retrieving, make into list and index using coordinates
     
     vector<Preset *> results;
-    vector<Preset *>::iterator presetIter;
+    vector<Preset>::iterator presetIter;
     for(presetIter = thePresets.begin(); presetIter < thePresets.end(); presetIter++){
-        if( ((*presetIter)->coordinates.x > min.x ) && ((*presetIter)->coordinates.y > min.y ) && ((*presetIter)->coordinates.x < max.x ) && ((*presetIter)->coordinates.y < max.y )){
-            results.push_back(*presetIter);
+        if( ((*presetIter).coordinates.x > min.x ) && ((*presetIter).coordinates.y > min.y ) && ((*presetIter).coordinates.x < max.x ) && ((*presetIter).coordinates.y < max.y )){
+            results.push_back(&(*presetIter));
         }
 
     }