#ifndef FSINGLEGRID_H #define FSINGLEGRID_H #include #include #include "mediafilemanager.h" #include "neuraltemplatemanager.h" #include "udatabase.h" namespace Ui { class FSingleGrid; } class FSingleGrid : public QWidget { Q_OBJECT public: enum ManagerType { NoManager, SoundManager, TextManager, TemplateManager }; explicit FSingleGrid(QWidget *parent = nullptr); ~FSingleGrid(); void initForm(QString aBlockName, QString aNewName, bool btnOpen = false); void toGrid(QString aName, QString aFile); QTableWidget* tableWidget() const; void setDatabase(uDataBase *database); void setSoundManager(MediaFileManager *manager); void setTextManager(MediaFileManager *manager); void setTemplateManager(NeuralTemplateManager *manager); void setManagerType(ManagerType type); private slots: void on_btnAdd_clicked(); void on_btnDel_clicked(); void on_btnEdt_clicked(); void on_btnOpen_clicked(); void on_sg_cellClicked(int row, int column); private: Ui::FSingleGrid *ui; uDataBase *db = nullptr; ManagerType currentManagerType = NoManager; MediaFileManager *soundManager = nullptr; MediaFileManager *textManager = nullptr; NeuralTemplateManager *templateManager = nullptr; bool addToManager(const QString& name, const QString& filePath); bool removeFromManager(const QString& name); bool updateInManager(const QString& oldName, const QString& newName, const QString& newFilePath); }; #endif // FSINGLEGRID_H