00001 00008 00009 #ifndef ENGINE_H 00010 #define ENGINE_H 00011 00012 #include "ork.h" 00013 00014 #include <QGroupBox> 00015 #include <QWidget> 00016 #include <QProgressBar> 00017 #include <QSlider> 00018 #include <QPushButton> 00019 #include <QLayout> 00020 #include <QLabel> 00021 #include <QPalette> 00022 #include <QMessageBox> 00023 #include <QMouseEvent> 00024 #include <QDrag> 00025 #include <QApplication> 00026 00027 #include <cmath> 00028 00033 class Engine : public QGroupBox 00034 { 00035 Q_OBJECT 00036 00037 public : 00038 00044 Engine( QString decoder = "", int address = 0, QString imagePath = "", QString name = "", QWidget *parent = 0 ) ; 00045 00048 ~Engine() ; 00049 00052 QString name() ; 00053 00057 void setName( QString name ) ; 00058 00061 int address() ; 00062 00066 void setAddress( int address ) ; 00067 00070 QString imagePath() ; 00071 00075 void setImage( QString path ) ; 00076 00080 void setDecoder( QString decoder ) ; 00081 00084 QString decoder() ; 00085 00087 int speed() ; 00088 00090 bool light() ; 00091 00093 bool f2() ; 00094 00096 bool f3() ; 00097 00099 bool f4() ; 00100 00102 bool isReversed() ; 00103 00104 signals : 00105 00109 void stateChanged() ; 00110 00112 void clicked() ; 00113 00114 public slots : 00115 00119 void stop() ; 00120 00124 void restart() ; 00125 00128 void askForDelete() ; 00129 00130 protected : 00131 00133 void mousePressEvent(QMouseEvent *event) ; 00134 00136 void mouseMoveEvent(QMouseEvent *event) ; 00137 00138 private slots : 00139 00142 void setColor( int speed ) ; 00143 00144 private : 00145 00146 int _address ; 00147 00148 QString _decoder ; 00149 00150 QString _imagePath ; 00151 00152 QLabel *_image ; 00153 QPixmap *_picture ; 00154 00155 QPushButton *_btnLight, *_btnReverse, *_btnStop, *_btnF2, *_btnF3, *_btnF4 ; 00156 00157 QSlider *_speedSlider ; 00158 QProgressBar *_speedBar ; 00159 QPalette _palette ; 00160 00161 QPoint _dragStartPosition ; 00162 00163 int _oldSpeed ; 00164 } ; 00165 00166 #endif // ENGINE_H