Maki
Formally verfied low-code orchestration
Loading...
Searching...
No Matches
pipeline_graph.h
1#pragma once
2
3#include <QJsonDocument>
4#include <QJsonObject>
5#include <QString>
6#include <QVariantMap>
7
8#include "mission_parameter.h"
9#include "plugin_version.h"
10#include "result.h"
11#include "save_info.h"
12
13class Canvas;
14
15namespace maki
16{
18{
19 QString id;
20 QString actionId;
21 QString displayName;
22 maki::ValueMap parameters;
23
24 static Result<PipelineNode> fromJson(const QJsonObject& object);
25 void print() const;
26};
27
29{
30 QString from;
31 QString to;
32
33 static Result<PipelineEdge> fromJson(const QJsonObject& object);
34 void print() const;
35};
36
38{
39 QString id;
40 QString name;
41 PluginVersion version;
42
43 QList<PipelineNode> nodes;
44 QList<PipelineEdge> edges;
45
46 static Result<PipelineGraph> fromJson(const QJsonObject& object);
47 static Result<PipelineGraph> fromJsonFile(const QString& filename);
48 static Result<PipelineGraph> fromFlow(const FlowSaveInfo& info);
49 static Result<PipelineGraph> fromCanvas(const Canvas* canvas);
50
51 QJsonObject toJson() const;
52 void print() const;
53};
54} // namespace maki
The Canvas class represents the main drawing area for nodes and transitions.
Definition canvas.h:29
Represents the save information for a flow.
Definition flow_info.h:15
Contains UI helper widgets and layout grouping utilities used by MAKI.
Definition generator.h:10
Definition pipeline_graph.h:29
Definition pipeline_graph.h:38
Definition pipeline_graph.h:18