ControlsPane class
The container class for MapControls. There's exactly one ControlsPane in a MapViewport.
class ControlsPane {
MapViewport _viewport;
DivElement _root;
final List<MapControl> controls = [];
ControlsPane() {
_root = new Element.tag("div");
}
/// the root DOM element for this control
DivElement get root => _root;
/// Detach this pane from the map viewport.
void detach() {
_viewport = null;
}
/// Attach this control pane to the [viewport]. [viewport]
/// must not be null.
void attach(MapViewport viewport) {
_require(viewport != null, "viewport must not be null");
_viewport = viewport;
_root.style
..width = "100%"
..height = "100%"
..position = "absolute"
..top = "0px"
..left = "0px";
// Don't add the _container to the viewport container,
// the map viewport takes care of this
}
/// layout the contronls pane
void layout() {
controls.forEach((c) => c.layout());
}
}
Constructors
new ControlsPane() #
ControlsPane() {
_root = new Element.tag("div");
}
Properties
final List<MapControl> controls #
final List<MapControl> controls = []
final DivElement root #
the root DOM element for this control
DivElement get root => _root;
Methods
void attach(MapViewport viewport) #
Attach this control pane to the viewport. viewport must not be null.
void attach(MapViewport viewport) {
_require(viewport != null, "viewport must not be null");
_viewport = viewport;
_root.style
..width = "100%"
..height = "100%"
..position = "absolute"
..top = "0px"
..left = "0px";
// Don't add the _container to the viewport container,
// the map viewport takes care of this
}
void detach() #
Detach this pane from the map viewport.
void detach() {
_viewport = null;
}
void layout() #
layout the contronls pane
void layout() {
controls.forEach((c) => c.layout());
}