Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/AddSourceContainerDialog.java')
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/AddSourceContainerDialog.java160
1 files changed, 0 insertions, 160 deletions
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/AddSourceContainerDialog.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/AddSourceContainerDialog.java
deleted file mode 100644
index 5bb6193b5..000000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/AddSourceContainerDialog.java
+++ /dev/null
@@ -1,160 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2007 IBM Corporation 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:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.sourcelookup;
-
-import java.util.ArrayList;
-
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.sourcelookup.ISourceContainer;
-import org.eclipse.debug.core.sourcelookup.ISourceContainerType;
-import org.eclipse.debug.core.sourcelookup.ISourceLookupDirector;
-import org.eclipse.debug.internal.ui.DebugPluginImages;
-import org.eclipse.debug.internal.ui.IDebugHelpContextIds;
-import org.eclipse.debug.internal.ui.IInternalDebugUIConstants;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.debug.ui.sourcelookup.ISourceContainerBrowser;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.TitleAreaDialog;
-import org.eclipse.jface.viewers.ArrayContentProvider;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.ViewerComparator;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-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.Shell;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * The dialog for adding new source containers. Presents the user with a list of
- * source container types and allows them to select one.
- *
- * @since 3.0
- */
-public class AddSourceContainerDialog extends TitleAreaDialog {
-
- private TableViewer fViewer;
- private SourceContainerViewer fSourceContainerViewer;
- private boolean fDoubleClickSelects = true;
- private ISourceLookupDirector fDirector;
-
- /**
- * Constructor
- */
- public AddSourceContainerDialog(Shell shell, SourceContainerViewer viewer, ISourceLookupDirector director) {
- super(shell);
- setShellStyle(getShellStyle() | SWT.RESIZE);
- fSourceContainerViewer=viewer;
- fDirector = director;
- }
-
- /**
- * Creates the dialog area to display source container types that are "browseable"
- */
- protected Control createDialogArea(Composite ancestor) {
-
- getShell().setText(SourceLookupUIMessages.addSourceLocation_title);
- setTitle(SourceLookupUIMessages.addSourceLocation_description);
- setTitleImage(DebugPluginImages.getImage(IInternalDebugUIConstants.IMG_ADD_SRC_LOC_WIZ));
-
- Composite parent = new Composite(ancestor, SWT.NULL);
- GridData gd= new GridData(GridData.FILL_BOTH);
- GridLayout topLayout = new GridLayout();
- topLayout.numColumns = 1;
- parent.setLayout(topLayout);
- parent.setLayoutData(gd);
-
- ISourceContainerType[] types = filterTypes(DebugPlugin.getDefault().getLaunchManager().getSourceContainerTypes());
-
- fViewer = new TableViewer(parent, SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER | SWT.SINGLE);
- final Table table = fViewer.getTable();
- gd = new GridData(GridData.FILL_BOTH);
- table.setLayoutData(gd);
-
- if (fDoubleClickSelects) {
- table.addSelectionListener(new SelectionAdapter() {
- public void widgetDefaultSelected(SelectionEvent e) {
- if (table.getSelectionCount() == 1)
- okPressed();
- }
- });
- }
-
- fViewer.setLabelProvider(new SourceContainerLabelProvider());
- fViewer.setContentProvider(new ArrayContentProvider());
- fViewer.setComparator(new ViewerComparator());
- fViewer.addSelectionChangedListener(new ISelectionChangedListener() {
- public void selectionChanged(SelectionChangedEvent event) {
- ISelection selection = event.getSelection();
- String desc = null;
- if (!selection.isEmpty()) {
- ISourceContainerType type = (ISourceContainerType) ((IStructuredSelection)selection).getFirstElement();
- desc = type.getDescription();
- }
- setMessage(desc);
- }
- });
- if(types.length != 0) {
- fViewer.setInput(types);
- }
- Dialog.applyDialogFont(parent);
- PlatformUI.getWorkbench().getHelpSystem().setHelp(getShell(), IDebugHelpContextIds.ADD_SOURCE_CONTAINER_DIALOG);
- return parent;
- }
-
- /**
- * Removes types without browsers from the provided list of types.
- * @param types the complete list of source container types
- * @return the list of source container types that have browsers
- */
- private ISourceContainerType[] filterTypes(ISourceContainerType[] types){
- ArrayList validTypes = new ArrayList();
- for (int i=0; i< types.length; i++) {
- ISourceContainerType type = types[i];
- if (fDirector.supportsSourceContainerType(type)) {
- ISourceContainerBrowser sourceContainerBrowser = DebugUITools.getSourceContainerBrowser(type.getId());
- if(sourceContainerBrowser != null && sourceContainerBrowser.canAddSourceContainers(fDirector)) {
- validTypes.add(type);
- }
- }
- }
- return (ISourceContainerType[]) validTypes.toArray(new ISourceContainerType[validTypes.size()]);
-
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jface.dialogs.Dialog#okPressed()
- */
- protected void okPressed() {
- //single selection dialog, so take first item in array
- //there will always be a selected item since we set it with viewer.setSelection
- ISourceContainerType type = (ISourceContainerType) ((IStructuredSelection) fViewer.getSelection()).getFirstElement();
- if (type != null) {
- ISourceContainerBrowser browser = DebugUITools.getSourceContainerBrowser(type.getId());
- if (browser != null) {
- ISourceContainer[] results = browser.addSourceContainers(getShell(), fDirector);
- if (results != null && results.length > 0) {
- fSourceContainerViewer.addEntries(results);
- }
- }
- }
- super.okPressed();
- }
-
-}

Back to the top