/* NAME: Kirill Vasil'evich Timofeev, 322
 * ASGN: N1
 */
#ifndef VIEW_H
#define VIEW_H

 #include <QMainWindow>

 class QString;
 class QLabel;
 class QPushButton;
 class Controller;
 #include "Logic.h"

 class View
 {

 public:

     explicit View();
     ~View();

     virtual QString message(QString, const bool) = 0;
     virtual void showMessage(const QString msg, const bool b = false, QImage* temp = 0) = 0;
     virtual void mesBox(char*) = 0;
     virtual void controlActions(Controller* tr, char* temp = "") = 0;

     virtual void exit() = 0;

 };

 class QVBoxLayout;
 class QHBoxLayout;
 class QLayout;

 class MainWindow : public QMainWindow ,public View
 {
     Q_OBJECT

 public:
     QLabel *labelIm;
     QPixmap *image;
     QPushButton *button1;
     QPushButton *button2;
     QPushButton *button3;
     QPushButton *button4;
     QPushButton *button6;

     QAction *useAct;
     QAction *PRAct;
     QAction *trainAct;
     QAction *retrainAct;
     QAction *serImAct;
     QAction *serDirAct;
     QAction *exitAct;

     QWidget *window;
     QVBoxLayout *mainLayout;
     QHBoxLayout *layout1;
     QHBoxLayout *layout2;

     explicit MainWindow();
     ~MainWindow();

     QString message(QString, const bool);
     void showMessage(const QString msg, const bool b = false,QImage* temp = 0);
     void mesBox(char*);
     void controlActions(Controller* tr, char* temp = "");

public slots:
     void exit();

 };

 #endif
