AffogatoEvents forms the foundation of all communication and interaction in the Affogato Editor.
It is how actions are executed and how state is observed. However, actions are not meant to be performed directly
by adding events to streams in this class. Use the AffogatoAPI, which groups events into specific tasks,
to perform actions safely. As for reading Stream events, while there is no issue with listening to streams from
this class directly, it is preferred that the AffogatoAPI is used for that purpose as well, just because it clearly
delineates different endpoints and for consistency.
The instanceId gives the ID of the instance that was loaded, the
paneId containing that instance, as well as the documentId being handled
by the instance.
This controller provides a method to control the animations and required
show/dismiss operations to interact with the SearchAndReplaceWidget in an intra-file
context (hence the Local prefix).
The LSPClient provides a standardised interface to send messages to an LSP server
and to react to responses received. In order to send notifications, any of the predefined send
methods, prefixed with notify, can be used.
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.
Flutter icons SetiUiIcons
Copyright (C) 2025 by original authors @ fluttericon.com, fontello.com
This font was generated by FlutterIcon.com, which is derived from Fontello.
originId can be any identifier to distinguish between different sources
of a VFSDocumentEvent. Since some components read and write to the same stream,
checking against the originId helps prevent infinite loops of responding to their
own events.
Indicates that a layout change has occurred and descendants of the cell given by
cellId need to be rebuilt. Usually, the new constraints are computed and then
a WindowPaneCellRequestReloadEvent is emitted.
Requests the PaneLayoutCellWidget given by cellId to reload itself and its
descendants. Each pane cell listens to events from this stream that have
their cellId. Once such an event is received, setState is called and that widget will then
emit more such WindowPaneCellRequestReloadEvents, one for each cellId in its immediate children.