#ifndef MAINWINDOW_H
 #define MAINWINDOW_H

 #include <QMainWindow>

 class QAction;
 class QMenu;
 class QPlainTextEdit;
 class QVBoxLayout;
 class QHBoxLayout;
 class QSlider;
 class QSpinBox;
 class QLabel;
 class QLayout;

 class MainWindow : public QMainWindow
 {
     Q_OBJECT

 public:
     MainWindow();

 protected:
     //void closeEvent(QCloseEvent *event);

 private slots:
     void openIm();
     bool saveIm();
     bool saveImAs();
     void zoom(int);
     void cBar(int );

 private:
     void createActions();
     void createMenus();
     void createStatusBar();

     //bool maybeSave();
     //void loadFile(const QString &fileName);
     //bool saveFile(const QString &fileName);
     //void setCurrentFile(const QString &fileName);
     QString strippedName(const QString &fullFileName);

     QPlainTextEdit *textEdit;
     QWidget *window;
     QTabWidget *tabWidget;
     QWidget *contrast;
     QWidget *filtration;
     QWidget *geotransformation;
     QString curFile;
     QLabel *labelIm;
     bool isModified;
     QPixmap *image;
     QImage *curImage;

     QVBoxLayout *mainLayout;
     QVBoxLayout *lc0;
     QHBoxLayout *lc1;
     QSpinBox *spinBoxC1;
     QSlider *sliderC1;
     QHBoxLayout *lc2;
     QSpinBox *spinBoxC2;
     QSlider *sliderC2;
     QVBoxLayout *lf0;
     QHBoxLayout *lf1;
     QSpinBox *spinBoxF1;
     QSlider *sliderF1;
     QHBoxLayout *lf2;
     QSpinBox *spinBoxF2;
     QSlider *sliderF2;
     QVBoxLayout *lg0;
     QHBoxLayout *lg1;
     QSpinBox *spinBoxG1;
     QSlider *sliderG1;
     QHBoxLayout *lg2;
     QSpinBox *spinBoxG2;
     QSlider *sliderG2;

     QMenu *fileMenu;
     QMenu *editMenu;
     QMenu *helpMenu;
     QAction *newAct;
     QAction *openImAct;
     QAction *saveImAct;
     QAction *saveImAsAct;
     QAction *exitAct;
     QAction *zoomAct;
 };

 #endif
