#ifndef GRIFOSNUFORM_H
#define GRIFOSNUFORM_H

#include <QScrollArea>

namespace Ui {
    class GrifoSNUForm;
}

class GrifoSNUForm;

class GrifoSNUSimulator: public QObject
{
  Q_OBJECT

public:
  explicit GrifoSNUSimulator(QObject* parent);

  virtual ~GrifoSNUSimulator();

private slots:
  void simButtonToggled(bool x);


private:
  void timerEvent(QTimerEvent *);

  class Private;
  Private& p_;

  friend class GrifoSNUForm;
};

class GrifoSNUForm : public QScrollArea
{
    Q_OBJECT

public:
    explicit GrifoSNUForm(QWidget *parent = 0);
    ~GrifoSNUForm();

    bool generateSyncTimetag() const;

    void postInit();

private slots:
    void crsToWaypoint(int w);

private:
    Ui::GrifoSNUForm *ui;

    GrifoSNUSimulator sim;

private slots:
    void on_cbStopTimetag_clicked(bool checked);
    void on_pbFlySim_clicked();
    void on_tbCrsToSpoi_clicked();
    void on_wanderAngle_valueChanged(double arg1);
    void on_magneticVariation_valueChanged(double arg1);
    void on_sp_ads_A5_rate_yaw_valueChanged(double arg1);
    void on_navDrift_valueChanged(double arg1);
    void on_simpleSimEnable_toggled(bool checked);
    void on_kTTPtaz_valueChanged(int arg1);
    void on_kTT_valueChanged(int arg1);
    void on_kTTPitch_valueChanged(int arg1);
    void on_kTTRoll_valueChanged(int arg1);
};

#endif // GRIFOSNUFORM_H
