PlannerView class
The rulers around the drawing area: a RulerFrame whose child is a
CameraGestureDetector over the page chrome, the DraftCanvas and the
selection overlay, with -- since 05 -- the text tool's inline field
painted above it. Without rulers (the selection mode) the drawing area
stands alone.
Tiles off, backend unset (spec D6): a floor plan is 500-5,000
entities, and the resident backend cannot run on web, which this product
targets. Neither is a default a later sub-project may flip without a
measurement.
- Inheritance
-
- Object
- DiagnosticableTree
- Widget
- StatefulWidget
- PlannerView
Constructors
- PlannerView({Key? key, required DraftDocument document, required SpatialIndex index, required StyleResolver resolver, required CameraController camera, required PageNotifier page, required GesturePolicy policy, required SelectionController selection, required ToolController tools, required OutlineCache outlines, required ChromePalette chrome, required PaperPalette paper, double selectionStrokePixels = kSelectionStrokePixels, int? sheetArgb, GripCache? grips, TextTool? textTool, Listenable? fitRequests, bool fitOnStart = true, bool startFitIsRequest = false, VoidCallback? onFitted, ViewportTransform? framing(Size size)?, Widget? underlay, Widget? overlay, Widget? tableOverlays, bool rulers = true, bool grid = true, int cameraEpoch()?, bool userCamera = true, void onCanvasPlaced(Object view, Rect? global)?, bool autofocus = true})
-
const
Properties
- autofocus → bool
-
Whether the canvas takes the focus when it is mounted (host embedding
API spec C-7, S-21), handed to its
InteractionLayer. A press on the canvas asks for the focus either way; a focused Material text field keeps it from the canvas on that press unless itsonTapOutsidelets go (FloorPlanView.autofocus).final - camera → CameraController
-
final
- cameraEpoch → int Function()?
-
The host's camera epoch (host embedding API spec G-3): a fit captures
it when it becomes due -- when it is scheduled, or, for the fit a view
with no size yet owes, when the view is created or the request is
heard (Task 2 review R-2) -- and is dropped when it has moved by the
end of the frame, so a camera command made after a fit request wins.
Null performs every fit, as before.
final
- chrome → ChromePalette
-
The rulers' and the sheet edge's colours, from the host's theme (dark
theme spec D2, D5): the shell and the service view compute it in
build, so a theme switch hands a new one down.final - document → DraftDocument
-
final
- fitOnStart → bool
-
Whether the camera is fitted after the first frame (Ruling 01-2).
False when the host hands over a camera it already placed: a mode
switch keeps the pan and zoom (spec 14b-2 R-13).
final
- fitRequests → Listenable?
-
Each notification refits the camera as the first frame did, at the
drawing area's last size (spec 14b-2 H8,
fitToView).final - framing → ViewportTransform? Function(Size size)?
-
The camera a fit sets at the drawing area's size, asked when the fit
is performed (zone spec Z7); null from it, or no framing, fits the
page as before.
final
- grid → bool
-
The page's grid; false in the selection mode. The sheet stays.
final
- grips → GripCache?
-
The selection's grips. A member of the overlay's repaint merge; null
where no grips show (the selection mode, spec 14b-2 H7).
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- index → SpatialIndex
-
final
- key → Key?
-
Controls how one widget replaces another widget in the tree.
finalinherited
- onCanvasPlaced → void Function(Object view, Rect? global)?
-
Told, after every frame in which it moved or was resized, where the
drawing area is in global coordinates (spec G-2), with this view's
state as the reporter; told null once when the view is disposed, or
when it is replaced by another reporter (Task 2 review R-8). The
first report follows the view's first fit when it owes one (review
R-3), so a reporter that moves the camera on it acts on the fitted
camera. Null reports nothing.
final
- onFitted → VoidCallback?
-
Called after each fit this view performs (review F-2).
final
- outlines → OutlineCache
-
Owned by the shell since 03 (spec D6).
final
- overlay → Widget?
-
Painted above the drafting and below the selection overlay
(table-groups spec G3, F-11): the selection mode's group label chips,
which a chair's lines must not paint over. Null draws nothing there.
final
- page → PageNotifier
-
final
- paper → PaperPalette
-
The colours of everything drawn on the paper -- the grid, the page
breaks, the selection and the tools' overlays -- picked by the paper
(dark theme spec D3, D4): the page's background, or the theme's
surface with no page.
final
- policy → GesturePolicy
-
final
- resolver → StyleResolver
-
Owned by the shell, and replaced only when the paper's foreground
changes:
DraftCanvasrebuilds its painter when handed a different resolver (fix/post-07).final - rulers → bool
-
The rulers around the drawing area; false in the selection mode,
which shows the plan, not the drafting aids.
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- selection → SelectionController
-
final
- selectionStrokePixels → double
-
The selected outline's stroke in screen pixels (host embedding API
spec T-1's
selectionWidth), handed to the selection overlay;kSelectionStrokePixelsby default.final - sheetArgb → int?
-
The sheet's fill when the canvas shows a paper other than the page's
(
kDarkCanvasPaperon a dark canvas, decision note K2); null fills it with the page's background.final - startFitIsRequest → bool
-
Whether the fit on start (fitOnStart) performs only a host's
request, which a camera command made before it drops (spec G-3);
false for a plan's own first fit, which no command cancels (Task 2
review R-1), nor a request merged into it, whose target the command
clears.
final
- tableOverlays → Widget?
-
Painted above everything else on the canvas, the selection overlay
included, and inside the canvas's input listeners, clipped to the
canvas (host embedding API spec G-5): the host's widgets on the
tables. Null draws nothing there.
final
- textTool → TextTool?
-
The shell's text tool, whose inline field sits over the canvas
(spec 05 D9); null where there is none (the selection mode).
final
- tools → ToolController
-
final
- underlay → Widget?
-
Painted between the page chrome and the drafting (spec 14c S7): the
selection mode's status fills, under the lines.
final
- userCamera → bool
-
Whether the user's pan, pinch and wheel zoom move the camera (spec
G-3): false builds no
CameraGestureDetector. Fits and the host's commands still act.final
Methods
-
createElement(
) → StatefulElement -
Creates a StatefulElement to manage this widget's location in the tree.
inherited
-
createState(
) → State< PlannerView> -
Creates the mutable state for this widget at a given location in the tree.
override
-
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