Материал из 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 мс
 };


Имена новых виджетов не должны повторяться.