]> gitweb.fperrin.net Git - GpsPrune.git/blobdiff - tim/prune/load/babel/DiscardFilter.java
Moved source into separate src directory due to popular request
[GpsPrune.git] / tim / prune / load / babel / DiscardFilter.java
diff --git a/tim/prune/load/babel/DiscardFilter.java b/tim/prune/load/babel/DiscardFilter.java
deleted file mode 100644 (file)
index 22f36f7..0000000
+++ /dev/null
@@ -1,144 +0,0 @@
-package tim.prune.load.babel;
-
-import java.awt.BorderLayout;
-import java.awt.Component;
-import java.awt.GridLayout;
-
-import javax.swing.BorderFactory;
-import javax.swing.Box;
-import javax.swing.BoxLayout;
-import javax.swing.JCheckBox;
-import javax.swing.JComboBox;
-import javax.swing.JLabel;
-import javax.swing.JPanel;
-import javax.swing.SwingConstants;
-import javax.swing.border.EtchedBorder;
-
-import tim.prune.I18nManager;
-import tim.prune.gui.WholeNumberField;
-
-/**
- * Discard filter for GPSBabel
- */
-public class DiscardFilter extends FilterDefinition
-{
-       /** Constructor */
-       public DiscardFilter(AddFilterDialog inFilterDialog)
-       {
-               super(inFilterDialog);
-               makePanelContents();
-       }
-
-       private WholeNumberField _hdopField = null;
-       private WholeNumberField _vdopField = null;
-       private JComboBox<String> _combineDopsCombo = null;
-       private WholeNumberField _numSatsField = null;
-       private JCheckBox _noFixCheckbox = null;
-       private JCheckBox _unknownFixCheckbox = null;
-
-
-       /** @return filter name */
-       protected String getFilterName() {
-               return "discard";
-       }
-
-       /** Make the panel contents */
-       protected void makePanelContents()
-       {
-               setLayout(new BorderLayout());
-               JPanel boxPanel = new JPanel();
-               boxPanel.setLayout(new BoxLayout(boxPanel, BoxLayout.Y_AXIS));
-               JLabel topLabel = new JLabel(I18nManager.getText("dialog.gpsbabel.filter.discard.intro"));
-               topLabel.setAlignmentX(Component.LEFT_ALIGNMENT);
-               boxPanel.add(topLabel);
-               boxPanel.add(Box.createVerticalStrut(9)); // spacer
-
-               JPanel boxPanel2 = new JPanel();
-               boxPanel2.setLayout(new BoxLayout(boxPanel2, BoxLayout.Y_AXIS));
-               // Panel for dops
-               JPanel dopPanel = new JPanel();
-               dopPanel.setBorder(BorderFactory.createCompoundBorder(
-                       BorderFactory.createEtchedBorder(EtchedBorder.LOWERED), BorderFactory.createEmptyBorder(4, 4, 4, 4))
-               );
-               dopPanel.setLayout(new GridLayout(0, 3, 4, 2));
-               dopPanel.add(new JLabel(I18nManager.getText("dialog.gpsbabel.filter.discard.hdop"), SwingConstants.RIGHT));
-               _hdopField = new WholeNumberField(2);
-               _hdopField.addKeyListener(_paramChangeListener);
-               dopPanel.add(_hdopField);
-               _combineDopsCombo = new JComboBox<String>(new String[] {I18nManager.getText("logic.and"), I18nManager.getText("logic.or")});
-               dopPanel.add(_combineDopsCombo);
-               dopPanel.add(new JLabel(I18nManager.getText("dialog.gpsbabel.filter.discard.vdop"), SwingConstants.RIGHT));
-               _vdopField = new WholeNumberField(2);
-               _vdopField.addKeyListener(_paramChangeListener);
-               dopPanel.add(_vdopField);
-               boxPanel2.add(dopPanel);
-
-               // Number of satellites
-               JPanel satPanel = new JPanel();
-               satPanel.add(new JLabel(I18nManager.getText("dialog.gpsbabel.filter.discard.numsats")));
-               _numSatsField = new WholeNumberField(2);
-               _numSatsField.addKeyListener(_paramChangeListener);
-               satPanel.add(_numSatsField);
-               boxPanel2.add(satPanel);
-
-               // Checkboxes for no fix and unknown fix
-               _noFixCheckbox = new JCheckBox(I18nManager.getText("dialog.gpsbabel.filter.discard.nofix"));
-               boxPanel2.add(_noFixCheckbox);
-               _unknownFixCheckbox = new JCheckBox(I18nManager.getText("dialog.gpsbabel.filter.discard.unknownfix"));
-               boxPanel2.add(_unknownFixCheckbox);
-               boxPanel2.add(Box.createVerticalStrut(9)); // spacer
-
-               boxPanel2.setAlignmentX(Component.LEFT_ALIGNMENT);
-               boxPanel.add(boxPanel2);
-               add(boxPanel, BorderLayout.NORTH);
-}
-
-       /**
-        * @return true if the filters are valid
-        */
-       public boolean isFilterValid()
-       {
-               // If values are entered, insist that they're positive (0 not valid)
-               if (_hdopField.getText() != null && _hdopField.getText().length() > 0 && _hdopField.getValue() <= 0) {return false;}
-               if (_vdopField.getText() != null && _vdopField.getText().length() > 0 && _vdopField.getValue() <= 0) {return false;}
-               if (_numSatsField.getText() != null && _numSatsField.getText().length() > 0 && _numSatsField.getValue() <= 0) {return false;}
-               // Insist that at least one value has been entered
-               return _hdopField.getValue() > 0 || _vdopField.getValue() > 0 || _numSatsField.getValue() > 0;
-       }
-
-       /**
-        * @return filter parameters as a string, or null
-        */
-       protected String getParameters()
-       {
-               if (!isFilterValid()) return null;
-               StringBuilder builder = new StringBuilder();
-               // hdop and vdop
-               final int hdop = _hdopField.getValue();
-               if (hdop > 0) {
-                       builder.append(",hdop=").append(hdop);
-               }
-               final int vdop = _vdopField.getValue();
-               if (vdop > 0)
-               {
-                       builder.append(",vdop=").append(vdop);
-                       if (hdop > 0 && _combineDopsCombo.getSelectedIndex() == 0) {
-                               builder.append(",hdopandvdop");
-                       }
-               }
-               // number of satellites
-               final int numSats = _numSatsField.getValue();
-               if (numSats > 0)
-               {
-                       builder.append(",sat=").append(numSats);
-               }
-               // checkboxes
-               if (_noFixCheckbox.isSelected()) {
-                       builder.append(",fixnone");
-               }
-               if (_unknownFixCheckbox.isSelected()) {
-                       builder.append(",fixunknown");
-               }
-               return builder.toString();
-       }
-}