package org.nightlabs.jfire.trade.admin.ui.deliveryqueue; import org.eclipse.jface.dialogs.MessageDialog; import org.eclipse.swt.SWT; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.Shell; import org.nightlabs.base.ui.language.I18nTextEditorTable; import org.nightlabs.base.ui.language.II18nTextEditor; import org.nightlabs.base.ui.language.I18nTextEditor.EditMode; import org.nightlabs.base.ui.util.RCPUtil; import org.nightlabs.eclipse.ui.dialog.ResizableTrayDialog; import org.nightlabs.jfire.store.deliver.DeliveryQueue; import org.nightlabs.jfire.trade.admin.ui.resource.Messages; public class DeliveryQueueNameEditDialog extends ResizableTrayDialog { private II18nTextEditor deliveryQueueNameEditor; private DeliveryQueue deliveryQueue; public DeliveryQueueNameEditDialog(Shell shell, DeliveryQueue deliveryQueue) { super(shell, Messages.RESOURCE_BUNDLE); this.deliveryQueue = deliveryQueue; } @Override protected int getShellStyle() { return super.getShellStyle() | SWT.RESIZE; } @Override protected Control createDialogArea(Composite parent) { Composite composite = (Composite) super.createDialogArea(parent); deliveryQueueNameEditor = new I18nTextEditorTable(composite, Messages.getString("org.nightlabs.jfire.trade.admin.ui.deliveryqueue.DeliveryQueueNameEditDialog.deliveryQueueNameEditor.caption")); //$NON-NLS-1$ deliveryQueueNameEditor.setI18nText(deliveryQueue.getName(), EditMode.BUFFERED); return composite; } @Override protected void createButtonsForButtonBar(Composite parent) { super.createButtonsForButtonBar(parent); getShell().setDefaultButton(null); } @Override protected void okPressed() { if (deliveryQueueNameEditor.getI18nText().getTexts().isEmpty()) MessageDialog.openError(RCPUtil.getActiveShell(), Messages.getString("org.nightlabs.jfire.trade.admin.ui.deliveryqueue.DeliveryQueueNameEditDialog.emptyDeliveryQueueNameDialog.title"), Messages.getString("org.nightlabs.jfire.trade.admin.ui.deliveryqueue.DeliveryQueueNameEditDialog.emptyDeliveryQueueNameDialog.message")); //$NON-NLS-1$ //$NON-NLS-2$ else { deliveryQueueNameEditor.copyToOriginal(); super.okPressed(); } } }