TTW_Bot/neuraltemplatemanager.h

42 lines
1.0 KiB
C++

// neuratemplatemanager.h
#ifndef NEURALTEMPLATEMANAGER_H
#define NEURALTEMPLATEMANAGER_H
#include "qtablewidget.h"
#include <QObject>
#include <QVector>
#include <QString>
class NeuralTemplateManager : public QObject
{
Q_OBJECT
public:
explicit NeuralTemplateManager(QObject *parent = nullptr);
bool addTemplate(const QString &name, const QString &templateText);
bool removeTemplate(const QString& name);
bool updateTemplate(const QString& oldName, const QString& newName, const QString& newTemplateText);
QString getTemplateText(const QString &name) const;
void clear();
void loadFromTableWidget(QTableWidget *table);
bool containsTemplate(const QString& name) const;
private:
struct NeuralTemplate {
QString name;
QString templateText;
NeuralTemplate(const QString& n = "", const QString& t = "")
: name(n), templateText(t) {}
};
QVector<NeuralTemplate> templates;
int findTemplateIndex(const QString& name) const;
};
#endif // NEURALTEMPLATEMANAGER_H