diff options
Diffstat (limited to 'plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/dialogs')
8 files changed, 0 insertions, 1296 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 deleted file mode 100644 index 807f2bf114..0000000000 --- a/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/dialogs/BulkAddDialog.java +++ /dev/null @@ -1,182 +0,0 @@ -/*************************************************************************** - * Copyright (c) 2004 - 2008 Eike Stepper, Germany. - * 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 - **************************************************************************/ -package org.eclipse.emf.cdo.internal.ui.dialogs; - -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 = "Bulk Add"; - - 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("Select a child type and number of child instances"); - - Label label = new Label(composite, SWT.NONE); - label.setText("Type:"); - 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("Instances:"); - 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("Select a feature"); - return; - } - - if (instances == 0) - { - setErrorMessage("Enter a valid number of instances (>0)"); - return; - } - - getButton(IDialogConstants.OK_ID).setEnabled(true); - setErrorMessage(null); - } -} diff --git a/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/dialogs/IPackageProvider.java b/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/dialogs/IPackageProvider.java deleted file mode 100644 index 2003814a8e..0000000000 --- a/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/dialogs/IPackageProvider.java +++ /dev/null @@ -1,29 +0,0 @@ -/*************************************************************************** - * Copyright (c) 2004 - 2008 Eike Stepper, Germany. - * 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 - **************************************************************************/ -package org.eclipse.emf.cdo.internal.ui.dialogs; - -import org.eclipse.emf.cdo.CDOSession; - -import org.eclipse.emf.ecore.EPackage; - -import org.eclipse.swt.events.SelectionEvent; - -/** - * TODO Is this used/needed? - * - * @author Eike Stepper - */ -public interface IPackageProvider -{ - public String getTitle(); - - public EPackage getPackage(CDOSession session, SelectionEvent event); -} diff --git a/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/dialogs/OpenAuditDialog.java b/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/dialogs/OpenAuditDialog.java deleted file mode 100644 index 9f19c208b7..0000000000 --- a/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/dialogs/OpenAuditDialog.java +++ /dev/null @@ -1,100 +0,0 @@ -/*************************************************************************** - * Copyright (c) 2004 - 2008 Eike Stepper, Germany. - * 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 - **************************************************************************/ -package org.eclipse.emf.cdo.internal.ui.dialogs; - -import org.eclipse.emf.cdo.internal.ui.SharedIcons; - -import org.eclipse.net4j.util.ui.UIUtil; - -import org.eclipse.jface.dialogs.TitleAreaDialog; -import org.eclipse.swt.SWT; -import org.eclipse.swt.layout.GridLayout; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Control; -import org.eclipse.swt.widgets.DateTime; -import org.eclipse.swt.widgets.Label; -import org.eclipse.swt.widgets.Shell; -import org.eclipse.ui.IWorkbenchPage; - -import java.util.Calendar; -import java.util.GregorianCalendar; - -/** - * @author Eike Stepper - */ -public class OpenAuditDialog extends TitleAreaDialog -{ - public static final String TITLE = "Open Audit"; - - private IWorkbenchPage page; - - private DateTime dateControl; - - private DateTime timeControl; - - private long timeStamp; - - public OpenAuditDialog(IWorkbenchPage page) - { - super(new Shell(page.getWorkbenchWindow().getShell())); - this.page = page; - setShellStyle(getShellStyle() | SWT.APPLICATION_MODAL | SWT.MAX | SWT.TITLE | SWT.RESIZE); - } - - public IWorkbenchPage getPage() - { - return page; - } - - public long getTimeStamp() - { - return timeStamp; - } - - @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(3, false)); - - setTitle(TITLE); - setTitleImage(SharedIcons.getImage(SharedIcons.WIZBAN_PACKAGE_MANAGER)); - - new Label(composite, SWT.NONE).setText("Target Time:"); - dateControl = new DateTime(composite, SWT.DATE); - timeControl = new DateTime(composite, SWT.TIME); - - return composite; - } - - @Override - protected void okPressed() - { - GregorianCalendar calendar = new GregorianCalendar(); - calendar.set(Calendar.YEAR, dateControl.getYear()); - calendar.set(Calendar.MONTH, dateControl.getMonth()); - calendar.set(Calendar.DATE, dateControl.getDay()); - calendar.set(Calendar.HOUR_OF_DAY, timeControl.getHours()); - calendar.set(Calendar.MINUTE, timeControl.getMinutes()); - calendar.set(Calendar.SECOND, timeControl.getSeconds()); - - timeStamp = calendar.getTimeInMillis(); - super.okPressed(); - } -} diff --git a/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/dialogs/OpenResourcesDialog.java b/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/dialogs/OpenResourcesDialog.java deleted file mode 100644 index fc49e85604..0000000000 --- a/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/dialogs/OpenResourcesDialog.java +++ /dev/null @@ -1,26 +0,0 @@ -/*************************************************************************** - * Copyright (c) 2004 - 2008 Eike Stepper, Germany. - * 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 - **************************************************************************/ -package org.eclipse.emf.cdo.internal.ui.dialogs; - -import org.eclipse.core.resources.IResource; -import org.eclipse.core.resources.ResourcesPlugin; -import org.eclipse.swt.widgets.Shell; -import org.eclipse.ui.dialogs.FilteredResourcesSelectionDialog; - -public class OpenResourcesDialog extends FilteredResourcesSelectionDialog -{ - public OpenResourcesDialog(Shell parentShell) - { - super(parentShell, true, ResourcesPlugin.getWorkspace().getRoot(), IResource.FILE); - setTitle("Open Resources"); - setInitialPattern("*.ecore"); - } -} diff --git a/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/dialogs/OpenSessionDialog.java b/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/dialogs/OpenSessionDialog.java deleted file mode 100644 index ae7e380b72..0000000000 --- a/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/dialogs/OpenSessionDialog.java +++ /dev/null @@ -1,181 +0,0 @@ -/*************************************************************************** - * Copyright (c) 2004 - 2008 Eike Stepper, Germany. - * 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 - **************************************************************************/ -package org.eclipse.emf.cdo.internal.ui.dialogs; - -import org.eclipse.emf.cdo.internal.ui.SharedIcons; -import org.eclipse.emf.cdo.internal.ui.bundle.OM; - -import org.eclipse.emf.internal.cdo.util.FSMUtil; - -import org.eclipse.net4j.internal.util.collection.PreferenceHistory; -import org.eclipse.net4j.util.collection.IHistory; -import org.eclipse.net4j.util.ui.UIUtil; -import org.eclipse.net4j.util.ui.widgets.HistoryText; -import org.eclipse.net4j.util.ui.widgets.PreferenceButton; - -import org.eclipse.jface.dialogs.TitleAreaDialog; -import org.eclipse.swt.SWT; -import org.eclipse.swt.events.FocusEvent; -import org.eclipse.swt.events.FocusListener; -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.ui.IWorkbenchPage; - -/** - * @author Eike Stepper - */ -public class OpenSessionDialog extends TitleAreaDialog -{ - public static final String TITLE = "Open Session"; - - private IWorkbenchPage page; - - private IHistory<String> connectorHistory = new PreferenceHistory(OM.PREF_HISTORY_CONNECTORS); - - private IHistory<String> repositoryHistory = new PreferenceHistory(OM.PREF_HISTORY_REPOSITORIES); - - private HistoryText connectorText; - - private Label exampleLabel; - - private HistoryText repositoryText; - - private PreferenceButton automaticButton; - - private PreferenceButton legacyButton; - - private String serverDescription; - - private String repositoryName; - - private boolean automaticPackageRegistry; - - private boolean legacyModelSupport; - - static - { - OM.PREF_LEGACY_MODEL_SUPPORT.setValue(FSMUtil.isLegacySystemAvailable()); - } - - public OpenSessionDialog(IWorkbenchPage page) - { - super(new Shell(page.getWorkbenchWindow().getShell())); - this.page = page; - setShellStyle(getShellStyle() | SWT.APPLICATION_MODAL | SWT.MAX | SWT.TITLE | SWT.RESIZE); - } - - public IWorkbenchPage getPage() - { - return page; - } - - public String getServerDescription() - { - return serverDescription; - } - - public String getRepositoryName() - { - return repositoryName; - } - - public boolean isAutomaticPackageRegistry() - { - return automaticPackageRegistry; - } - - public boolean isLegacyModelSupport() - { - return legacyModelSupport; - } - - @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(TITLE); - setTitleImage(SharedIcons.getImage(SharedIcons.WIZBAN_PACKAGE_MANAGER)); - - new Label(composite, SWT.NONE).setText("Server Description:"); - connectorText = new HistoryText(composite, SWT.BORDER | SWT.SINGLE, connectorHistory); - connectorText.getCombo().setLayoutData(new GridData(SWT.FILL, SWT.BEGINNING, true, false)); - - if (connectorHistory.isEmpty()) - { - new Label(composite, SWT.NONE); - exampleLabel = new Label(composite, SWT.NONE); - exampleLabel.setText("for example 'tcp://estepper@dev.eclipse.org:2036'"); - exampleLabel.setForeground(getShell().getDisplay().getSystemColor(SWT.COLOR_DARK_GRAY)); - } - - new Label(composite, SWT.NONE).setText("Repository Name:"); - repositoryText = new HistoryText(composite, SWT.BORDER | SWT.SINGLE, repositoryHistory); - repositoryText.getCombo().setLayoutData(new GridData(150, SWT.DEFAULT)); - - new Label(composite, SWT.NONE); - automaticButton = new PreferenceButton(composite, SWT.CHECK, "Automatic Package Registry", - OM.PREF_AUTOMATIC_PACKAGE_REGISTY); - - new Label(composite, SWT.NONE); - legacyButton = new PreferenceButton(composite, SWT.CHECK, "Legacy Model Support", OM.PREF_LEGACY_MODEL_SUPPORT); - legacyButton.getButton().setEnabled(FSMUtil.isLegacySystemAvailable()); - - connectorText.setFocus(); - connectorText.getCombo().addFocusListener(new FocusListener() - { - public void focusGained(FocusEvent e) - { - if (exampleLabel != null) - { - exampleLabel.setVisible(true); - } - } - - public void focusLost(FocusEvent e) - { - if (exampleLabel != null) - { - exampleLabel.setVisible(false); - } - } - }); - - return composite; - } - - @Override - protected void okPressed() - { - serverDescription = connectorText.getText(true); - repositoryName = repositoryText.getText(true); - automaticPackageRegistry = automaticButton.getSelection(true); - legacyModelSupport = legacyButton.getSelection(true); - super.okPressed(); - } - - public void closeWithSuccess() - { - } -} diff --git a/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/dialogs/PackageManagerDialog.java b/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/dialogs/PackageManagerDialog.java deleted file mode 100644 index 70c0268233..0000000000 --- a/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/dialogs/PackageManagerDialog.java +++ /dev/null @@ -1,430 +0,0 @@ -/*************************************************************************** - * Copyright (c) 2004 - 2008 Eike Stepper, Germany. - * 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 - **************************************************************************/ -package org.eclipse.emf.cdo.internal.ui.dialogs; - -import org.eclipse.emf.cdo.CDOSession; -import org.eclipse.emf.cdo.internal.ui.SharedIcons; -import org.eclipse.emf.cdo.internal.ui.actions.RegisterFilesystemPackagesAction; -import org.eclipse.emf.cdo.internal.ui.actions.RegisterGeneratedPackagesAction; -import org.eclipse.emf.cdo.internal.ui.actions.RegisterWorkspacePackagesAction; -import org.eclipse.emf.cdo.protocol.model.CDOPackage; -import org.eclipse.emf.cdo.ui.CDOItemProvider; -import org.eclipse.emf.cdo.util.CDOPackageRegistry; -import org.eclipse.emf.cdo.util.CDOPackageType; -import org.eclipse.emf.cdo.util.CDOPackageTypeRegistry; - -import org.eclipse.net4j.util.ObjectUtil; -import org.eclipse.net4j.util.ui.UIUtil; - -import org.eclipse.emf.ecore.EPackage; -import org.eclipse.emf.ecore.EcorePackage; -import org.eclipse.emf.ecore.impl.EPackageImpl; - -import org.eclipse.jface.dialogs.IDialogConstants; -import org.eclipse.jface.dialogs.TitleAreaDialog; -import org.eclipse.jface.viewers.BaseLabelProvider; -import org.eclipse.jface.viewers.IStructuredContentProvider; -import org.eclipse.jface.viewers.ITableLabelProvider; -import org.eclipse.jface.viewers.TableViewer; -import org.eclipse.jface.viewers.Viewer; -import org.eclipse.swt.SWT; -import org.eclipse.swt.graphics.Image; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Control; -import org.eclipse.swt.widgets.Shell; -import org.eclipse.swt.widgets.Table; -import org.eclipse.swt.widgets.TableColumn; -import org.eclipse.ui.IWorkbenchPage; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Map.Entry; - -/** - * @author Eike Stepper - */ -public class PackageManagerDialog extends TitleAreaDialog -{ - private static final int REGISTER_GENERATED_PACKAGES_ID = IDialogConstants.CLIENT_ID + 1; - - private static final int REGISTER_WORKSPACE_PACKAGES_ID = IDialogConstants.CLIENT_ID + 2; - - private static final int REGISTER_FILESYSTEM_PACKAGES_ID = IDialogConstants.CLIENT_ID + 3; - - private static final String TITLE = "CDO Package Manager"; - - private static final String EMPTY = ""; - - private IWorkbenchPage page; - - private CDOSession session; - - private TableViewer viewer; - - public PackageManagerDialog(IWorkbenchPage page, CDOSession session) - { - super(new Shell(page.getWorkbenchWindow().getShell())); - this.page = page; - this.session = session; - setShellStyle(getShellStyle() | SWT.APPLICATION_MODAL | SWT.MAX | SWT.TITLE | SWT.RESIZE); - } - - @Override - protected void configureShell(Shell newShell) - { - super.configureShell(newShell); - newShell.setText(TITLE); - } - - @Override - protected Control createDialogArea(Composite parent) - { - Composite composite = (Composite)super.createDialogArea(parent); - setTitle(CDOItemProvider.getSessionLabel(session)); - setTitleImage(SharedIcons.getImage(SharedIcons.WIZBAN_PACKAGE_MANAGER)); - - viewer = new TableViewer(composite, SWT.NONE); - Table table = viewer.getTable(); - - table.setHeaderVisible(true); - table.setLayoutData(UIUtil.createGridData()); - addColumn(table, "Package", 400, SWT.LEFT); - addColumn(table, "Registry", 80, SWT.CENTER); - addColumn(table, "Repository", 80, SWT.CENTER); - - viewer.setContentProvider(new ContentProvider()); - viewer.setLabelProvider(new LabelProvider()); - viewer.setInput(session); - - return composite; - } - - @Override - protected void createButtonsForButtonBar(Composite parent) - { - createButton(parent, REGISTER_GENERATED_PACKAGES_ID, "Generated...", false); - createButton(parent, REGISTER_WORKSPACE_PACKAGES_ID, "Workspace...", false); - createButton(parent, REGISTER_FILESYSTEM_PACKAGES_ID, "Filesystem...", false); - createButton(parent, IDialogConstants.CLOSE_ID, IDialogConstants.CLOSE_LABEL, false); - } - - @Override - protected void buttonPressed(int buttonId) - { - switch (buttonId) - { - case REGISTER_GENERATED_PACKAGES_ID: - new RegisterGeneratedPackagesAction(page, session) - { - @Override - protected void postRegistration(List<EPackage> ePackages) - { - refreshViewer(); - } - }.run(); - break; - - case REGISTER_WORKSPACE_PACKAGES_ID: - new RegisterWorkspacePackagesAction(page, session) - { - @Override - protected void postRegistration(List<EPackage> ePackages) - { - refreshViewer(); - } - }.run(); - break; - - case REGISTER_FILESYSTEM_PACKAGES_ID: - new RegisterFilesystemPackagesAction(page, session) - { - @Override - protected void postRegistration(List<EPackage> ePackages) - { - refreshViewer(); - } - }.run(); - break; - - case IDialogConstants.CLOSE_ID: - close(); - break; - } - } - - protected Image getContentIcon(Content content) - { - return null; - } - - protected String getEPackageText(Object ePackage) - { - if (ePackage == EcorePackage.eINSTANCE) - { - return "ECORE"; - } - - if (ePackage.getClass() == EPackageImpl.class) - { - return "DYNAMIC"; - } - - String uri = EMPTY; - if (ePackage instanceof EPackage.Descriptor) - { - CDOPackageRegistry registry = session.getPackageRegistry(); - for (Map.Entry<String, Object> entry : registry.entrySet()) - { - if (entry.getValue() == ePackage) - { - uri = entry.getKey(); - break; - } - } - } - else - { - uri = ((EPackage)ePackage).getNsURI(); - } - - CDOPackageType packageType = CDOPackageTypeRegistry.INSTANCE.get(uri); - if (packageType == null) - { - return "?"; - } - - return packageType.toString(); - } - - protected String getCDOPackageText(CDOPackage cdoPackage) - { - if (cdoPackage.isSystem()) - { - return "SYSTEM"; - } - - if (!cdoPackage.isPersistent()) - { - return EMPTY; - } - - return cdoPackage.isDynamic() ? "DYNAMIC" : "STATIC"; - } - - private void addColumn(Table table, String title, int width, int alignment) - { - TableColumn column = new TableColumn(table, alignment); - column.setText(title); - column.setWidth(width); - } - - protected void refreshViewer() - { - page.getWorkbenchWindow().getShell().getDisplay().syncExec(new Runnable() - { - public void run() - { - try - { - viewer.refresh(); - } - catch (RuntimeException ignore) - { - } - } - }); - } - - /** - * @author Eike Stepper - */ - public class LabelProvider extends BaseLabelProvider implements ITableLabelProvider - { - public LabelProvider() - { - } - - public String getColumnText(Object element, int columnIndex) - { - if (element instanceof Content) - { - Content content = (Content)element; - switch (columnIndex) - { - case 0: - return content.getPackageURI(); - case 1: - return content.getEPackage() == null ? EMPTY : getEPackageText(content.getEPackage()); - case 2: - return content.getCDOPackage() == null ? EMPTY : getCDOPackageText(content.getCDOPackage()); - } - } - - return element.toString(); - } - - public Image getColumnImage(Object element, int columnIndex) - { - if (element instanceof Content) - { - Content content = (Content)element; - if (columnIndex == 0) - { - return getContentIcon(content); - } - } - - return null; - } - } - - /** - * @author Eike Stepper - */ - public static class ContentProvider implements IStructuredContentProvider - { - private static final Object[] NO_ELEMENTS = {}; - - private CDOSession session; - - public ContentProvider() - { - } - - public void dispose() - { - } - - public void inputChanged(Viewer viewer, Object oldInput, Object newInput) - { - if (newInput instanceof CDOSession) - { - if (!ObjectUtil.equals(session, newInput)) - { - session = (CDOSession)newInput; - } - } - } - - public Object[] getElements(Object inputElement) - { - if (inputElement != session) - { - return NO_ELEMENTS; - } - - Map<String, Content> map = new HashMap<String, Content>(); - for (Entry<String, Object> entry : session.getPackageRegistry().entrySet()) - { - String packageURI = entry.getKey(); - Content content = new Content(packageURI); - map.put(packageURI, content); - content.setEPackage(entry.getValue()); - } - - for (CDOPackage cdoPackage : session.getPackageManager().getPackages()) - { - String packageURI = cdoPackage.getPackageURI(); - Content content = map.get(packageURI); - if (content == null) - { - content = new Content(packageURI); - map.put(packageURI, content); - } - - content.setCDOPackage(cdoPackage); - } - - ArrayList<Content> list = new ArrayList<Content>(map.values()); - Collections.sort(list); - return list.toArray(new Content[list.size()]); - } - } - - /** - * @author Eike Stepper - */ - public static final class Content implements Comparable<Content> - { - private String packageURI; - - private Object ePackage; - - private CDOPackage cdoPackage; - - public Content(String packageURI) - { - this.packageURI = packageURI; - } - - public String getPackageURI() - { - return packageURI; - } - - public Object getEPackage() - { - return ePackage; - } - - public void setEPackage(Object ePackage) - { - this.ePackage = ePackage; - } - - public CDOPackage getCDOPackage() - { - return cdoPackage; - } - - public void setCDOPackage(CDOPackage cdoPackage) - { - this.cdoPackage = cdoPackage; - } - - public int compareTo(Content content) - { - return packageURI.compareTo(content.packageURI); - } - - @Override - public boolean equals(Object obj) - { - if (obj == this) - { - return true; - } - - if (obj instanceof Content) - { - Content that = (Content)obj; - return ObjectUtil.equals(packageURI, that.packageURI); - } - - return false; - } - - @Override - public int hashCode() - { - return ObjectUtil.hashCode(packageURI); - } - - @Override - public String toString() - { - return packageURI; - } - } -} diff --git a/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/dialogs/RollbackTransactionDialog.java b/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/dialogs/RollbackTransactionDialog.java deleted file mode 100644 index 7e20f9cadf..0000000000 --- a/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/dialogs/RollbackTransactionDialog.java +++ /dev/null @@ -1,156 +0,0 @@ -/*************************************************************************** - * Copyright (c) 2004 - 2008 Eike Stepper, Germany. - * 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 - **************************************************************************/ -package org.eclipse.emf.cdo.internal.ui.dialogs; - -import org.eclipse.emf.cdo.CDOTransaction; - -import org.eclipse.net4j.util.ui.UIUtil; - -import org.eclipse.jface.dialogs.IDialogConstants; -import org.eclipse.jface.dialogs.TitleAreaDialog; -import org.eclipse.swt.SWT; -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.ui.IWorkbenchPage; - -/** - * @author Eike Stepper - */ -public class RollbackTransactionDialog extends TitleAreaDialog -{ - // public static final String TITLE = "Rollback Transaction"; - - public static final int REMOTE = CANCEL + 1; - - public static final int LOCAL = CANCEL + 2; - - private static final int REMOTE_ID = IDialogConstants.CLIENT_ID + REMOTE; - - private static final int LOCAL_ID = IDialogConstants.CLIENT_ID + LOCAL; - - private IWorkbenchPage page; - - private String title; - - private String description; - - private CDOTransaction transaction; - - public RollbackTransactionDialog(IWorkbenchPage page, String title, String description, CDOTransaction transaction) - { - super(new Shell(page.getWorkbenchWindow().getShell())); - this.page = page; - this.title = title; - this.description = description; - this.transaction = transaction; - setShellStyle(getShellStyle() | SWT.APPLICATION_MODAL | SWT.MAX | SWT.TITLE | SWT.RESIZE); - } - - public IWorkbenchPage getPage() - { - return page; - } - - @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(1, false)); - - setTitle(description); - setTitleImage(getShell().getDisplay().getSystemImage(SWT.ICON_QUESTION)); - - Label label = new Label(composite, SWT.NONE); - label.setText(formatMessage()); - label.setLayoutData(new GridData(SWT.CENTER, SWT.CENTER, true, true)); - - return composite; - } - - @Override - protected void createButtonsForButtonBar(Composite parent) - { - createButton(parent, REMOTE_ID, "Remote Rollback", true); - createButton(parent, LOCAL_ID, "Local Rollback", false); - createButton(parent, IDialogConstants.CANCEL_ID, IDialogConstants.CANCEL_LABEL, false); - } - - @Override - protected void buttonPressed(int buttonId) - { - if (buttonId == REMOTE_ID) - { - setReturnCode(REMOTE); - close(); - } - else if (buttonId == LOCAL_ID) - { - setReturnCode(LOCAL); - close(); - } - else - { - super.buttonPressed(buttonId); - } - } - - protected String formatMessage() - { - int newObjects = transaction.getNewObjects().size(); - int dirtyObjects = transaction.getDirtyObjects().size(); - int count = (newObjects > 0 ? 1 : 0) + (dirtyObjects > 0 ? 1 : 0); - - StringBuilder builder = new StringBuilder(); - builder.append("This transaction contains "); - - if (newObjects > 0) - { - builder.append(newObjects); - builder.append(" new object"); - if (newObjects > 1) - { - builder.append("s"); - } - } - - if (dirtyObjects > 0) - { - if (count > 0) - { - builder.append(" and "); - } - - builder.append(dirtyObjects); - builder.append(" dirty object"); - if (dirtyObjects > 1) - { - builder.append("s"); - } - } - - builder.append(".\n\nBe careful, rolling back to local state can result\n" - + "in visible state that is different from the remote state!"); - builder.append("\n\nAre you sure to rollback this transaction?"); - return builder.toString(); - } -} diff --git a/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/dialogs/SelectPackageDialog.java b/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/dialogs/SelectPackageDialog.java deleted file mode 100644 index a79be83ee0..0000000000 --- a/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/dialogs/SelectPackageDialog.java +++ /dev/null @@ -1,192 +0,0 @@ -/*************************************************************************** - * Copyright (c) 2004 - 2008 Eike Stepper, Germany. - * 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 - **************************************************************************/ -package org.eclipse.emf.cdo.internal.ui.dialogs; - -import org.eclipse.emf.cdo.internal.ui.SharedIcons; -import org.eclipse.emf.cdo.internal.ui.bundle.OM; -import org.eclipse.emf.cdo.util.CDOPackageType; -import org.eclipse.emf.cdo.util.CDOPackageTypeRegistry; - -import org.eclipse.net4j.util.ui.UIUtil; -import org.eclipse.net4j.util.ui.widgets.BaseDialog; - -import org.eclipse.emf.ecore.EcorePackage; - -import org.eclipse.jface.viewers.CheckboxTableViewer; -import org.eclipse.jface.viewers.IStructuredContentProvider; -import org.eclipse.jface.viewers.ITableColorProvider; -import org.eclipse.jface.viewers.ITableLabelProvider; -import org.eclipse.jface.viewers.LabelProvider; -import org.eclipse.jface.viewers.Viewer; -import org.eclipse.swt.SWT; -import org.eclipse.swt.graphics.Color; -import org.eclipse.swt.graphics.Image; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Display; -import org.eclipse.swt.widgets.Shell; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.HashSet; -import java.util.List; -import java.util.Set; - -/** - * @author Eike Stepper - */ -public class SelectPackageDialog extends BaseDialog<CheckboxTableViewer> -{ - private static final Set<String> NO_URIS = Collections.emptySet(); - - private Set<String> excludedURIs = new HashSet<String>(); - - private Set<String> checkedURIs = new HashSet<String>(); - - public SelectPackageDialog(Shell shell, String title, String message, Set<String> excludedURIs) - { - super(shell, DEFAULT_SHELL_STYLE | SWT.APPLICATION_MODAL, title, message, OM.Activator.INSTANCE.getDialogSettings()); - this.excludedURIs = excludedURIs; - } - - public SelectPackageDialog(Shell shell, String title, String message) - { - this(shell, title, message, NO_URIS); - } - - public Set<String> getCheckedURIs() - { - return checkedURIs; - } - - @Override - protected void createUI(Composite parent) - { - CheckboxTableViewer viewer = CheckboxTableViewer.newCheckList(parent, SWT.SINGLE | SWT.BORDER); - viewer.getTable().setLayoutData(UIUtil.createGridData()); - viewer.setContentProvider(new PackageContentProvider()); - viewer.setLabelProvider(new PackageLabelProvider()); - viewer.setInput(CDOPackageTypeRegistry.INSTANCE); - - String[] uris = OM.PREF_HISTORY_SELECT_PACKAGES.getValue(); - if (uris != null) - { - viewer.setCheckedElements(uris); - } - - setCurrentViewer(viewer); - } - - @Override - protected void okPressed() - { - Object[] checkedElements = getCurrentViewer().getCheckedElements(); - for (Object checkedElement : checkedElements) - { - checkedURIs.add((String)checkedElement); - } - - OM.PREF_HISTORY_SELECT_PACKAGES.setValue(checkedURIs.toArray(new String[checkedURIs.size()])); - super.okPressed(); - } - - /** - * @author Eike Stepper - */ - private class PackageContentProvider implements IStructuredContentProvider - { - public PackageContentProvider() - { - } - - public void dispose() - { - } - - public void inputChanged(Viewer viewer, Object oldInput, Object newInput) - { - } - - public Object[] getElements(Object inputElement) - { - Set<String> uris = new HashSet<String>(CDOPackageTypeRegistry.INSTANCE.keySet()); - uris.removeAll(excludedURIs); - - List<String> elements = new ArrayList<String>(uris); - Collections.sort(elements); - return elements.toArray(); - } - } - - /** - * @author Eike Stepper - */ - private class PackageLabelProvider extends LabelProvider implements ITableLabelProvider, ITableColorProvider - { - private final Color red = Display.getCurrent().getSystemColor(SWT.COLOR_DARK_MAGENTA); - - public PackageLabelProvider() - { - } - - @Override - public String getText(Object element) - { - return element.toString(); - } - - @Override - public Image getImage(Object element) - { - if (element instanceof String) - { - CDOPackageType packageType = CDOPackageTypeRegistry.INSTANCE.get(element); - switch (packageType) - { - case CONVERTED: - return SharedIcons.getImage(SharedIcons.OBJ_EPACKAGE_CONVERTED); - - case LEGACY: - return SharedIcons.getImage(SharedIcons.OBJ_EPACKAGE_LEGACY); - - case NATIVE: - return SharedIcons.getImage(SharedIcons.OBJ_EPACKAGE_NATIVE); - } - } - - return null; - } - - public String getColumnText(Object element, int columnIndex) - { - return getText(element); - } - - public Image getColumnImage(Object element, int columnIndex) - { - return getImage(element); - } - - public Color getBackground(Object element, int columnIndex) - { - return null; - } - - public Color getForeground(Object element, int columnIndex) - { - if (EcorePackage.eINSTANCE.getNsURI().equals(element)) - { - return red; - } - - return null; - } - } -} |