Материал из Module developer
// Обращаемся к виджету который собираемся скопировать
module = B.getModule(moduleID)
var popup = module.GetPopup("Dimmer");
for (var i = 1; i<=3; i++)
{ // Создаем виджет методом клонирования
var widget = NewSubDevice.addWidget(Module.ClonePopup(popup, "Dimmer"+ i));
}Для диммера добавим функцию, которая позволяет двигать слайдер:
// пользовательский слайдер для уровня
function UserSlider(Level, Slider)
{
Property = "X";
Len = "Width";
// Функция вычисления позиции слайдера относительно уровня
function Move(){
Slider[Property] = Level.Value * (Level[Len] -50) / 100;
}
// Подписка на события
module.AddListener(IR.EVENT_ITEM_PRESS, Level, Move); // нажатие на уровень
module.AddListener(IR.EVENT_MOUSE_MOVE, Level, Move); // движение мыши по уровню
module.AddListener(IR.EVENT_TOUCH_MOVE, Level, Move); // движение пальца по уровню
module.SetInterval(600, Move); // автообновление через 600 мс
};Имена новых виджетов не должны повторяться.
