#ifndef PCBMATERIALPREVIEW_H
#define PCBMATERIALPREVIEW_H

#include <QWidget>
#include <QVBoxLayout>
#include <QTableView>
#include <QHeaderView>
#include <QLabel>
#include "../model/pcbmaterialmodel.h"
#include "../controller/databasecontroller.h"

class PCBMaterialPreview : public QWidget
{
    Q_OBJECT
public:
    explicit PCBMaterialPreview(PCBMaterialModel* model = nullptr, QWidget *parent = nullptr);
    
    // Метод для обновления отображения
    void updateView();
    
    // Методы для работы с данными
    void setPCBMaterials(const QList<PCBMaterialData> &materials);
    void setLayerCount(int layerCount);
    void clear();
    
    // Получение модели
    PCBMaterialModel* tableModel() const;

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

    QTableView* m_tableView;
    PCBMaterialModel* m_tableModel;
    QLabel* m_layerCountLabel;
    
signals:
    void materialSelected(int row);
    void materialDoubleClicked(int row);
};

#endif // PCBMATERIALPREVIEW_H 