The Panel control is a container for other controls. With it toolbars may be composed.
ALKMaps. | The Panel control is a container for other controls. |
Properties | |
controls | {Array(ALKMaps.Control)} |
autoActivate | {Boolean} Activate the control when it is added to a map. |
defaultControl | {ALKMaps.Control} The control which is activated when the control is activated (turned on), which also happens at instantiation. |
saveState | {Boolean} If set to true, the active state of this panel’s controls will be stored on panel deactivation, and restored on reactivation. |
allowDepress | {Boolean} If is true the ALKMaps.Control.TYPE_TOOL controls can be deactivated by clicking the icon that represents them. |
activeState | {Object} stores the active state of this panel’s controls. |
Constructor | |
ALKMaps. | Create a new control panel. |
Functions | |
destroy | |
activate | |
deactivate | |
draw | {DOMElement} |
redraw | |
activateControl | This method is called when the user click on the icon representing a control in the panel. |
addControls | To build a toolbar, you add a set of controls to it. |
createControlMarkup | This function just creates a div for the control. |
addControlsToMap | Only for internal use in draw() and addControls() methods. |
iconOn | Internal use, for use only with “controls[i].events.on/un”. |
iconOff | Internal use, for use only with “controls[i].events.on/un”. |
onButtonClick | |
getControlsBy | Get a list of controls with properties matching the given criteria. |
getControlsByName | Get a list of controls with names matching the given name. |
getControlsByClass | Get a list of controls of a given type (CLASS_NAME). |
{Array(ALKMaps.Control)}
{ALKMaps.Control} The control which is activated when the control is activated (turned on), which also happens at instantiation. If saveState is true, defaultControl will be nullified after the first activation of the panel.
{Boolean} If is true the ALKMaps.Control.TYPE_TOOL controls can be deactivated by clicking the icon that represents them. Default is false.
Create a new control panel.
Each control in the panel is represented by an icon. When clicking on an icon, the activateControl method is called.
type | {Number} One of ALKMaps.Control.TYPE_TOOL, ALKMaps.Control.TYPE_TOGGLE, ALKMaps.Control.TYPE_BUTTON. If not provided, ALKMaps.Control.TYPE_TOOL is assumed. |
title | {string} Text displayed when mouse is over the icon that represents the control. |
The ALKMaps.Control.type of a control determines the behavior when clicking its icon: ALKMaps.Control.TYPE_TOOL - The control is activated and other controls of this type in the same panel are deactivated. This is the default type. ALKMaps.Control.TYPE_TOGGLE - The active state of the control is toggled. ALKMaps.Control.TYPE_BUTTON - The ALKMaps.Control.Button.trigger method of the control is called, but its active state is not changed.
If a control is ALKMaps.Control.active, it will be drawn with the olControl[Name]ItemActive class, otherwise with the olControl[Name]ItemInactive class.
options | {Object} An optional object whose properties will be used to extend the control. |
activateControl: function ( control )
This method is called when the user click on the icon representing a control in the panel.
control | {ALKMaps.Control} |
addControls: function( controls )
To build a toolbar, you add a set of controls to it. addControls lets you add a single control or a list of controls to the Control Panel.
controls | {ALKMaps.Control} Controls to add in the panel. |
createControlMarkup: function( control )
This function just creates a div for the control. If specific HTML markup is needed this function can be overridden in specific classes, or at panel instantiation time:
var panel = new ALKMaps.Control.Panel({ defaultControl: control, // override createControlMarkup to create actual buttons // including texts wrapped into span elements. createControlMarkup: function(control) { var button = document.createElement('button'), span = document.createElement('span'); if (control.text) { span.innerHTML = control.text; } return button; } });
control | {ALKMaps.Control} The control to create the HTML markup for. |
{DOMElement} The markup.
addControlsToMap: function ( controls )
Only for internal use in draw() and addControls() methods.
controls | {Array(ALKMaps.Control)} Controls to add into map. |
getControlsBy: function( property, match )
Get a list of controls with properties matching the given criteria.
property | {String} A control property to be matched. |
match | {String | Object} A string to match. Can also be a regular expression literal or object. In addition, it can be any object with a method named test. For regular expressions or other, if match.test(control[property]) evaluates to true, the control will be included in the array returned. If no controls are found, an empty array is returned. |
{Array(ALKMaps.Control)} A list of controls matching the given criteria. An empty array is returned if no matches are found.
getControlsByName: function( match )
Get a list of controls with names matching the given name.
match | {String | Object} A control name. The name can also be a regular expression literal or object. In addition, it can be any object with a method named test. For regular expressions or other, if name.test(control.name) evaluates to true, the control will be included in the list of controls returned. If no controls are found, an empty array is returned. |
{Array(ALKMaps.Control)} A list of controls matching the given name. An empty array is returned if no matches are found.
getControlsByClass: function( match )
Get a list of controls of a given type (CLASS_NAME).
match | {String | Object} A control class name. The type can also be a regular expression literal or object. In addition, it can be any object with a method named test. For regular expressions or other, if type.test(control.CLASS_NAME) evaluates to true, the control will be included in the list of controls returned. If no controls are found, an empty array is returned. |
{Array(ALKMaps.Control)} A list of controls matching the given type. An empty array is returned if no matches are found.
destroy: function()
activate: function()
deactivate: function()
{DOMElement}
draw: function()
redraw: function()
This method is called when the user click on the icon representing a control in the panel.
activateControl: function ( control )
To build a toolbar, you add a set of controls to it.
addControls: function( controls )
This function just creates a div for the control.
createControlMarkup: function( control )
Only for internal use in draw() and addControls() methods.
addControlsToMap: function ( controls )
Internal use, for use only with “controls[i].events.on/un”.
iconOn: function()
Internal use, for use only with “controls[i].events.on/un”.
iconOff: function()
onButtonClick: function ( evt )
Get a list of controls with properties matching the given criteria.
getControlsBy: function( property, match )
Get a list of controls with names matching the given name.
getControlsByName: function( match )
Get a list of controls of a given type (CLASS_NAME).
getControlsByClass: function( match )
Called by a control panel when the button is clicked.
trigger: function()