+++ /dev/null
-package tim.prune.load.babel;
-
-import java.awt.event.KeyAdapter;
-import java.awt.event.KeyEvent;
-import java.awt.event.KeyListener;
-
-import javax.swing.JPanel;
-import javax.swing.SwingUtilities;
-
-/**
- * Superclass of all the filter definition panels, to be added in the cardset
- * of the AddFilterDialog
- */
-public abstract class FilterDefinition extends JPanel
-{
- /** Parent dialog to inform of parameter changes */
- private AddFilterDialog _parentDialog = null;
- /** Listener for key presses on the parameter entry fields */
- protected KeyListener _paramChangeListener = null;
-
- /**
- * Constructor
- */
- public FilterDefinition(AddFilterDialog inFilterDialog)
- {
- _parentDialog = inFilterDialog;
- _paramChangeListener = new KeyAdapter() {
- public void keyTyped(KeyEvent arg0) {
- SwingUtilities.invokeLater(new Runnable() {
- public void run() {
- _parentDialog.filterParamsChanged();
- }
- });
- }
- };
- }
-
- /**
- * @return true if the filter definition is valid
- */
- public abstract boolean isFilterValid();
-
- /**
- * @return filter definition to pass to gpsbabel
- */
- public String getString()
- {
- return "-x " + getFilterName() + getParameters();
- }
-
- /** @return filter name */
- protected abstract String getFilterName();
-
- /** Construct the GUI elements and add them to the panel */
- protected abstract void makePanelContents();
-
- /** @return filter parameters */
- protected abstract String getParameters();
-}