00001 00008 00009 #ifndef ENGINE_EDITOR_H 00010 #define ENGINE_EDITOR_H 00011 00012 #include <QtGui> 00013 00014 #include "engine.h" 00015 00020 class EngineEditor : public QWidget 00021 { 00022 Q_OBJECT 00023 00024 public : 00025 00028 EngineEditor( QWidget *parent = 0 ) ; 00029 00030 public slots : 00031 00033 void applyChanges() ; 00034 00036 void deleteEngine() ; 00037 00039 void changeImage() ; 00040 00042 void changeEngine() ; 00043 00046 void setEngine( Engine *engine ) ; 00047 00048 private slots : 00049 00052 void setImage( const QString &imagePath ) ; 00053 00056 bool maybeApplyChanges() ; 00057 00060 void setDirty( bool dirty = TRUE ) ; 00061 00062 signals : 00063 00065 void engineChanged() ; 00066 00067 private : 00068 00070 Engine *_engine ; 00071 00073 QLineEdit *_nameEdit ; 00074 00076 QString _imagePath ; 00077 QLabel *_image ; 00078 00080 QSpinBox *_addressBox ; 00081 00083 QComboBox *_decoderBox ; 00084 00085 QPushButton *_apply, *_delete; 00086 } ; 00087 00088 #endif // ENGINE_EDITOR_H