PaneInstance<T extends PaneInstanceData> class abstract

A widget that is to be placed inside an EditorPane needs to subclass this class. Note that this widget will only rebuild when any of the five properties, instanceId, editorTheme, workspaceConfigs, extensionsEngine, or width change, and never otherwise. In order to force a rebuild, define listeners on the various streams of AffogatoEvents in the the associated State object's State.initState, and call State.setState from there.

Subclasses should also refrain from defining additional parameters in their constructors and then accessing them via State.widget. These parameters should be extracted out into a separate PaneInstanceData class. Ideally, subclasses can be instantiated without any class-specific arguments having to be passed, and they will then obtain their data through the AffogatoWorkspaceConfigs.instancesData during the State.initState. This is achieved by mixing in the PaneInstanceStateManager on State objects for PaneInstances. The instantiator is responsible for ensuring that an entry for the given instanceId exists in the workspace configs.

Inheritance
Implementers

Constructors

PaneInstance({required AffogatoAPI api, required AffogatoExtensionsEngine extensionsEngine, required String paneId, required String instanceId, required LayoutConfigs layoutConfigs})

Properties

api AffogatoAPI
final
extensionsEngine AffogatoExtensionsEngine
final
hashCode int
The hash code for this object.
no setterinherited
instanceId String
final
key Key?
Controls how one widget replaces another widget in the tree.
finalinherited
layoutConfigs LayoutConfigs
final
paneId String
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

createElement() StatefulElement
Creates a StatefulElement to manage this widget's location in the tree.
inherited
createState() State<StatefulWidget>
Creates the mutable state for this widget at a given location in the tree.
inherited
debugDescribeChildren() List<DiagnosticsNode>
Returns a list of DiagnosticsNode objects describing this node's children.
inherited
debugFillProperties(DiagnosticPropertiesBuilder properties) → void
Add additional properties associated with the node.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toDiagnosticsNode({String? name, DiagnosticsTreeStyle? style}) DiagnosticsNode
Returns a debug representation of the object that is used by debugging tools and by DiagnosticsNode.toStringDeep.
inherited
toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) String
A string representation of this object.
inherited
toStringDeep({String prefixLineOne = '', String? prefixOtherLines, DiagnosticLevel minLevel = DiagnosticLevel.debug, int wrapWidth = 65}) String
Returns a string representation of this node and its descendants.
inherited
toStringShallow({String joiner = ', ', DiagnosticLevel minLevel = DiagnosticLevel.debug}) String
Returns a one-line detailed description of the object.
inherited
toStringShort() String
A short, textual description of this widget.
inherited

Operators

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