]> gitweb.fperrin.net Git - GpsPrune.git/blobdiff - tim/prune/function/compress/CompressionAlgorithm.java
Moved source into separate src directory due to popular request
[GpsPrune.git] / tim / prune / function / compress / CompressionAlgorithm.java
diff --git a/tim/prune/function/compress/CompressionAlgorithm.java b/tim/prune/function/compress/CompressionAlgorithm.java
deleted file mode 100644 (file)
index 2cd5d77..0000000
+++ /dev/null
@@ -1,109 +0,0 @@
-package tim.prune.function.compress;
-
-import java.awt.BorderLayout;
-import java.awt.Component;
-import java.awt.event.ActionListener;
-
-import javax.swing.BorderFactory;
-import javax.swing.JCheckBox;
-import javax.swing.JPanel;
-
-import tim.prune.I18nManager;
-import tim.prune.data.Track;
-
-/**
- * Abstract class to act as an algorithm for track compression
- */
-public abstract class CompressionAlgorithm
-{
-       protected JCheckBox _activateCheckBox = null;
-       protected SummaryLabel _summaryLabel = null;
-       protected Track _track = null;
-       protected TrackDetails _trackDetails = null;
-
-
-       /**
-        * Constructor giving Track
-        * @param inTrack track object to use for compression
-        * @param inDetails track details object
-        * @param inListener listener to be informed of activation clicks
-        */
-       public CompressionAlgorithm(Track inTrack, TrackDetails inDetails,
-               ActionListener inListener)
-       {
-               _track = inTrack;
-               _trackDetails = inDetails;
-               _activateCheckBox = new JCheckBox(I18nManager.getText(getTitleTextKey()));
-               _activateCheckBox.setSelected(false);
-               _activateCheckBox.addActionListener(inListener);
-       }
-
-
-       /**
-        * @return true if this algorithm has been activated
-        */
-       public boolean isActivated()
-       {
-               return _activateCheckBox.isSelected();
-       }
-
-
-       /**
-        * @return JPanel containing gui components
-        */
-       public JPanel getGuiComponents()
-       {
-               JPanel panel = new JPanel();
-               panel.setBorder(BorderFactory.createTitledBorder(""));
-               panel.setLayout(new BorderLayout());
-               panel.add(_activateCheckBox, BorderLayout.NORTH);
-               Component specifics = getSpecificGuiComponents();
-               if (specifics != null) {
-                       panel.add(specifics, BorderLayout.CENTER);
-               }
-               // Add label at bottom
-               _summaryLabel = new SummaryLabel(_track);
-               panel.add(_summaryLabel, BorderLayout.SOUTH);
-               return panel;
-       }
-
-       /**
-        * Preview the algorithm by counting the number of points deleted
-        * @param inFlags array of deletion flags from previous algorithms
-        * @return number of points to be deleted by this algorithm
-        */
-       public int preview(boolean[] inFlags)
-       {
-               int numDeleted = 0;
-               if (isActivated())
-               {
-                       // Run the compression and set the deletion flags
-                       _trackDetails.initialise();
-                       numDeleted = compress(inFlags);
-                       _summaryLabel.setValue(numDeleted);
-               }
-               else {
-                       _summaryLabel.clearValue();
-               }
-               return numDeleted;
-       }
-
-
-       /**
-        * @return key to use for title text of algorithm
-        */
-       protected abstract String getTitleTextKey();
-
-       /**
-        * @return gui components controlling algorithm (if any)
-        */
-       protected abstract Component getSpecificGuiComponents();
-
-       /**
-        * Perform the compression and set the results in the given array
-        * @param inFlags deletion flags from previous algorithms
-        * @return number of points deleted by this algorithm
-        */
-       protected abstract int compress(boolean[] inFlags);
-
-}