00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef __CONTROL_CHART_H
00023 #define __CONTROL_CHART_H
00024
00025
00026 #include <FXPlot2D.h>
00027 #include <FXPlot2D.h>
00028
00029
00034 class FXSPCCurve : public FXCurve
00035 {
00036 protected:
00038 double lower;
00040 double upper;
00041
00043 FXint root;
00044
00048 virtual void drawMark(FXDC *dc, FXPoint p, FXCurve::MarkStyle style, FXint size,
00049 FXColor color) const ;
00050 public:
00054 FXSPCCurve(const FXString &label, FXCurveData *x, FXCurveData *y,
00055 double lower, double upper, FXPlot2D *view = NULL);
00056
00058 void setRoot(FXint root);
00059
00061 virtual ~FXSPCCurve();
00062 };
00063
00064
00070 class FXSPC : public FXPlot2D {
00071 protected:
00073 double upper[2];
00075 double lower[2];
00077 double upperSpec[2];
00079 double lowerSpec[2];
00081 double limitsx[2];
00083 double mean[2];
00084
00086 FXSPCCurve *spccurve;
00087
00088 public:
00092 FXSPC(FXComposite *parent, const FXString &title);
00093
00094 void drawSelf(FXDC *dc, FXint rootx, FXint rooty);
00095
00097 void setData(FXCurveData *y, double mean, double lower, double upper,
00098 double lowerSpec, double upperSpec);
00099
00101 virtual ~FXSPC();
00102 };
00103
00104
00105 #endif