Maki
Formally verfied low-code orchestration
Loading...
Searching...
No Matches
generator.h
1#pragma once
2
3#include <QObject>
4#include <QString>
5
6#include "pipeline.h"
7#include "result.h"
8
9namespace maki
10{
11class IPlugin;
12}
13
24class Generator : public QObject
25{
26 Q_OBJECT
27public:
34 Generator(Pipeline* pipeline, QObject* parent = nullptr);
35
47 VoidResult generate(const QString& outputDir, maki::IPlugin* generator);
48
59 VoidResult simulate(const QString& outputDir, maki::IPlugin* generator);
60
66 Pipeline* pipeline() const;
67
74 void setup();
75
76signals:
86
92 void generationEnded(const QString& outputFolder);
93
94private:
96 Pipeline* mPipeline = nullptr;
97
100
103
105 QString mProgressId;
106
107 bool mIsRunning;
108
109 std::string notificationHeader(const QString& languageName) const;
110
111 QWidget* progressContent();
112};
void generationEnded(const QString &outputFolder)
Emitted when generation has completed.
VoidResult simulate(const QString &outputDir, maki::IPlugin *generator)
Runs a simulation using the specified generator plugin.
Definition generator.cpp:113
QString mProgressId
Holds the id of the progress widget.
Definition generator.h:105
Pipeline * pipeline() const
Returns the pipeline used for generation workflows.
Definition generator.cpp:74
Generator(Pipeline *pipeline, QObject *parent=nullptr)
Constructs a Generator instance.
Definition generator.cpp:15
void generationStarted(Pipeline *pipeline)
Emitted when the generation pipeline starts.
Pipeline * mPipeline
Pipeline responsible for executing generation and simulation processes.
Definition generator.h:96
QString mGenerationFolder
Directory where generated artifacts are stored.
Definition generator.h:99
Pipeline::Info mInfo
Holds information regarding the current generation pipeline.
Definition generator.h:102
VoidResult generate(const QString &outputDir, maki::IPlugin *generator)
Generates output artifacts using the specified generator plugin.
Definition generator.cpp:79
QWidget * progressContent()
Returns a header string for notifications.
void setup()
Performs initialization and setup of the generator.
Executes and manages a sequence of external processes.
Definition pipeline.h:22
Contains UI helper widgets and layout grouping utilities used by MAKI.
Definition generator.h:10
Definition pipeline.h:51