InspectorPlugin class abstract

Base class for ISpect inspector plugins.

Plugins extend the inspector panel with custom screens accessible via the draggable panel.

Example:

// 1. Define plugin
class DeviceInfoPlugin extends InspectorPlugin {
  @override
  String get id => 'device-info';

  @override
  String get title => 'Device Info';

  @override
  IconData get icon => Icons.phone_android;

  @override
  Widget buildScreen(BuildContext context) => const DeviceInfoScreen();
}

// 2. Register
ISpectBuilder.wrap(
  options: ISpectOptions(
    plugins: [DeviceInfoPlugin()],
  ),
  child: MyApp(),
)

Constructors

InspectorPlugin()
const

Properties

description → String?
Optional description shown on long-press of the panel item.
no setter
enableBadge → bool
Whether to show a badge indicator on the panel item. Override to provide dynamic badge state.
no setter
hashCode → int
The hash code for this object.
no setterinherited
icon → IconData
Icon shown in the draggable panel.
no setter
id → String
Unique identifier for this plugin. Used for deduplication and settings persistence.
no setter
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
title → String
Human-readable title shown in panel tooltip and screen app bar.
no setter

Methods

buildScreen(BuildContext context) → Widget
Build the full-screen widget for this plugin. Called when the user taps the plugin's panel item.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
onDispose() → void
Called when ISpectBuilder disposes. Use for cleanup (cancel subscriptions, release resources).
onInit() → void
Called once when ISpectBuilder initializes. Use for one-time setup (register listeners, load data).
toString() → String
A string representation of this object.
inherited

Operators

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