--- /dev/null
+package tim.prune.function;
+
+import tim.prune.App;
+import tim.prune.GenericFunction;
+
+/**
+ * Abstract superclass of Functions which just take a
+ * single numeric parameter
+ */
+public abstract class SingleNumericParameterFunction extends GenericFunction
+{
+ /** Minimum and maximum allowed values */
+ protected int _minAllowedValue, _maxAllowedValue;
+
+ /** Constructor */
+ public SingleNumericParameterFunction(App inApp, int inMinValue, int inMaxValue)
+ {
+ super(inApp);
+ _minAllowedValue = inMinValue;
+ _maxAllowedValue = inMaxValue;
+ }
+
+ /** Get the current value for display in the dialog */
+ public abstract int getCurrentParamValue();
+
+ /** Get the key for the description label */
+ public abstract String getDescriptionKey();
+
+ /** Callback to trigger the rest of the function once the parameter has been chosen */
+ public abstract void completeFunction(int inParam);
+
+ /** @return minimum allowed value */
+ public int getMinAllowedValue() {return _minAllowedValue;}
+ /** @return maximum allowed value */
+ public int getMaxAllowedValue() {return _maxAllowedValue;}
+}