For complex concepts, use mermaid syntax to provide visual aids. This is preferred over static images for class relationships and workflows.
Mermaid Class Diagrams
Use for class inheritance and composition:
classDiagram
class DAAbstractNode {
+execute() bool
+getNodeName() QString
}
class DAWorkflowNode {
-m_workflow: DAWorkflow*
+setWorkflow(workflow)
+execute() bool
}
DAAbstractNode <|-- DAWorkflowNode
Mermaid Flowcharts
Use for usage flows and workflows:
flowchart TD
A[Create workflow] --> B[Add nodes]
B --> C[Connect nodes]
C --> D[Configure parameters]
D --> E[Execute workflow]
E --> F[View results]
Mermaid Sequence Diagrams
Use for inter-module interactions and signal-slot connections:
sequenceDiagram
participant User
participant WorkflowScene
participant NodeItem
participant LinkItem
User->>WorkflowScene: Drag in node
WorkflowScene->>NodeItem: Create node
User->>NodeItem: Drag connection
NodeItem->>LinkItem: Create connection
LinkItem->>WorkflowScene: Connection complete signal
classDiagram
class DAAbstractNode {
+execute() bool
+getNodeName() QString
}
class DAWorkflowNode {
-m_workflow: DAWorkflow*
+setWorkflow(workflow)
+execute() bool
}
DAAbstractNode <|-- DAWorkflowNode