knob method

void knob(
  1. KnobDescriptor declaration, {
  2. required KnobReader read,
  3. required KnobWriter write,
})

Declares a read-write value.

declaration's own value is ignored — what crosses the wire is always declaration.withValue(read()), so a knob cannot report a value that has gone stale since it was declared. A feature flag registered by a widget that has since rebuilt is exactly that case.

Implementation

void knob(
  KnobDescriptor declaration, {
  required KnobReader read,
  required KnobWriter write,
}) {
  _knobs[declaration.name] = (declaration, read, write);
  _panels._changed();
}