PlannerTextKeys class
Slice 4, Task 7 finding 1: the text fields inside the view keep their keys from a host's bindings above it, in both modes.
Why this exists. Flutter binds the text-editing keys (Backspace,
Delete, the arrows, select all, copy, paste) once, in WidgetsApp, at
the top of the tree, and a key typed into a field bubbles through every
ancestor first. A host's Shortcuts above the view binding Delete,
Backspace or a letter (a point of sale's own keys) would take a key
typed into a panel's field, the Symbols search, a layer's rename, the
TEXT entry, or a host field in a bar or in the inspector.
What it does. It wraps the view in:
- Flutter's
DefaultTextEditingShortcutsagain, nearer than any host binding, so an editing key in a field is the field's (Enter and Space among them: they stop there for the platform's text input); - above it, a key that types a character (no Control or Meta held),
Delete and Backspace, mapped to
DoNothingAndStopPropagationTextIntent: in a field (a read-only one too, whose own editing actions refuse Delete and Backspace) the key stops here and goes to the platform's text input, as ShellShortcutGuard does for the shell's keys. A chord (Control or Meta held) that no field takes still reaches the host.
Elsewhere it is inert. Only a focused EditableText answers those
intents: with the focus on the canvas or on a button no action is found
and the key bubbles up to the host as before. The planner's own
bindings (the shell's and the selection mode's chords, letters and
Escape, ShellShortcutGuard) sit nearer the fields and act as before.
- Inheritance
-
- Object
- DiagnosticableTree
- Widget
- StatelessWidget
- PlannerTextKeys
Constructors
- PlannerTextKeys({Key? key, required Widget child})
-
const
Properties
Methods
-
build(
BuildContext context) → Widget -
Describes the part of the user interface represented by this widget.
override
-
createElement(
) → StatelessElement -
Creates a StatelessElement to manage this widget's 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