00001 // to avoid multiple class definitions by including this file more than once 00002 // we have to surround the class definition by this compiler flag 00003 #ifndef MAINWINDOW_H_ 00004 #define MAINWINDOW_H_ 00005 #include "Ui_MainWindow.h" 00006 00007 // forward declarations 00008 class QLabel; 00009 00019 class MainWindow : public QMainWindow, protected Ui_MainWindow 00020 { 00021 Q_OBJECT 00022 public: 00030 MainWindow(QWidget* parent = 0, Qt::WindowFlags flags = 0); 00031 00037 virtual ~MainWindow(); 00038 00040 inline const QImage* getImage(){return m_image;}; 00042 void setImage(QImage* img){m_image = img;}; 00044 void showImage(QImage* img); 00046 inline QLabel* getImageLabel(){return m_imageLabel;}; 00047 00049 inline const QString* getFileName(){return m_fileName;}; 00050 00052 inline void setULPt(int x, int y){m_ulPt = QPoint(x,y);}; 00054 inline QPoint getULPt(){return m_ulPt;}; 00055 00056 00058 inline void setLRPt(int x, int y){m_lrPt = QPoint(x,y);}; 00060 inline QPoint getLRPt(){return m_lrPt;}; 00061 00062 private slots: 00064 void slotOpen(); 00066 void slotZoomNormal(); 00068 //void slotFitToWindow(); 00069 void slotSnakeButtonPressed(); 00071 void slotDemoButtonPressed(); 00073 void slotInitCurveButtonPressed(); 00075 void slotIterationOn(); 00077 void slotIterationOff(); 00079 void slotIterationStep(); 00080 00081 00082 private: 00084 QLabel* m_imageLabel; 00086 QString* m_fileName; 00088 QImage* m_image; 00089 00091 double m_scaleFactor; 00092 00094 QPoint m_ulPt; 00096 QPoint m_lrPt; 00097 00098 signals: 00100 void signalSnakeButtonPressed(); 00102 void signalImageOpened(); 00104 void signalDemoButtonPressed(); 00106 void signalInitCurve(); 00108 void signalIterationOn(); 00110 void signalIterationOff(); 00112 void signalIterationStep(); 00113 }; 00114 #endif // end of #ifndef MAINWINDOW_H_