2012-03-07 2 views
0

I, используя следующим:Qooxdoo Несколько кнопок сэкономят ID

var list = []; 
    lin = new gui.AWindow(); 

    Len = list.length;     
    lin.add(Len+1); 
    list[Len] = "close button"; 

несколько раз, чтобы генерировать новые строки кнопок в окне. Я хочу, чтобы обработчики событий были нажаты, чтобы указать номер строки.

qx.Class.define("gui.AWindow", 
{ 
    extend : qx.ui.window.Window, 
    events : 
     { 
     "execute" : "qx.event.type.Data" 
     }, 
    members : 
    { 
     add : function() 
{ 
      closeButton = new qx.ui.toolbar.Button("CLOSE"); 

      lin.add(closeButton,{row: Pos+1, column: 0}); 

      closeButton.addListener("execute", function(e) 
       { 
         this.debug(e.getData()); 

       }, this); 
      } 

    }, 
    construct : function() 
    { 
     this.base(arguments, "gui"); 
      // hide the window buttons 
     this.setShowClose(false); 
     this.setShowMaximize(false); 
     this.setShowMinimize(false); 

     //adjust size 
     this.setWidth(250); 
     this.setHeight(300); 

     var layout = new qx.ui.layout.Grid(0, 0); 
     this.setLayout(layout); 


    } 
}); 

ответ

0

Если вы используете qx.data.Array вместо того, чтобы использовать стандартный список JS, то вы можете использовать метод IndexOf найти индекс кнопки в массиве.

В обработчике событий вы можете использовать метод qx.event.type.Event.getTarget(), чтобы получить ссылку на виджет, который запустил событие и передать его методу indexOf.

Смежные вопросы