discontinuedPackage jet_cad_floor_plan has been discontinued and replaced by jet_cad_2d_plan.

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 DefaultTextEditingShortcuts again, 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

Constructors

PlannerTextKeys({Key? key, required Widget child})
const

Properties

child → Widget
final
hashCode → int
The hash code for this object.
no setterinherited
key → Key?
Controls how one widget replaces another widget in the tree.
finalinherited
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited

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