2012-03-07 6 views
0

で保存します。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

標準のJSリストを使用する代わりにqx.data.Arrayを使用すると、indexOfメソッドを使用して配列内のボタンのインデックスを見つけることができます。

イベントハンドラでは、qx.event.type.Event.getTarget()メソッドを使用してイベントを発生させたウィジェットへの参照を取得し、それをindexOfメソッドに渡すことができます。

関連する問題