Workflows: Add interactive editor for taskmaestro workflows

Build, copy and edit taskmaestro workflows in ResInsight and save them as
standard workflow.yaml + input.yaml.

- Python helper: catalog, load, save and export-registered subcommands,
  and run --registered for installed workflows
- C++ definition model with pure edit operations, port type checks,
  config field derivation, static validation and undo/redo
- Installed folder listing registered workflows (read-only, runnable,
  can be duplicated)
- Graph editor dock with task palette, drag-to-connect, context menus,
  automatic layout and debounced live validation
- New/Duplicate/Save/Save As/Rescan commands; unsaved edits run from a
  temporary folder and prompt before being discarded
- Update the design document and the user README
This commit is contained in:
Kristian Bendiksen committed 2026-10-21 11:19:35 +02:00
1 parent bc71762be2
commit f9030a3e1f
117 files changed
+11724 -645

No files matched your search

@@ -21,6 +21,8 @@
#include "cafPdmField.h"
#include "cafPdmObject.h"
#include <QJsonValue>
class QJsonObject;
class RimWorkflowFieldBinding : public caf::PdmObject
@@ -35,17 +37,17 @@ public:
void setDescription( const QString& description );
void setRequired( bool required );
virtual void applySchema( const QJsonObject& fieldSchema );
virtual QString toYamlValue() const = 0;
virtual QString displayValue() const;
virtual void applySchema( const QJsonObject& fieldSchema );
virtual QJsonValue toJsonValue() const = 0;
virtual bool isObjectReference() const;
virtual QString displayValue() const;
virtual caf::PdmFieldHandle* valueField() = 0;
protected:
void fieldChangedByUi( const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue ) override;
bool hasValue() const;
static QString yamlQuotedScalar( const QString& value );
bool hasValue() const;
caf::PdmField<QString> m_fieldName;
caf::PdmField<QString> m_description;