#ifndef PCBMATERIALPREVIEW_H #define PCBMATERIALPREVIEW_H #include #include #include #include #include #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 &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