blob: 60a009734275f41c809f17c58a27abb415e9724c [file] [log] [blame]
// Copyright 2014 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
/// Service extension constants for the widgets library.
///
/// These constants will be used when registering service extensions in the
/// framework, and they will also be used by tools and services that call these
/// service extensions.
///
/// The String value for each of these extension names should be accessed by
/// calling the `.name` property on the enum value.
enum WidgetsServiceExtensions {
/// Name of service extension that, when called, will output a string
/// representation of this app's widget tree to console.
///
/// See also:
///
/// * [WidgetsBinding.initServiceExtensions], where the service extension is
/// registered.
debugDumpApp,
/// Name of service extension that, when called, will overlay a performance
/// graph on top of this app.
///
/// See also:
///
/// * [WidgetsApp.showPerformanceOverlayOverride], which is the flag
/// that this service extension exposes.
/// * [WidgetsBinding.initServiceExtensions], where the service extension is
/// registered.
showPerformanceOverlay,
/// Name of service extension that, when called, will return whether the first
/// 'Flutter.Frame' event has been reported on the Extension stream.
///
/// See also:
///
/// * [WidgetsBinding.initServiceExtensions], where the service extension is
/// registered.
didSendFirstFrameEvent,
/// Name of service extension that, when called, will return whether the first
/// frame has been rasterized and the trace event 'Rasterized first useful
/// frame' has been sent out.
///
/// See also:
///
/// * [WidgetsBinding.initServiceExtensions], where the service extension is
/// registered.
didSendFirstFrameRasterizedEvent,
/// Name of service extension that, when called, will reassemble the
/// application.
///
/// See also:
///
/// * [WidgetsBinding.initServiceExtensions], where the service extension is
/// registered.
fastReassemble,
/// Name of service extension that, when called, will change the value of
/// [debugProfileBuildsEnabled], which adds [Timeline] events for every widget
/// built.
///
/// See also:
///
/// * [debugProfileBuildsEnabled], which is the flag that this service extension
/// exposes.
/// * [WidgetsBinding.initServiceExtensions], where the service extension is
/// registered.
profileWidgetBuilds,
/// Name of service extension that, when called, will change the value of
/// [debugProfileBuildsEnabledUserWidgets], which adds [Timeline] events for
/// every user-created widget built.
///
/// See also:
/// * [debugProfileBuildsEnabledUserWidgets], which is the flag that this
/// service extension exposes.
/// * [WidgetsBinding.initServiceExtensions], where the service extension is
/// registered.
profileUserWidgetBuilds,
/// Name of service extension that, when called, will change the value of
/// [WidgetsApp.debugAllowBannerOverride], which controls the visibility of the
/// debug banner for debug mode apps.
///
/// See also:
///
/// * [WidgetsApp.debugAllowBannerOverride], which is the flag that this service
/// extension exposes.
/// * [WidgetsBinding.initServiceExtensions], where the service extension is
/// registered.
debugAllowBanner,
}
/// Service extension constants for the Widget Inspector.
///
/// These constants will be used when registering service extensions in the
/// framework, and they will also be used by tools and services that call these
/// service extensions.
///
/// The String value for each of these extension names should be accessed by
/// calling the `.name` property on the enum value.
enum WidgetInspectorServiceExtensions {
/// Name of service extension that, when called, will determine whether
/// [FlutterError] messages will be presented using a structured format.
///
/// See also:
///
/// * [WidgetInspectorService.initServiceExtensions], where the service
/// extension is registered.
/// * [WidgetInspectorService._reportStructuredError], which is the error
/// reporter that will be used when this service extension is enabled.
structuredErrors,
/// Name of service extension that, when called, will change the value of
/// [WidgetsApp.debugShowWidgetInspectorOverride], which controls whether the
/// on-device widget inspector is visible.
///
/// See also:
/// * [WidgetsApp.debugShowWidgetInspectorOverride], which is the flag that
/// this service extension exposes.
/// * [WidgetInspectorService.initServiceExtensions], where the service
/// extension is registered.
show,
/// Name of service extension that, when called, changes the value of
/// [WidgetInspectorService._trackRebuildDirtyWidgets], which determines
/// whether a callback is invoked for every dirty [Widget] built each frame.
///
/// This service extension is only supported if
/// [WidgetInspectorService._widgetCreationTracked] is true.
///
/// See also:
///
/// * [debugOnRebuildDirtyWidget], which is the nullable callback that is
/// called for every dirty widget built per frame
/// * [WidgetInspectorService._onRebuildWidget], which is the callback we
/// assign to [debugOnRebuildDirtyWidget] when this service extension is set
/// to true.
/// * [WidgetInspectorService.initServiceExtensions], where the service
/// extension is registered.
trackRebuildDirtyWidgets,
/// Name of service extension that, when called, changes the value of
/// [WidgetInspectorService._trackRepaintWidgets], which determines whether
/// a callback is invoked for every [RenderObject] painted each frame.
///
/// This service extension is only supported if
/// [WidgetInspectorService._widgetCreationTracked] is true.
///
/// See also:
///
/// * [debugOnProfilePaint], which is the nullable callback that is called for
/// every dirty widget built per frame
/// * [WidgetInspectorService._onPaint], which is the callback we
/// assign to [debugOnRebuildDirtyWidget] when this service extension is set
/// to true.
/// * [WidgetInspectorService.initServiceExtensions], where the service
/// extension is registered.
trackRepaintWidgets,
/// Name of service extension that, when called, will clear all
/// [WidgetInspectorService] object references in all groups.
///
/// See also:
///
/// * [WidgetInspectorService.disposeAllGroups], the method that this service
/// extension calls.
/// * [WidgetInspectorService.initServiceExtensions], where the service
/// extension is registered.
disposeAllGroups,
/// Name of service extension that, when called, will clear all
/// [WidgetInspectorService] object references in a group.
///
/// See also:
///
/// * [WidgetInspectorService.disposeGroup], the method that this service
/// extension calls.
/// * [WidgetInspectorService.initServiceExtensions], where the service
/// extension is registered.
disposeGroup,
/// Name of service extension that, when called, returns whether it is
/// appropriate to display the Widget tree in the inspector, which is only
/// true after the application has rendered its first frame.
///
/// See also:
///
/// * [WidgetInspectorService.isWidgetTreeReady], the method that this service
/// extension calls.
/// * [WidgetsBinding.debugDidSendFirstFrameEvent], which stores the
/// value of whether the first frame has been rendered.
/// * [WidgetInspectorService.initServiceExtensions], where the service
/// extension is registered.
isWidgetTreeReady,
/// Name of service extension that, when called, will remove the object with
/// the specified `id` from the specified object group.
///
/// See also:
///
/// * [WidgetInspectorService.disposeId], the method that this service
/// extension calls.
/// * [WidgetInspectorService.initServiceExtensions], where the service
/// extension is registered.
disposeId,
/// Name of service extension that, when called, will set the list of
/// directories that should be considered part of the local project for the
/// Widget inspector summary tree.
///
/// See also:
///
/// * [WidgetInspectorService.addPubRootDirectories], which should be used in
/// place of this method to add directories.
/// * [WidgetInspectorService.removePubRootDirectories], which should be used
/// in place of this method to remove directories.
/// * [WidgetInspectorService.initServiceExtensions], where the service
/// extension is registered.
@Deprecated(
'Use addPubRootDirectories instead. '
'This feature was deprecated after v3.1.0-9.0.pre.',
)
setPubRootDirectories,
/// Name of service extension that, when called, will add a list of
/// directories that should be considered part of the local project for the
/// Widget inspector summary tree.
///
/// See also:
///
/// * [WidgetInspectorService.addPubRootDirectories], the method that this
/// service extension calls.
/// * [WidgetInspectorService.removePubRootDirectories], which should be used
/// to remove directories.
/// * [WidgetInspectorService.initServiceExtensions], where the service
/// extension is registered.
addPubRootDirectories,
/// Name of service extension that, when called, will remove a list of
/// directories that should no longer be considered part of the local project
/// for the Widget inspector summary tree.
///
/// See also:
///
/// * [WidgetInspectorService.removePubRootDirectories], the method that this
/// service extension calls.
/// * [WidgetInspectorService.addPubRootDirectories], which should be used
/// to add directories.
/// * [WidgetInspectorService.initServiceExtensions], where the service
/// extension is registered.
removePubRootDirectories,
/// Name of service extension that, when called, will set the
/// [WidgetInspector] selection to the object matching the specified id and
/// will return whether the selection was changed.
///
/// See also:
///
/// * [WidgetInspectorService.setSelectionById], the method that this service
/// extension calls.
/// * [WidgetInspectorService.initServiceExtensions], where the service
/// extension is registered.
setSelectionById,
/// Name of service extension that, when called, will retrieve the chain of
/// [DiagnosticsNode] instances form the root of the tree to the [Element] or
/// [RenderObject] matching the specified id, passed as an argument.
///
/// See also:
///
/// * [WidgetInspectorService._getParentChain], the method that this service
/// extension calls.
/// * [WidgetInspectorService.getParentChain], which returns a json encoded
/// String representation of this data.
/// * [WidgetInspectorService.initServiceExtensions], where the service
/// extension is registered.
getParentChain,
/// Name of service extension that, when called, will return the properties
/// for the [DiagnosticsNode] object matching the specified id, passed as an
/// argument.
///
/// See also:
///
/// * [WidgetInspectorService._getProperties], the method that this service
/// extension calls.
/// * [WidgetInspectorService.getProperties], which returns a json encoded
/// String representation of this data.
/// * [WidgetInspectorService.initServiceExtensions], where the service
/// extension is registered.
getProperties,
/// Name of service extension that, when called, will return the children
/// for the [DiagnosticsNode] object matching the specified id, passed as an
/// argument.
///
/// See also:
///
/// * [WidgetInspectorService._getChildren], the method that this service
/// extension calls.
/// * [WidgetInspectorService.getChildren], which returns a json encoded
/// String representation of this data.
/// * [WidgetInspectorService.initServiceExtensions], where the service
/// extension is registered.
getChildren,
/// Name of service extension that, when called, will return the children
/// created by user code for the [DiagnosticsNode] object matching the
/// specified id, passed as an argument.
///
/// See also:
///
/// * [WidgetInspectorService._getChildrenSummaryTree], the method that this
/// service extension calls.
/// * [WidgetInspectorService.getChildrenSummaryTree], which returns a json
/// encoded String representation of this data.
/// * [WidgetInspectorService.initServiceExtensions], where the service
/// extension is registered.
getChildrenSummaryTree,
/// Name of service extension that, when called, will return all children and
/// their properties for the [DiagnosticsNode] object matching the specified
/// id, passed as an argument.
///
/// See also:
///
/// * [WidgetInspectorService._getChildrenDetailsSubtree], the method that
/// this service extension calls.
/// * [WidgetInspectorService.getChildrenDetailsSubtree], which returns a json
/// encoded String representation of this data.
/// * [WidgetInspectorService.initServiceExtensions], where the service
/// extension is registered.
getChildrenDetailsSubtree,
/// Name of service extension that, when called, will return the
/// [DiagnosticsNode] data for the root [Element].
///
/// See also:
///
/// * [WidgetInspectorService._getRootWidget], the method that this service
/// extension calls.
/// * [WidgetInspectorService.getRootWidget], which returns a json encoded
/// String representation of this data.
/// * [WidgetInspectorService.initServiceExtensions], where the service
/// extension is registered.
getRootWidget,
/// Name of service extension that, when called, will return the
/// [DiagnosticsNode] data for the root [RenderObject].
///
/// See also:
///
/// * [WidgetInspectorService._getRootRenderObject], the method that this
/// service extension calls.
/// * [WidgetInspectorService.getRootRenderObject], which returns a json
/// encoded String representation of this data.
/// * [WidgetInspectorService.initServiceExtensions], where the service
/// extension is registered.
getRootRenderObject,
/// Name of service extension that, when called, will return the
/// [DiagnosticsNode] data for the root [Element] of the summary tree, which
/// only includes [Element]s that were created by user code.
///
/// See also:
///
/// * [WidgetInspectorService._getRootWidgetSummaryTree], the method that this
/// service extension calls.
/// * [WidgetInspectorService.getRootWidgetSummaryTree], which returns a json
/// encoded String representation of this data.
/// * [WidgetInspectorService.initServiceExtensions], where the service
/// extension is registered.
getRootWidgetSummaryTree,
/// Name of service extension that, when called, will return the details
/// subtree, which includes properties, rooted at the [DiagnosticsNode] object
/// matching the specified id and the having a size matching the specified
/// subtree depth, both passed as arguments.
///
/// See also:
///
/// * [WidgetInspectorService.getDetailsSubtree], the method that this service
/// extension calls.
/// * [WidgetInspectorService.getDetailsSubtree], which returns a json
/// encoded String representation of this data.
/// * [WidgetInspectorService.initServiceExtensions], where the service
/// extension is registered.
getDetailsSubtree,
/// Name of service extension that, when called, will return the
/// [DiagnosticsNode] data for the currently selected [RenderObject].
///
/// See also:
///
/// * [WidgetInspectorService._getSelectedRenderObject], the method that this
/// service extension calls.
/// * [WidgetInspectorService.getSelectedRenderObject], which returns a json
/// encoded String representation of this data.
/// * [WidgetInspectorService.initServiceExtensions], where the service
/// extension is registered.
getSelectedRenderObject,
/// Name of service extension that, when called, will return the
/// [DiagnosticsNode] data for the currently selected [Element].
///
/// See also:
///
/// * [WidgetInspectorService._getSelectedWidget], the method that this
/// service extension calls.
/// * [WidgetInspectorService.getSelectedWidget], which returns a json
/// encoded String representation of this data.
/// * [WidgetInspectorService.initServiceExtensions], where the service
/// extension is registered.
getSelectedWidget,
/// Name of service extension that, when called, will return the
/// [DiagnosticsNode] data for the currently selected [Element] in the summary
/// tree, which only includes [Element]s created in user code.
///
/// If the selected [Element] does not exist in the summary tree, the first
/// ancestor in the summary tree for the currently selected [Element] will be
/// returned.
///
/// See also:
///
/// * [WidgetInspectorService._getSelectedSummaryWidget], the method that this
/// service extension calls.
/// * [WidgetInspectorService.getSelectedSummaryWidget], which returns a json
/// encoded String representation of this data.
/// * [WidgetInspectorService.initServiceExtensions], where the service
/// extension is registered.
getSelectedSummaryWidget,
/// Name of service extension that, when called, will return whether [Widget]
/// creation locations are available.
///
/// See also:
///
/// * [WidgetInspectorService.isWidgetCreationTracked], the method that this
/// service extension calls.
/// * [WidgetInspectorService.initServiceExtensions], where the service
/// extension is registered.
isWidgetCreationTracked,
/// Name of service extension that, when called, will return a base64 encoded
/// image of the [RenderObject] or [Element] matching the specified 'id`,
/// passed as an argument, and sized at the specified 'width' and 'height'
/// values, also passed as arguments.
///
/// See also:
///
/// * [WidgetInspectorService.screenshot], the method that this service
/// extension calls.
/// * [WidgetInspectorService.initServiceExtensions], where the service
/// extension is registered.
screenshot,
}