NodeGroup class

Represents a group of nodes on the canvas.

A node group visually binds related nodes together with a rounded rectangle background and an optional label. Groups can be dragged (moving all member nodes), selected, and serialized to JSON.

Constructors

NodeGroup({required String id, required String name, required Set<String> nodeIds, Color? color, bool isSelected = false, Map<String, dynamic>? metadata})
Creates a node group.
const
NodeGroup.fromJson(Map<String, dynamic> json)
Creates a node group from JSON.
factory

Properties

color → Color?
Optional custom color for this group.
final
hashCode → int
The hash code for this object.
no setterinherited
id → String
Unique identifier for this group.
final
isSelected → bool
Whether this group is currently selected.
final
metadata → Map<String, dynamic>?
Optional custom metadata associated with this group.
final
name → String
Display label for this group.
final
nodeIds → Set<String>
The IDs of nodes belonging to this group.
final
props → List<Object?>
The list of properties that will be used to determine whether two instances are equal.
no setter
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
stringify → bool?
If set to true, the toString method will be overridden to output this instance's props.
no setterinherited

Methods

bounds(List<CanvasNode> nodes, {double padding = 20.0, double labelPadding = 28.0}) → Rect?
Calculates the bounding rectangle of this group based on its member nodes.
copyWith({String? id, String? name, Set<String>? nodeIds, Color? color, bool? isSelected, Map<String, dynamic>? metadata}) → NodeGroup
Creates a copy of this group with optional new values.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toJson() → Map<String, dynamic>
Converts this group to JSON.
toString() → String
A string representation of this object.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited