mapSurfer — javascript-интерфейс — кнопки управления

Виджет кнопки управления. От этого класса наследуются классы всех кнопок управления.

Объект с опциями, который можно передавать при создании экземпляра класса:

options: {
	first - boolean, элемент должен быть первым в панели
	last - boolean, элемент должен быть последним панели
	bindClick - boolean, слушать ли событие клика по кнопке сразу при создании виджета
}

Объект с опциями, который необходимо определить внутри виджета, который наследуется от GP.Widget.DirectButton.

mainOptions:{
	buttonId: "",
	title: "",
	image: "",
	bindClick: true    - boolean, слушать ли событие клика по кнопке сразу при создании виджета. Значение по умолчанию.
}

Методы

Метод Описание
_activateControl() Активирование контрола.
_disableControl() Деактивирование контрола.

Виджет кнопки «Измерить расстояние».

Объект mainOptions, описанный в виджете

options: {
mainOptions: {
	popups: true,
	buttonId: "distanceButton",
	title: "Измерить расстояние",
	image: GP.imagesPath + "/icons/distance.png",
	bindClick: true
}

Методы

Метод Описание
getLine() Возвращает линию маршрута.

События

Событие Описание
«control:distance:enable» Виджет измерение дистанции включен.
«control:distance:disable» Виджет измерение дистанции выключен.

Виджет кнопки «Список объектов области».

Объект mainOptions, описанный в виджете

mainOptions: {
	buttonId: "featureBBoxButton",
	title: "Список объектов области",
	image: GP.imagesPath + "/icons/bbox-search.png",
	bindClick: true
}

Методы

Метод Описание
requestData() Возвращает список объектов области.

События

Событие Описание
«control:featureBBox:enable» Виджет «Список объектов области» включен.

Виджет кнопки «Фиксированная ссылка».

Объект mainOptions, описанный в виджете

mainOptions: {
	popups: true,
	buttonId: "fixedLinkButton",
	title: "Фиксированная ссылка",
	image: GP.imagesPath + "/icons/fixedLink.png",
	bindClick: true
}

Виджет кнопки «Печать карты».

Объект mainOptions, описанный в виджете

mainOptions: {
	buttonId: "print",
	title: "Печать карты",
	image: GP.imagesPath + "/icons/print.png",
	bindClick: true
}

Виджет кнопки «Отчеты».

Объект mainOptions, описанный в виджете

mainOptions: {
        buttonId: "reportsButton",
        title: "Отчеты",
        image: GP.imagesPath + "/icons/report.png",
        bindClick: false
}

Методы

Метод Описание
destroy() Отключает контрол.

Виджет контрола управления приближения карты.

Методы

Метод Описание
draw() Отрисовка контрола.

События

Событие Описание
«handClick» Событие срабатывает при нажатии на иконку руки.

Пример класса кнопки управления для модуля.

В данном классе описан контролл, который включает/выключает определенный слой

GP.Module.Widget.MyControlButton = GP.Widget.DirectButton.extend({
    mainOptions:{
        buttonId: "MyControl",                    
        title: "Кнопка управления",                              
        image: "/public/modules/myModule/images/controlIcon.png", 
        bindClick: true   
                        
    },
   _createWidget: function(){	
        GP.Widget.DirectButton.prototype._createWidget.call(this);	
        this._layer = this.options.layer; 
        this._active = false;
   },

   _activateControl: function(){ 
		if(!this._layer)
			return;
		GP.Widget.DirectButton.prototype._activateControl.call(this);	
        if (this._active){		
            this._disableControl();		
        } else {
            /* активация действия кнопки  */
            this._active = true;
            GP.mainMap.map.addLayer(this._layer);            
        }
    },

    _disableControl: function(){     
        GP.Widget.DirectButton.prototype._disableControl.call(this);
        /* деактивация действия кнопки */
        this._active = false;
        if (this._layer != null) {
            GP.mainMap.map.removeLayer(this._layer);
        }       
    },

    destroy: function() {
        this._disableControl(); 
		this._element.remove();
    }
});

		
// наследование от GP.Widget.DirectButton

// id кнопки
// заголовок кнопки
// картинка кнопки
// if false, то функция _activateControl
// не будет автоматически выполняться при клике на кнопку.

// конструктор
// вызов конструктора родителя




//активация контрола


// вызов активации родителя
// если контрол активен
// выключить







// деактивация  









// выключение контрола
// удаление контрола

Добавление контрола.

 GP.widgets.actions.add("myControlButton", new GP.Module.Widget.MyControlButton()); 
		

Удаление контрола.

if(typeof GP.widgets.actions != 'undefined' && GP.widgets.actions.containsKey("myControlButton")) {
	GP.widgets.actions.get("myControlButton").destroy();	
	GP.widgets.actions.removeByKey("myControlButton");		
}
		

// очистка контрола
// удаление