#ifndef PROJECTPARAMPREVIEW_H
#define PROJECTPARAMPREVIEW_H

#include <QWidget>
#include <QVBoxLayout>
#include <QTableView>
#include <QHeaderView>
#include "../model/projectparamtablemodel.h"

class ProjectParamPreview : public QWidget
{
    Q_OBJECT
public:
    explicit ProjectParamPreview(QWidget *parent = nullptr);
    
    // Метод для обновления отображения
    void updateView();
    
    // Методы для работы с данными
    void setProjectParams(const QList<ProjectParamTableData> &params);
    void addProjectParam(const ProjectParamTableData &param);
    void removeProjectParam(int row);
    void clear();
    
    // Получение модели
    ProjectParamTableModel* tableModel() const;

private:
    void setUp();
    void setWidgets();
    void setUpLayout();
    void setUpConnections();

    QTableView* m_tableView;
    ProjectParamTableModel* m_tableModel;
    
signals:
    void projectParamChanged(int row, const QString &name, const QString &value);
    void projectParamAdded(const ProjectParamTableData &param);
    void projectParamRemoved(int row);
};

#endif // PROJECTPARAMPREVIEW_H
