00001
00008 #ifndef _DoubleParameter_h
00009 #define _DoubleParameter_h
00010
00011
00012
00013
00014
00015
00016
00017 #include "Error.h"
00018
00019
00020
00021
00022
00023
00024
00025
00026 class DoubleParameter
00027 {
00028 public:
00029
00030
00040 DoubleParameter(double value = 0.0,
00041 double min = -DBL_MAX,
00042 bool leftOpen = false,
00043 double max = DBL_MAX,
00044 bool rightOpen = false,
00045 bool integer = false) throw(Error);
00046
00051 DoubleParameter(const DoubleParameter& from) throw();
00052
00053
00056 ~DoubleParameter(void);
00057
00058
00059
00060
00067 DoubleParameter& operator=(const DoubleParameter& from) throw();
00068
00071 DoubleParameter& operator=(double from) throw(Error);
00072
00075 operator double() const throw();
00076
00077
00078
00083 wxString BoundaryToString() const;
00084
00085
00086
00092 void SetLowerBoundary(double min, bool open = false);
00093
00099 void SetUpperBoundary(double max, bool open = false);
00100
00105 void SetIntegerType(bool integer);
00106
00107
00110 bool IsValid(double value) const;
00111
00114 bool HasIntegerType() const;
00115
00116 protected:
00117 private:
00118 double mValue;
00119 double mMin;
00120 double mMax;
00121 bool mLeftOpen;
00122 bool mRightOpen;
00123 bool mInteger;
00124 };
00125
00126
00127
00128
00129
00130
00131
00132 #endif // _DoubleParameter_h