@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()); } })); }