00001
00002
00003 #ifndef REGRESSIONLISTDIALOG_H
00004 #define REGRESSIONLISTDIALOG_H
00005
00006 #include "ListDialog.h"
00007
00008 class RegressionListDialog : public ListDialog
00009 {
00010 Q_OBJECT
00011 public:
00012 RegressionListDialog(MainWin *mw, const char *name);
00013 public slots:
00014 void setRegion(double a, double b) {
00015 regionminle->setText(QString::number(a));
00016 regionmaxle->setText(QString::number(b));
00017 }
00018 void setModel(int m) { modelcb->setCurrentItem(m); }
00019 void setWeight(int w) { weightcb->setCurrentItem(w); }
00020 void setWeightFunction(QString w);
00021 void setNumber(int nr) { numberle->setText(QString::number(nr)); }
00022 void setRange(double a, double b) {
00023 regioncb->setChecked(true);
00024 minle->setText(QString::number(a));
00025 maxle->setText(QString::number(b));
00026 }
00027 void setNegateRegion(bool b=true)
00028 { regioncb->setChecked(b); negate_regioncb->setChecked(b); }
00029 void showInfo(bool v=true) { infocb->setChecked(v); }
00030 void showResiduals(bool v=true) { rescb->setChecked(v); }
00031 void setGraceStyle(bool v=true) { gracecb->setChecked(v); }
00032 QString Result() { return result; }
00033 int Apply() { return apply_clicked(); }
00034 private:
00035 void linearRegression(double *xdata, double *ydata, int N, QString *info, double *c0, double *c1);
00036 QString result;
00037 KComboBox *modelcb, *weightcb;
00038 QCheckBox *infocb, *regioncb, *negate_regioncb, *rescb, *gracecb;
00039 KLineEdit *regionminle, *regionmaxle, *numberle, *minle, *maxle, *weightle;
00040 private slots:
00041 void weightChanged();
00042 void saveSettings();
00043 int apply_clicked();
00044 };
00045
00046 #endif // REGRESSIONLISTDIALOG_H