#ifndef XLRUMULTIGFXFORM_H
#define XLRUMULTIGFXFORM_H

#include <QMainWindow>
#include <QTimer>
#include <QTableWidget>

#include "xlruchartclass.h"
#include "xlrureportclass.h"
#include "xlruchartconfig.h"
#include "telemetryclass.h"
#include "xlrusensorstable.h"




namespace Ui {
class XlruMultiGfxForm;
}

class XlruMultiGfxForm: public QMainWindow
{
    Q_OBJECT

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

    XlruChartClass* newGraphConfig(graph_config_t *gconfig, QStringList list_fpga, bool _main=false );
    void addSampleAllGraph(QString sensor_name, float value);

public slots:
    void startAcquisition();
    void setListFpga(QStringList _list_fpga);

private slots:
    void setCheckLimit(bool _test, type_series_t type_se);

    void addTabbedDock(Qt::DockWidgetArea area, QDockWidget *widget);

private:
    Ui::XlruMultiGfxForm *ui;

    //QTimer* updateTimer;

    void timerEvent(QTimerEvent*);

    //XlruChartClass* chart1Widget;

    QVector<XlruChartClass*> list_chart;

    int count;

    XlruReportClass* report;

    void setUpdatesEnabled(bool _update);

    XlruChartConfig *configGraph;

#ifdef USE_TABLE
    XlruSensorsTableClass *sensorsTable;
#endif

#ifdef TELEMETRY
    telemetryClass *telemetry;
#endif

    bool running_monitor;

    int t_id;

    QStringList list_fpga;
};

#endif // XLRUMULTIGFXFORM_H
