Layer class
Layers are how named collections of Parts are drawn in front or behind other collections of Parts in a Diagram. Layers can only contain Parts, such as Nodes and Links. They cannot hold GraphObjects directly.
You put a Part into a Layer by assigning Part#layerName with the name of the Layer. You can use data binding to initialize and remember a Part's layer's name. You can change a Part's layer by modifying its Part#layerName, which changes its Part#layer.
Each Diagram starts off with the following list of Layers: "Grid", "Background", "" (the default layer), "Foreground", "Adornment", "Tool". Parts are normally put in the default layer. The "Grid", "Adornment", and "Tool" layers are considered #isTemporary. Changes to objects in temporary layers are not recorded by the UndoManager. Parts in temporary layers are not selected and are not considered to be part of the document. Objects in temporary layers do not receive click events unless you set their GraphObject#isActionable to true. The "Grid" layer is the furthest back; it also contains "temporary" parts that cannot be selected. Furthermore the "Grid" layer has #pickable set to false so that mouse or touch events and calls to the "find..." methods do not even consider any parts in that layer.
Layers have many properties that control what actions users are permitted to perform involving the parts in the layer. These properties are very much like the similarly named properties on Diagram.
Z-ordering
Layers are drawn and presented in order. You can add your own layers by calling Diagram#addLayerBefore or Diagram#addLayerAfter to insert a new layer at a particular place in the Z-order, or to re-order existing layers. Use Diagram#findLayer to get the Layer with a particular name. Parts can be individually z-ordered within a layer by setting Part#zOrder.
- Available extensions
- Annotations
-
- @JS()
- @staticInterop
Constructors
- Layer([dynamic init])
-
factory
Properties
- allowCopy ↔ bool
-
Available on Layer, provided by the Layer$Typings extension
Gets or sets whether the user may copy objects in this layer. The initial value is true.getter/setter pair - allowDelete ↔ bool
-
Available on Layer, provided by the Layer$Typings extension
Gets or sets whether the user may delete objects in this layer. The initial value is true.getter/setter pair - allowGroup ↔ bool
-
Available on Layer, provided by the Layer$Typings extension
Gets or sets whether the user may group parts together in this layer. The initial value is true.getter/setter pair - allowLink ↔ bool
-
Available on Layer, provided by the Layer$Typings extension
Gets or sets whether the user may draw new links in this layer. The initial value is true.getter/setter pair - allowMove ↔ bool
-
Available on Layer, provided by the Layer$Typings extension
Gets or sets whether the user may move objects in this layer. The initial value is true.getter/setter pair - allowRelink ↔ bool
-
Available on Layer, provided by the Layer$Typings extension
Gets or sets whether the user may reconnect existing links in this layer. The initial value is true.getter/setter pair - allowReshape ↔ bool
-
Available on Layer, provided by the Layer$Typings extension
Gets or sets whether the user may reshape parts in this layer. The initial value is true.getter/setter pair - allowResize ↔ bool
-
Available on Layer, provided by the Layer$Typings extension
Gets or sets whether the user may resize parts in this layer. The initial value is true.getter/setter pair - allowRotate ↔ bool
-
Available on Layer, provided by the Layer$Typings extension
Gets or sets whether the user may rotate parts in this layer. The initial value is true.getter/setter pair - allowSelect ↔ bool
-
Available on Layer, provided by the Layer$Typings extension
Gets or sets whether the user may select objects in this layer. The initial value is true.getter/setter pair - allowTextEdit ↔ bool
-
Available on Layer, provided by the Layer$Typings extension
Gets or sets whether the user may do in-place text editing in this layer. The initial value is true.getter/setter pair - allowUngroup ↔ bool
-
Available on Layer, provided by the Layer$Typings extension
Gets or sets whether the user may ungroup existing groups in this layer. The initial value is true.getter/setter pair - diagram ↔ Diagram?
-
Available on Layer, provided by the Layer$Typings extension
This read-only property returns the Diagram that is using this Layer.getter/setter pair - hashCode → int
-
The hash code for this object.
no setterinherited
- isInDocumentBounds ↔ bool
-
Available on Layer, provided by the Layer$Typings extension
Gets or sets whether or not a layer is included in the documentBounds computation. Default value istrue
. However, setting #isTemporary totrue
also sets this property tofalse
before version 3.getter/setter pair - isTemporary ↔ bool
-
Available on Layer, provided by the Layer$Typings extension
Gets or sets whether the objects in this layer are considered temporary.getter/setter pair - name ↔ String
-
Available on Layer, provided by the Layer$Typings extension
Gets or sets the name for this layer. The initial value is an empty string, which is also the name of the default layer. The name should be unique among the diagram's Diagram#layers.getter/setter pair - opacity ↔ num
-
Available on Layer, provided by the Layer$Typings extension
Gets or sets the opacity for all parts in this layer. The value must be between 0.0 (fully transparent) and 1.0 (no additional transparency). This value is multiplicative with any existing transparency, for instance from a Brush or image transparency. The default value is 1.getter/setter pair -
parts
↔ Iterator<
Part> -
Available on Layer, provided by the Layer$Typings extension
This read-only property returns an iterator for this Layer's Parts. The Parts can be Nodes, Links, Groups, Adornments, or simple Parts.getter/setter pair -
partsBackwards
↔ Iterator<
Part> -
Available on Layer, provided by the Layer$Typings extension
This read-only property returns a backwards iterator for this Layer's Parts, for iterating over the parts in reverse order. The Parts can be Nodes, Links, Groups, Adornments, or simple Parts.getter/setter pair - pickable ↔ bool
-
Available on Layer, provided by the Layer$Typings extension
Gets or sets whether methods such as #findObjectAt find any of the objects in this layer.getter/setter pair - runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- visible ↔ bool
-
Available on Layer, provided by the Layer$Typings extension
Gets or sets whether the user may view any of the objects in this layer.getter/setter pair
Methods
-
findObjectAt<
T extends GraphObject> (Point p, [bool pred(T)?]) → T? -
Available on Layer, provided by the Layer$Typings extension
Find the front-most GraphObject in this layer at the given point in document coordinates. -
findObjectsAt<
T extends GraphObject, S extends Iterable< (T> >Point p, [bool pred(T)?, S? coll]) → S -
Available on Layer, provided by the Layer$Typings extension
Return a collection of the GraphObjects of this layer at the given point in document coordinates. -
findObjectsIn<
T extends GraphObject, S extends Iterable< (T> >Rect r, [bool pred(T)?, bool? partialInclusion, S? coll]) → S -
Available on Layer, provided by the Layer$Typings extension
Returns a collection of all GraphObjects that are inside or that intersect a given Rect in document coordinates. -
findObjectsNear<
T extends GraphObject, S extends Iterable< (T> >Point p, num dist, [bool pred(T)?, Object? partialInclusion, S? coll]) → S -
Available on Layer, provided by the Layer$Typings extension
Returns a collection of all GraphObjects that are within a certain distance of a given point in document coordinates. -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited