00001 #ifndef _QCamAutoGuidageSimple_hpp_
00002 #define _QCamAutoGuidageSimple_hpp_
00003
00004 #include "QCamAutoGuidage.hpp"
00005 #include "math.h"
00006
00007 class ShiftInfo;
00008
00009 #include <qlineedit.h>
00010 #include <qlcdnumber.h>
00011 #include <qlabel.h>
00012 #include <qhbox.h>
00013
00020 class QCamAutoGuidageSimple : public QCamAutoGuidage {
00021 Q_OBJECT;
00022 public:
00023 QCamAutoGuidageSimple();
00024 virtual QWidget * buildGUI(QWidget *parent=0);
00025 protected slots:
00027 void swapEW(bool swap) { ewSwapped_=swap;}
00029 void swapNS(bool swap) { nsSwapped_=swap;}
00031 void setCenter(bool center) { centerMode_ = center; }
00032 void frameShift(const ShiftInfo & shift);
00033 void setMinShift(double v) { minShift_=v;}
00034 void setMaxShift(double v) { maxShift_=v;}
00035 void setMinShift(int v) { setMinShift((double)v);}
00036 void setMaxShift(int v) { setMaxShift((double)v);}
00037 signals:
00038 void shiftAlt(double);
00039 void shiftAsc(double);
00040 private:
00041 bool nsSwapped_;
00042 bool ewSwapped_;
00043 bool centerMode_;
00044 double minShift_;
00045 double maxShift_;
00046 };
00047
00048 class TrackingControl : public QHBox {
00049 Q_OBJECT;
00050 int min_;
00051 int max_;
00052 public:
00053 TrackingControl(QString label, QWidget * parent=0, const char * name=0, WFlags f=0 );
00054 public slots:
00055 void setShift(double shift);
00056 void setMin(int min);
00057 void setMax(int max);
00058 void setMin(const QString &);
00059 void setMax(const QString &);
00060 void setMoveDir(MoveDir);
00061 signals:
00062 void minChanged(int);
00063 void maxChanged(int);
00064 private:
00065 QLabel label_;
00066 QLabel arrow_;
00067 QLCDNumber currentShift_;
00068 QLabel labelMin_;
00069 QLineEdit minShift_;
00070 QLabel labelMax_;
00071 QLineEdit maxShift_;
00072 };
00073
00074 #endif