LogoSignals.dart
Copy Markdown
rodydavis/signals.dart 999999

SignalsDevToolsExtension

The main widget of the Signals DevTools Extension.

The main widget of the Signals DevTools Extension.

Wraps the SignalsExtensionHomePage inside a DevToolsExtension container supplied by the devtools_extensions package. This allows it to:

  • Connect securely to the Dart VM Service.
  • Retrieve the application context and themes from DevTools.
  • Render custom debugging tabs directly as a pane in Flutter DevTools.

UI Elements#

The UI is structured into two main diagnostic views:

  1. Updates Feed:

    • Displays a live, chronological stream of all signal value updates, computed evaluations, and effect executions.
    • Includes previous and new values, timestamps, and active pause/resume capabilities to let developers snapshot reactions.
  2. Dependency Graph:

    • An interactive dependency visualizer powered by GraphView.
    • Shows the relationship and flow of reactive nodes: Signals (sources) -> Computeds (intermediates) -> Effects (sinks).
    • Hovering or clicking on a node highlights its dependencies and current value.
This panel leverages service extensions registered by signals_core in debug mode. It tracks creation, updates, and removal of nodes dynamically using standard event streams.

Constructors#

View Constructors
SignalsDevToolsExtension({super.key})

Methods#

View Methods
Widget build(BuildContext context)

$Node#

Constructors#

View Constructors
$Node({required this.id, required this.type, this.label, this.value, this.sources, this.targets})
$Node.fromJson(Map<String, dynamic> item)

Properties#

View Properties
int id
String type
String? label
String? value
String? sources
String? targets

Methods#

View Methods
String toString()

BackgroundGrid#

Constructors#

View Constructors
BackgroundGrid({super.key, required this.backgroundColor, required this.foregroundColor})

Properties#

View Properties
Color backgroundColor
Color foregroundColor

Methods#

View Methods
Widget build(BuildContext context)

NodeGraph#

Constructors#

View Constructors
NodeGraph({super.key})

Methods#

View Methods
State<NodeGraph> createState()

NodesTable#

Constructors#

View Constructors
NodesTable({super.key})

Methods#

View Methods
Widget build(BuildContext context)

NodeView#

Constructors#

View Constructors
NodeView({required this.nodeId, super.key})

Properties#

View Properties
int nodeId

Methods#

View Methods
Widget build(BuildContext context)

SignalsExtensionHomePage#

Constructors#

View Constructors
SignalsExtensionHomePage({super.key})

Methods#

View Methods
State<SignalsExtensionHomePage> createState()

SignalUpdate#

Constructors#

View Constructors
SignalUpdate({required this.type, required this.signalType, required this.signalName, required this.signalId, this.prevValue, this.newValue, required this.timestamp, this.depth = 0})

Properties#

View Properties
String type
String signalType
String signalName
int signalId
String? prevValue
String? newValue
DateTime timestamp
int depth

UpdatesView#

Constructors#

View Constructors
UpdatesView({super.key})

Methods#

View Methods
Widget build(BuildContext context)