#pragma once

#include <QMainWindow>
#include <QProcess>
#include <QtGui/QApplication>
#include <QtGui/QLabel>
#include <QtGui/QMenu>
#include <QtGui/QMenuBar>
#include <QtGui/QPushButton>
#include <QtGui/QGridLayout>
#include <QtGui/QGroupBox>
#include <QtGui/QVBoxLayout>
#include <QtGui/QSpacerItem>
#include <iostream>

class testUi: public QMainWindow
{
  Q_OBJECT;
public:
  testUi();

// protected:
//   void closeEvent(QCloseEvent *event);

private slots:
  void on_init_button_clicked();
  void on_setup_button_clicked();
  void on_stop_button_clicked();
  void on_abort_button_clicked();
  void on_scicam_button_clicked();
  void on_motion_button_clicked();

private:
  void createActions();
  void createMenus();

  QGroupBox *groupIns;
  QGroupBox *groupScicam;

  QGridLayout *gridButtons;
  QGridLayout *gridScicam;
  QVBoxLayout *layoutVMain;
  QMenuBar *menubar;
  QMenu *menuFile;
  QMenu *menuEng;
  QMenu *menuInstrument;
  QAction *actionClose;
  QAction *actionOpenEngPanel;
  QAction *actionSetInstMode;

  QLabel *labInit;
  QLabel *labSetup;
  QLabel *labStop;
  QLabel *labAbort;
  QLabel *labMotion;

  QLabel *labScicamTest;
  QLabel *labExpStatus;
  QLabel *labExpStatusValue;
  QLabel *labDit;
  QLabel *labNDit;
  QLabel *labFileName;

  QPushButton *btnInit;
  QPushButton *btnSetup;
  QPushButton *btnStop;
  QPushButton *btnAbort;
  QPushButton *btnMotion;

  QPushButton *btnScicamTest;
};
