GroupNode<T> constructor

GroupNode<T>({
  1. required String id,
  2. required Offset position,
  3. required Size size,
  4. required String title,
  5. required T data,
  6. Color color = Colors.blue,
  7. GroupBehavior behavior = GroupBehavior.bounds,
  8. Set<String>? nodeIds,
  9. EdgeInsets padding = kGroupNodeDefaultPadding,
  10. int zIndex = -1,
  11. bool isVisible = true,
  12. bool locked = false,
  13. List<Port> inputPorts = const [],
  14. List<Port> outputPorts = const [],
})

Implementation

GroupNode({
  required super.id,
  required super.position,
  required Size super.size,
  required String title,
  required super.data,
  Color color = Colors.blue,
  GroupBehavior behavior = GroupBehavior.bounds,
  Set<String>? nodeIds,
  this.padding = kGroupNodeDefaultPadding,
  int zIndex = -1, // Usually behind nodes
  bool isVisible = true,
  super.locked,
  // Optional ports for subflow patterns
  super.inputPorts,
  super.outputPorts,
}) : _nodeIds = ObservableSet.of(nodeIds ?? {}),
     _observableBehavior = Observable(behavior),
     _observableTitle = Observable(title),
     _observableColor = Observable(color),
     super(
       type: 'group',
       layer: NodeRenderLayer.background,
       initialZIndex: zIndex,
       visible: isVisible,
       selectable: false,
     );