/** {@inheritDoc} */ @Override public void buildExportDialog(final ContactDetailsPresenter.ExportActionHandler handler) { final Window w = new Window(); w.setPlain(true); w.setModal(true); w.setBlinkModal(true); w.setLayout(new FitLayout()); w.setSize(400, 180); w.setHeadingHtml(I18N.CONSTANTS.exportData()); final FormPanel panel = Forms.panel(); final CheckBox synthesisBox = Forms.checkbox(I18N.CONSTANTS.caracteristics(), Boolean.TRUE); synthesisBox.setEnabled(false); final CheckBox allRelationsBox = Forms.checkbox(I18N.CONSTANTS.allRelations()); final CheckBox frameworkRelationsBox = Forms.checkbox(I18N.CONSTANTS.frameworkRelations()); final CheckBox relationsByElementBox = Forms.checkbox(I18N.CONSTANTS.relationsByElement()); final CheckBoxGroup options = Forms.checkBoxGroup( I18N.CONSTANTS.exportOptions(), com.extjs.gxt.ui.client.Style.Orientation.VERTICAL, synthesisBox, allRelationsBox, frameworkRelationsBox, relationsByElementBox); panel.add(options); final Button export = Forms.button(I18N.CONSTANTS.export()); panel.getButtonBar().add(export); export.addSelectionListener( new SelectionListener<ButtonEvent>() { @Override public void componentSelected(final ButtonEvent ce) { if (handler != null) { handler.onExportContact( synthesisBox.getValue(), allRelationsBox.getValue(), frameworkRelationsBox.getValue(), relationsByElementBox.getValue()); } w.hide(); } }); w.add(panel); w.show(); }