]> gitweb.fperrin.net Git - GpsPrune.git/blobdiff - tim/prune/undo/UndoCorrelatePhotos.java
Moved source into separate src directory due to popular request
[GpsPrune.git] / tim / prune / undo / UndoCorrelatePhotos.java
diff --git a/tim/prune/undo/UndoCorrelatePhotos.java b/tim/prune/undo/UndoCorrelatePhotos.java
deleted file mode 100644 (file)
index 9b8e1af..0000000
+++ /dev/null
@@ -1,80 +0,0 @@
-package tim.prune.undo;\r
-\r
-import tim.prune.I18nManager;\r
-import tim.prune.data.DataPoint;\r
-import tim.prune.data.Photo;\r
-import tim.prune.data.TrackInfo;\r
-\r
-/**\r
- * Operation to undo an auto-correlation of photos with points\r
- */\r
-public class UndoCorrelatePhotos implements UndoOperation\r
-{\r
-       private DataPoint[] _contents = null;\r
-       private DataPoint[] _photoPoints = null;\r
-       private int _numPhotosCorrelated = -1;\r
-\r
-\r
-       /**\r
-        * Constructor\r
-        * @param inTrackInfo track information\r
-        */\r
-       public UndoCorrelatePhotos(TrackInfo inTrackInfo)\r
-       {\r
-               // Copy track contents\r
-               _contents = inTrackInfo.getTrack().cloneContents();\r
-               // Copy points associated with photos before correlation\r
-               int numPhotos = inTrackInfo.getPhotoList().getNumPhotos();\r
-               _photoPoints = new DataPoint[numPhotos];\r
-               for (int i=0; i<numPhotos; i++) {\r
-                       _photoPoints[i] = inTrackInfo.getPhotoList().getPhoto(i).getDataPoint();\r
-               }\r
-       }\r
-\r
-       /**\r
-        * @param inNumCorrelated number of photos correlated\r
-        */\r
-       public void setNumPhotosCorrelated(int inNumCorrelated)\r
-       {\r
-               _numPhotosCorrelated = inNumCorrelated;\r
-       }\r
-\r
-       /**\r
-        * @return description of operation including parameters\r
-        */\r
-       public String getDescription()\r
-       {\r
-               return I18nManager.getText("undo.correlatephotos") + " (" + _numPhotosCorrelated + ")";\r
-       }\r
-\r
-\r
-       /**\r
-        * Perform the undo operation on the given Track\r
-        * @param inTrackInfo TrackInfo object on which to perform the operation\r
-        */\r
-       public void performUndo(TrackInfo inTrackInfo) throws UndoException\r
-       {\r
-               // restore track to previous values\r
-               inTrackInfo.getTrack().replaceContents(_contents);\r
-               // restore photo association\r
-               for (int i=0; i<_photoPoints.length; i++)\r
-               {\r
-                       Photo photo = inTrackInfo.getPhotoList().getPhoto(i);\r
-                       // Only need to look at connected photos, since correlation wouldn't disconnect\r
-                       if (photo.getCurrentStatus() == Photo.Status.CONNECTED)\r
-                       {\r
-                               DataPoint prevPoint = _photoPoints[i];\r
-                               DataPoint currPoint = photo.getDataPoint();\r
-                               photo.setDataPoint(prevPoint);\r
-                               if (currPoint != null) {\r
-                                       currPoint.setPhoto(null); // disconnect\r
-                               }\r
-                               if (prevPoint != null) {\r
-                                       prevPoint.setPhoto(photo); // reconnect to prev point\r
-                               }\r
-                       }\r
-               }\r
-               // clear selection\r
-               inTrackInfo.getSelection().clearAll();\r
-       }\r
-}\r