数据演示小部件+ MVP

时间:2011-03-07 21:47:12

标签: gwt gwt-mvp

我正在尝试使用新的Data Presentation Widgets(cellTable)

现在我正在制作一个演示,我使用了How to use GWT 2.1 Data Presentation Widgets中的示例在每列的列中创建一个按钮。

我对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 个答案:

答案 0 :(得分:1)

是的,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();
          }
        })) {...});
  }