diff options
Diffstat (limited to 'plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/dialogs/BulkAddDialog.java')
-rw-r--r-- | plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/dialogs/BulkAddDialog.java | 370 |
1 files changed, 185 insertions, 185 deletions
diff --git a/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/dialogs/BulkAddDialog.java b/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/dialogs/BulkAddDialog.java index 01d4c40feb..1f5d622241 100644 --- a/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/dialogs/BulkAddDialog.java +++ b/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/dialogs/BulkAddDialog.java @@ -1,185 +1,185 @@ -/* - * Copyright (c) 2004 - 2011 Eike Stepper (Berlin, Germany) and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Eike Stepper - initial API and implementation - * Victor Roldan Betancort - maintenance - */ -package org.eclipse.emf.cdo.internal.ui.dialogs; - -import org.eclipse.emf.cdo.internal.ui.messages.Messages; - -import org.eclipse.net4j.util.ui.StaticContentProvider; -import org.eclipse.net4j.util.ui.UIUtil; - -import org.eclipse.emf.ecore.EReference; - -import org.eclipse.jface.dialogs.IDialogConstants; -import org.eclipse.jface.dialogs.TitleAreaDialog; -import org.eclipse.jface.viewers.ISelectionChangedListener; -import org.eclipse.jface.viewers.IStructuredSelection; -import org.eclipse.jface.viewers.LabelProvider; -import org.eclipse.jface.viewers.SelectionChangedEvent; -import org.eclipse.jface.viewers.TableViewer; -import org.eclipse.swt.SWT; -import org.eclipse.swt.events.ModifyEvent; -import org.eclipse.swt.events.ModifyListener; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.layout.GridLayout; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Control; -import org.eclipse.swt.widgets.Label; -import org.eclipse.swt.widgets.Shell; -import org.eclipse.swt.widgets.Text; -import org.eclipse.ui.IWorkbenchPage; - -import java.util.ArrayList; -import java.util.List; - -/** - * @author Eike Stepper - */ -public class BulkAddDialog extends TitleAreaDialog -{ - public static final String TITLE = Messages.getString("BulkAddDialog.0"); //$NON-NLS-1$ - - private IWorkbenchPage page; - - private List<EReference> features = new ArrayList<EReference>(); - - private EReference feature; - - private int instances = 100; - - public BulkAddDialog(IWorkbenchPage page, List<EReference> features) - { - super(new Shell(page.getWorkbenchWindow().getShell())); - setShellStyle(getShellStyle() | SWT.APPLICATION_MODAL | SWT.MAX | SWT.TITLE | SWT.RESIZE); - this.page = page; - this.features = features; - } - - public IWorkbenchPage getPage() - { - return page; - } - - public List<EReference> getFeatures() - { - return features; - } - - public EReference getFeature() - { - return feature; - } - - public int getInstances() - { - return instances; - } - - @Override - protected void configureShell(Shell newShell) - { - super.configureShell(newShell); - newShell.setText(TITLE); - } - - @Override - protected Control createDialogArea(Composite parent) - { - Composite composite = new Composite((Composite)super.createDialogArea(parent), SWT.NONE); - composite.setLayoutData(UIUtil.createGridData()); - composite.setLayout(new GridLayout(2, false)); - - setTitle(Messages.getString("BulkAddDialog.1")); //$NON-NLS-1$ - - Label label = new Label(composite, SWT.NONE); - label.setText(Messages.getString("BulkAddDialog.2")); //$NON-NLS-1$ - label.setLayoutData(new GridData(SWT.BEGINNING, SWT.BEGINNING, false, false)); - - final TableViewer featureViewer = new TableViewer(composite, SWT.BORDER | SWT.SINGLE); - featureViewer.getTable().setLayoutData(UIUtil.createGridData(true, true)); - featureViewer.setContentProvider(new StaticContentProvider(features)); - featureViewer.setLabelProvider(new LabelProvider() - { - @Override - public String getText(Object element) - { - return ((EReference)element).getName(); - } - }); - - featureViewer.setInput(features); - featureViewer.addSelectionChangedListener(new ISelectionChangedListener() - { - public void selectionChanged(SelectionChangedEvent event) - { - IStructuredSelection selection = (IStructuredSelection)featureViewer.getSelection(); - feature = selection.isEmpty() ? null : (EReference)selection.getFirstElement(); - dialogChanged(); - } - }); - - new Label(composite, SWT.NONE).setText(Messages.getString("BulkAddDialog.3")); //$NON-NLS-1$ - final Text instancesText = new Text(composite, SWT.BORDER); - instancesText.setLayoutData(UIUtil.createGridData(true, false)); - instancesText.setText(String.valueOf(instances)); - instancesText.addModifyListener(new ModifyListener() - { - public void modifyText(ModifyEvent e) - { - try - { - String text = instancesText.getText(); - instances = Integer.parseInt(text); - } - catch (NumberFormatException ex) - { - instances = 0; - } - - dialogChanged(); - } - }); - - return composite; - } - - @Override - protected Control createButtonBar(Composite parent) - { - try - { - return super.createButtonBar(parent); - } - finally - { - dialogChanged(); - } - } - - protected void dialogChanged() - { - getButton(IDialogConstants.OK_ID).setEnabled(false); - if (feature == null) - { - setErrorMessage(Messages.getString("BulkAddDialog.4")); //$NON-NLS-1$ - return; - } - - if (instances == 0) - { - setErrorMessage(Messages.getString("BulkAddDialog.5")); //$NON-NLS-1$ - return; - } - - getButton(IDialogConstants.OK_ID).setEnabled(true); - setErrorMessage(null); - } -} +/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ * Victor Roldan Betancort - maintenance
+ */
+package org.eclipse.emf.cdo.internal.ui.dialogs;
+
+import org.eclipse.emf.cdo.internal.ui.messages.Messages;
+
+import org.eclipse.net4j.util.ui.StaticContentProvider;
+import org.eclipse.net4j.util.ui.UIUtil;
+
+import org.eclipse.emf.ecore.EReference;
+
+import org.eclipse.jface.dialogs.IDialogConstants;
+import org.eclipse.jface.dialogs.TitleAreaDialog;
+import org.eclipse.jface.viewers.ISelectionChangedListener;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.LabelProvider;
+import org.eclipse.jface.viewers.SelectionChangedEvent;
+import org.eclipse.jface.viewers.TableViewer;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.ModifyEvent;
+import org.eclipse.swt.events.ModifyListener;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.swt.widgets.Text;
+import org.eclipse.ui.IWorkbenchPage;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author Eike Stepper
+ */
+public class BulkAddDialog extends TitleAreaDialog
+{
+ public static final String TITLE = Messages.getString("BulkAddDialog.0"); //$NON-NLS-1$
+
+ private IWorkbenchPage page;
+
+ private List<EReference> features = new ArrayList<EReference>();
+
+ private EReference feature;
+
+ private int instances = 100;
+
+ public BulkAddDialog(IWorkbenchPage page, List<EReference> features)
+ {
+ super(new Shell(page.getWorkbenchWindow().getShell()));
+ setShellStyle(getShellStyle() | SWT.APPLICATION_MODAL | SWT.MAX | SWT.TITLE | SWT.RESIZE);
+ this.page = page;
+ this.features = features;
+ }
+
+ public IWorkbenchPage getPage()
+ {
+ return page;
+ }
+
+ public List<EReference> getFeatures()
+ {
+ return features;
+ }
+
+ public EReference getFeature()
+ {
+ return feature;
+ }
+
+ public int getInstances()
+ {
+ return instances;
+ }
+
+ @Override
+ protected void configureShell(Shell newShell)
+ {
+ super.configureShell(newShell);
+ newShell.setText(TITLE);
+ }
+
+ @Override
+ protected Control createDialogArea(Composite parent)
+ {
+ Composite composite = new Composite((Composite)super.createDialogArea(parent), SWT.NONE);
+ composite.setLayoutData(UIUtil.createGridData());
+ composite.setLayout(new GridLayout(2, false));
+
+ setTitle(Messages.getString("BulkAddDialog.1")); //$NON-NLS-1$
+
+ Label label = new Label(composite, SWT.NONE);
+ label.setText(Messages.getString("BulkAddDialog.2")); //$NON-NLS-1$
+ label.setLayoutData(new GridData(SWT.BEGINNING, SWT.BEGINNING, false, false));
+
+ final TableViewer featureViewer = new TableViewer(composite, SWT.BORDER | SWT.SINGLE);
+ featureViewer.getTable().setLayoutData(UIUtil.createGridData(true, true));
+ featureViewer.setContentProvider(new StaticContentProvider(features));
+ featureViewer.setLabelProvider(new LabelProvider()
+ {
+ @Override
+ public String getText(Object element)
+ {
+ return ((EReference)element).getName();
+ }
+ });
+
+ featureViewer.setInput(features);
+ featureViewer.addSelectionChangedListener(new ISelectionChangedListener()
+ {
+ public void selectionChanged(SelectionChangedEvent event)
+ {
+ IStructuredSelection selection = (IStructuredSelection)featureViewer.getSelection();
+ feature = selection.isEmpty() ? null : (EReference)selection.getFirstElement();
+ dialogChanged();
+ }
+ });
+
+ new Label(composite, SWT.NONE).setText(Messages.getString("BulkAddDialog.3")); //$NON-NLS-1$
+ final Text instancesText = new Text(composite, SWT.BORDER);
+ instancesText.setLayoutData(UIUtil.createGridData(true, false));
+ instancesText.setText(String.valueOf(instances));
+ instancesText.addModifyListener(new ModifyListener()
+ {
+ public void modifyText(ModifyEvent e)
+ {
+ try
+ {
+ String text = instancesText.getText();
+ instances = Integer.parseInt(text);
+ }
+ catch (NumberFormatException ex)
+ {
+ instances = 0;
+ }
+
+ dialogChanged();
+ }
+ });
+
+ return composite;
+ }
+
+ @Override
+ protected Control createButtonBar(Composite parent)
+ {
+ try
+ {
+ return super.createButtonBar(parent);
+ }
+ finally
+ {
+ dialogChanged();
+ }
+ }
+
+ protected void dialogChanged()
+ {
+ getButton(IDialogConstants.OK_ID).setEnabled(false);
+ if (feature == null)
+ {
+ setErrorMessage(Messages.getString("BulkAddDialog.4")); //$NON-NLS-1$
+ return;
+ }
+
+ if (instances == 0)
+ {
+ setErrorMessage(Messages.getString("BulkAddDialog.5")); //$NON-NLS-1$
+ return;
+ }
+
+ getButton(IDialogConstants.OK_ID).setEnabled(true);
+ setErrorMessage(null);
+ }
+}
|