-
Notifications
You must be signed in to change notification settings - Fork 3
Description
Sub-graphs are shown as regular blocks in the flowgraph, with a visual hint that they are editable groups of blocks.
Editing sub-graphs:
- User double-clicks a sub-graph-block (or right-clicks on a block -> 'edit sub-graph')
- The UI opens a nested window that shows the same flowgraph-editing component used for the main flowgraph, just showing the blocks nested in the sub-graph
Creating new sub-graphs, 1st approach:
- User right-clicks on the flowgraph backgound and selects 'create a new sub-graph'
- The UI opens a nested window that shows the same flowgraph-editing component used for the main flowgraph, without any precreated blocks where the user can add new blocks and make connections
Creating new sub-graphs, 2nd approach:
- User selects one or more blocks from the graph
- User right-clicks on one of the selected blocks and selects 'create a new subgraph from the selected blocks'
- The UI opens a nested window that shows the same flowgraph-editing component used for the main flowgraph, with the previously selected blocks already added to the sub-graph (and removed from the parent graph)
Moving blocks from the sub-graph into the main flowgraph
- User right-clicks a sub-graph, and selects 'ungroup sub-graph'
- The sub-graph block gets replaced with its contents.
Choosing which ports are visible from the outside
Sub-graphs should behave like normal blocks in the graph that contains them. This means that they need to have input and output ports. The ports from the nested blocks that should be presented as inputs and outputs of the sub-graph are called 'exported ports' in GR4 code.
When creating a sub-graph from a selection of blocks, all connections that cross the boundary between the blocks inside the newly created sub-graph and the blocks from outside should be converted to exported ports and connections from outside blocks to the exported port and not directly to the port inside the block.
To otherwise define the exported ports, the UI needs to allow connecting ports of nested blocks to special areas 'exported input ports' and 'exported output ports'. The visual part for this needs to be discussed.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status