Виджеты представления данных + MVP - PullRequest
0 голосов
/ 08 марта 2011

Я пытаюсь использовать новые виджеты представления данных (cellTable)

Теперь для демонстрации, которую я делаю, я использовал пример отсюда Как использовать GWT 2.1 Виджеты представления данных , чтобы создать кнопку в столбце для каждой строки.

Мое понимание MVP заключается в том, что мне нужно было бы представить HasClickEvents моему докладчику с моей точки зрения. Как мне это сделать?

Прямо сейчас у меня есть

projectGrid.addColumn(new Column<DataDTO, DataDTO>(new ActionCell<DataDTO>("Assign", new Delegate<DataDTO>() {
            public void execute(DataDTO row) {
                //Attach it here?
                Window.alert(row.toString());

            }
        })) {

            @Override
            public DataDTO getValue(DataDTO object) {
                // TODO Auto-generated method stub
                return object;
            }


        });

1 Ответ

1 голос
/ 08 марта 2011

Да, Delegate#execute() - правильное место для вызова обратного вызова докладчику.Есть несколько способов сделать это, но мне проще дать свои представления дескриптору их докладчику, а затем определить методы обратного вызова для докладчика:

class MyPresenter {
  public void onAssign() {
    // Perform action.
  }
}

class MyView {
  private MyPresenter presenter;

  public MyView() {
    projectGrid.addColumn(
      new Column<DataDTO, DataDTO>(
        new ActionCell<DataDTO>("Assign", new Delegate<DataDTO>() {
          public void execute(DataDTO row) {
            presenter.onAssign();
          }
        })) {...});
  }
...