42 lines
1.0 KiB
C++
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
|