TTW_Bot/fsinglegrid.h

61 lines
1.5 KiB
C++

#ifndef FSINGLEGRID_H
#define FSINGLEGRID_H
#include <QWidget>
#include <QTableWidget>
#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