Qooxdoo несколько кнопок сохранить по идентификатору - PullRequest
0 голосов
/ 07 марта 2012

Я использовал следующее:

  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);


    }
});

1 Ответ

0 голосов
/ 22 мая 2012

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

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

...