コード例 #1
0
  @Inject
  public AddElementPanel(
      final Dispatcher dispatcher,
      EditorProvider editorProvider,
      Provider<ElementDialog> dialogProvider) {
    this.editorProvider = editorProvider;
    this.dialogProvider = dialogProvider;

    HBoxLayout layout = new HBoxLayout();
    layout.setHBoxLayoutAlign(HBoxLayoutAlign.STRETCHMAX);
    layout.setPack(BoxLayoutPack.CENTER);
    layout.setPadding(new Padding(15));
    setLayout(layout);

    add(
        createAddButton(
            I18N.CONSTANTS.addChart(),
            IconImageBundle.ICONS.barChart(),
            new SelectionListener<ButtonEvent>() {

              @Override
              public void componentSelected(ButtonEvent ce) {
                addElement(new ChartTemplate(dispatcher));
              }
            }));
    add(
        createAddButton(
            I18N.CONSTANTS.addTable(),
            IconImageBundle.ICONS.table(),
            new SelectionListener<ButtonEvent>() {

              @Override
              public void componentSelected(ButtonEvent ce) {
                addElement(new PivotTableTemplate(dispatcher));
              }
            }));
    add(
        createAddButton(
            I18N.CONSTANTS.addMap(),
            IconImageBundle.ICONS.map(),
            new SelectionListener<ButtonEvent>() {

              @Override
              public void componentSelected(ButtonEvent ce) {
                addElement(new MapTemplate(dispatcher));
              }
            }));
    add(
        createAddButton(
            I18N.CONSTANTS.addText(),
            IconImageBundle.ICONS.text(),
            new SelectionListener<ButtonEvent>() {

              @Override
              public void componentSelected(ButtonEvent ce) {
                addElement(new TextReportElement());
              }
            }));
  }