X-Git-Url: http://git.phpeclipse.com diff --git a/net.sourceforge.phpeclipse.webbrowser/src/org/eclipse/webbrowser/internal/BrowserTableComposite.java b/net.sourceforge.phpeclipse.webbrowser/src/org/eclipse/webbrowser/internal/BrowserTableComposite.java deleted file mode 100644 index 32e38e5..0000000 --- a/net.sourceforge.phpeclipse.webbrowser/src/org/eclipse/webbrowser/internal/BrowserTableComposite.java +++ /dev/null @@ -1,272 +0,0 @@ -/********************************************************************** - * Copyright (c) 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - * - * Contributors: - * IBM - Initial API and implementation - **********************************************************************/ -package org.eclipse.webbrowser.internal; - -import java.util.Iterator; - -import org.eclipse.jface.viewers.*; -import org.eclipse.jface.window.Window; -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.*; -import org.eclipse.ui.help.WorkbenchHelp; -import org.eclipse.webbrowser.IExternalWebBrowser; -import org.eclipse.webbrowser.IExternalWebBrowserWorkingCopy; -import org.eclipse.webbrowser.IInternalWebBrowser; -import org.eclipse.webbrowser.IInternalWebBrowserWorkingCopy; -import org.eclipse.webbrowser.IWebBrowser; -import org.eclipse.jface.viewers.CheckStateChangedEvent; -import org.eclipse.jface.viewers.CheckboxTableViewer; -import org.eclipse.jface.viewers.ICheckStateListener; -/** - * - */ -public class BrowserTableComposite extends Composite { - protected Table table; - protected CheckboxTableViewer tableViewer; - protected Button edit; - protected Button remove; - protected Button search; - protected IWebBrowser selection; - - protected Label location; - protected Label parameters; - - public BrowserTableComposite(Composite parent, int style) { - super(parent, style); - createWidgets(); - } - - protected void createWidgets() { - GridLayout layout = new GridLayout(); - layout.horizontalSpacing = 5; - layout.verticalSpacing = 5; - layout.marginWidth = 0; - layout.marginHeight = 0; - layout.numColumns = 2; - setLayout(layout); - - GridData data = new GridData(GridData.FILL_BOTH); - setLayoutData(data); - - Label label = new Label(this, SWT.NONE); - label.setText(WebBrowserUIPlugin.getResource("%browserList")); - data = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_CENTER); - data.horizontalSpan = 2; - label.setLayoutData(data); - - table = new Table(this, SWT.CHECK | SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL | SWT.SINGLE | SWT.FULL_SELECTION); - data = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL); - data.widthHint = 300; - table.setLayoutData(data); - table.setHeaderVisible(false); - table.setLinesVisible(false); - - TableLayout tableLayout = new TableLayout(); - new TableColumn(table, SWT.NONE); - - tableLayout.addColumnData(new ColumnWeightData(100)); - - table.setLayout(tableLayout); - - tableViewer = new CheckboxTableViewer(table); - - tableViewer.setContentProvider(new BrowserContentProvider()); - tableViewer.setLabelProvider(new BrowserTableLabelProvider()); - - tableViewer.setInput("root"); - - // uncheck any other elements that might be checked and leave only the element checked to - // remain checked since one can only chose one brower at a time to be current. - tableViewer.addCheckStateListener(new ICheckStateListener() { - public void checkStateChanged(CheckStateChangedEvent e) { - checkNewDefaultBrowser(e.getElement()); - IWebBrowser browser = (IWebBrowser) e.getElement(); - BrowserManager.getInstance().setCurrentWebBrowser(browser); - - // if no other browsers are checked, don't allow the single one currently - // checked to become unchecked, and lose a current browser. That is, don't - // permit unchecking if no other item is checked which is supposed to be the case. - Object[] obj = tableViewer.getCheckedElements(); - if (obj.length == 0) - tableViewer.setChecked(e.getElement(), true); - } - }); - - // set a default, checked browser based on the current browser. If there is not a - // current browser, but the first item exists, use that instead. - // This will work currently until workbench shutdown, because current browser is not yet persisted. - IWebBrowser browser = BrowserManager.getInstance().getCurrentWebBrowser(); - if (browser != null) - tableViewer.setChecked(browser, true); - else { - Object obj = tableViewer.getElementAt(0); - if (obj != null) - tableViewer.setChecked(obj, true); - } - - tableViewer.addSelectionChangedListener(new ISelectionChangedListener() { - public void selectionChanged(SelectionChangedEvent event) { - Object obj = getSelection(event.getSelection()); - - if (obj instanceof IInternalWebBrowser) { - selection = (IInternalWebBrowser) obj; - remove.setEnabled(false); - edit.setEnabled(true); - } else if (obj instanceof IExternalWebBrowser) { - selection = (IExternalWebBrowser) obj; - remove.setEnabled(true); - edit.setEnabled(true); - } else - selection = null; - - if (selection == null) { - edit.setEnabled(false); - remove.setEnabled(false); - } - } - }); - - Composite buttonComp = new Composite(this, SWT.NONE); - layout = new GridLayout(); - layout.horizontalSpacing = 0; - layout.verticalSpacing = 5; - layout.marginWidth = 0; - layout.marginHeight = 0; - layout.numColumns = 1; - buttonComp.setLayout(layout); - data = new GridData(GridData.HORIZONTAL_ALIGN_END | GridData.VERTICAL_ALIGN_FILL); - buttonComp.setLayoutData(data); - - Button add = SWTUtil.createButton(buttonComp, WebBrowserUIPlugin.getResource("%add")); - add.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent e) { - ExternalBrowserDialog dialog = new ExternalBrowserDialog(getShell()); - if (dialog.open() == Window.CANCEL) - return; - tableViewer.refresh(); - } - }); - - edit = SWTUtil.createButton(buttonComp, WebBrowserUIPlugin.getResource("%edit")); - edit.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent e) { - IWebBrowser browser2 = getSelectedWebBrowser(); - - if (browser2 instanceof IInternalWebBrowser) { - IInternalWebBrowserWorkingCopy wc = ((IInternalWebBrowser) browser2).getWorkingCopy(); - InternalBrowserDialog dialog = new InternalBrowserDialog(getShell(), wc); - if (dialog.open() != Window.CANCEL) { - try { - tableViewer.refresh(wc.save()); - } catch (Exception ex) { } - } - } - else if(browser2 instanceof IExternalWebBrowser) { - IExternalWebBrowserWorkingCopy wc = ((IExternalWebBrowser) browser2).getWorkingCopy(); - ExternalBrowserDialog dialog = new ExternalBrowserDialog(getShell(), wc); - if (dialog.open() != Window.CANCEL) { - try { - tableViewer.refresh(wc.save()); - } catch (Exception ex) { } - } - } - } - }); - edit.setEnabled(false); - - remove = SWTUtil.createButton(buttonComp, WebBrowserUIPlugin.getResource("%remove")); - remove.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent e) { - IWebBrowser browser2 = getSelectedWebBrowser(); - try { - if (browser2 instanceof IInternalWebBrowser){ - remove.setEnabled(false); - return; // nothing else possible to do - } - else if(browser2 instanceof IExternalWebBrowser) { - remove.setEnabled(true); - ((IExternalWebBrowser) browser2).delete(); - - tableViewer.remove(browser2); - - // need here to ensure that if the item deleted was checked, ie, was - // the current browser, that the new current browser will be the first in the - // list, typically, the internal browser, which cannot be deleted, and be current. - if(((IExternalWebBrowser) browser2) == BrowserManager.getInstance().getCurrentWebBrowser()){ - Object obj = tableViewer.getElementAt(0); - if(obj != null){ - BrowserManager.getInstance().setCurrentWebBrowser((InternalWebBrowser)obj); - tableViewer.setChecked(obj, true); - } - } - } - } catch (Exception ex) { } - } - }); - remove.setEnabled(false); - - search = SWTUtil.createButton(buttonComp, WebBrowserUIPlugin.getResource("%search")); - search.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent e) { - java.util.List browsersToCreate = BrowserSearcher.search(getShell()); - - if (browsersToCreate == null) // cancelled - return; - - if (browsersToCreate.isEmpty()) { // no browsers found - WebBrowserUtil.openMessage(WebBrowserUIPlugin.getResource("%searchingNoneFound")); - return; - } - - Iterator iterator = browsersToCreate.iterator(); - while (iterator.hasNext()) { - IExternalWebBrowserWorkingCopy browser2 = (IExternalWebBrowserWorkingCopy) iterator.next(); - browser2.save(); - } - tableViewer.refresh(); - } - }); - WorkbenchHelp.setHelp(search, ContextIds.PREF_BROWSER_EXTERNAL_SEARCH); - - tableViewer.addCheckStateListener(new ICheckStateListener() { - public void checkStateChanged(CheckStateChangedEvent e) { - checkNewDefaultBrowser(e.getElement()); - IWebBrowser browser2 = (IWebBrowser) e.getElement(); - BrowserManager.getInstance().setCurrentWebBrowser(browser2); - } - }); - search.setEnabled(true); - } - - public IWebBrowser getSelectedWebBrowser() { - return selection; - } - - protected Object getSelection(ISelection sel2) { - IStructuredSelection sel = (IStructuredSelection) sel2; - return sel.getFirstElement(); - } - - // Uncheck all the items except the current one that was just checked - protected void checkNewDefaultBrowser(Object browser) { - TableItem[] children = tableViewer.getTable().getItems(); - for (int i = 0; i < children.length; i++) { - TableItem item = children[i]; - - if (!(item.getData().equals(browser))) - item.setChecked(false); - } - } -} \ No newline at end of file