ConnectionLabel class

Represents a label that can be positioned on a connection path.

Each label has:

  • text: The label content to display
  • anchor: Position along the path (0.0 = source, 1.0 = target, 0.5 = center)
  • offset: Perpendicular offset from the path (positive = one side, negative = other)
  • id: Optional identifier for programmatic access

All properties are observable for reactive UI updates.

Usage Example

// Using factory constructors (recommended)
final startLabel = ConnectionLabel.start(text: 'Start');
final centerLabel = ConnectionLabel.center(text: 'Processing', offset: 5.0);
final endLabel = ConnectionLabel.end(text: 'Complete');

// Or using the default constructor with explicit anchor
final customLabel = ConnectionLabel(text: 'Custom', anchor: 0.25, offset: -10.0);
Annotations
  • @JsonSerializable.new()

Constructors

ConnectionLabel({required String text, double anchor = ConnectionAnchor.center, double offset = 0.0, String? id})
ConnectionLabel.center({required String text, double offset = 0.0, String? id})
Creates a label positioned at the center of the connection (anchor 0.5).
factory
ConnectionLabel.end({required String text, double offset = 0.0, String? id})
Creates a label positioned at the end of the connection (anchor 1.0).
factory
ConnectionLabel.fromJson(Map<String, dynamic> json)
Creates a ConnectionLabel from JSON
factory
ConnectionLabel.start({required String text, double offset = 0.0, String? id})
Creates a label positioned at the start of the connection (anchor 0.0).
factory

Properties

anchor → double
The position along the connection path (0.0 to 1.0)
no setter
hashCode → int
The hash code for this object.
no setterinherited
id → String
Unique identifier for this label Useful for programmatically finding and updating specific labels
final
offset → double
The perpendicular offset from the connection path
no setter
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
text → String
The text content of the label
no setter

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toJson() → Map<String, dynamic>
Converts this ConnectionLabel to JSON
toString() → String
A string representation of this object.
override
update({String? text, double? anchor, double? offset}) → void
Updates multiple properties at once
updateAnchor(double anchor) → void
Updates the anchor position (0.0 to 1.0)
updateOffset(double offset) → void
Updates the perpendicular offset
updateText(String text) → void
Updates the label text

Operators

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