#pragma once

#include "../../3rdParty/qwt/qwt_plot.h"
#include "../../3rdParty/qwt/qwt_plot_curve.h"
#include "../../3rdParty/qwt/qwt_plot_grid.h"
#include <memory>

class QwtPlotCurve;
class QwtPlotGrid;

/**
 * @brief Neural network input plot
 */
class InputPlot : public QwtPlot
{
    Q_OBJECT

public:
    explicit InputPlot(QWidget* parent = nullptr);
    void setPlotData(const QVector<double>& inputs);

private:
    void initPlot();
    void initAxes();
    void initCurve();
    void initGrid();

private:
    std::unique_ptr<QwtPlotCurve> inputCurve_;
    std::unique_ptr<QwtPlotGrid> inputGrid_;
};

