+++ /dev/null
-package org.eclipse.webbrowser.internal;
-/**********************************************************************
- * 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
- **********************************************************************/
-import java.util.List;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Item;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-/**
- * Dialog to manage the favorites list.
- */
-public class OrganizeFavoritesDialog extends Dialog {
- protected List favorites = WebBrowserPreference.getInternalWebBrowserFavorites();
-
- public class FavoriteContentProvider implements IStructuredContentProvider {
- public FavoriteContentProvider() {
- super();
- }
-
- public void dispose() { }
-
- public Object[] getElements(Object inputElement) {
- return favorites.toArray();
- }
-
- public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {}
- }
-
- public class FavoriteLabelProvider implements ITableLabelProvider {
- public FavoriteLabelProvider() {
- super();
- }
-
- public void addListener(ILabelProviderListener listener) { }
-
- public void dispose() { }
-
- public Image getColumnImage(Object element, int columnIndex) {
- if (columnIndex == 0)
- return ImageResource.getImage(ImageResource.IMG_FAVORITE);
- return null;
- }
-
- public String getColumnText(Object element, int columnIndex) {
- Favorite favorite = (Favorite) element;
- if (columnIndex == 0)
- return favorite.getName();
- else
- return favorite.getURL();
- }
-
- public boolean isLabelProperty(Object element, String property) {
- return false;
- }
-
- public void removeListener(ILabelProviderListener listener) { }
- }
-
- /**
- * ManageFavoritesDialog constructor comment.
- * @param parentShell org.eclipse.swt.widgets.Shell
- * @
- */
- public OrganizeFavoritesDialog(Shell parentShell) {
- super(parentShell);
-
- setBlockOnOpen(true);
- }
-
- /**
- *
- */
- protected void configureShell(Shell newShell) {
- super.configureShell(newShell);
- newShell.setText(WebBrowserUIPlugin.getResource("%dialogOrganizeFavoritesTitle"));
- }
-
- /**
- *
- */
- protected Control createDialogArea(Composite parent) {
- Composite composite = new Composite(parent, SWT.NONE);
- GridLayout layout = new GridLayout();
- layout.numColumns = 2;
- layout.marginHeight = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_MARGIN);
- layout.marginWidth = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_MARGIN);
- layout.verticalSpacing = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING);
- layout.horizontalSpacing = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING);
- composite.setLayout(layout);
- composite.setLayoutData(new GridData(GridData.FILL_BOTH));
- composite.setFont(parent.getFont());
- //WorkbenchHelp.setHelp(composite, ContextIds.TERMINATE_SERVER_DIALOG);
-
- Label label = new Label(composite, SWT.NONE);
- label.setText(WebBrowserUIPlugin.getResource("%dialogOrganizeFavoritesMessage"));
- GridData data = new GridData();
- data.horizontalSpan = 2;
- label.setLayoutData(data);
-
- final Table table = new Table(composite, SWT.BORDER | SWT.FULL_SELECTION | SWT.V_SCROLL | SWT.H_SCROLL | SWT.SINGLE);
- data = new GridData(GridData.FILL_HORIZONTAL | GridData.FILL_VERTICAL);
- data.widthHint = 300;
- data.heightHint = 150;
- table.setLayoutData(data);
- table.setLinesVisible(true);
-
- TableLayout tableLayout = new TableLayout();
- table.setLayout(tableLayout);
- table.setHeaderVisible(true);
-
- tableLayout.addColumnData(new ColumnWeightData(5, 50, true));
- TableColumn col = new TableColumn(table, SWT.NONE);
- col.setText(WebBrowserUIPlugin.getResource("%dialogOrganizeFavoritesName"));
-
- tableLayout.addColumnData(new ColumnWeightData(6, 60, true));
- col = new TableColumn(table, SWT.NONE);
- col.setText(WebBrowserUIPlugin.getResource("%dialogOrganizeFavoritesURL"));
- table.setLayout(tableLayout);
-
- final TableViewer tableViewer = new TableViewer(table);
- tableViewer.setContentProvider(new FavoriteContentProvider());
- tableViewer.setLabelProvider(new FavoriteLabelProvider());
- tableViewer.setInput("root");
- tableViewer.setColumnProperties(new String[] {"name", "url"});
-
- tableViewer.setCellEditors(new CellEditor[] {new TextCellEditor(table), new TextCellEditor(table)});
-
- ICellModifier cellModifier = new ICellModifier() {
- public Object getValue(Object element, String property) {
- Favorite f = (Favorite) element;
- if ("name".equals(property))
- return f.getName();
- else
- return f.getURL();
- }
-
- public boolean canModify(Object element, String property) {
- return true;
- }
-
- public void modify(Object element, String property, Object value) {
- if (element instanceof Item)
- element = ((Item) element).getData();
-
- try {
- Favorite f = (Favorite) element;
- String s = (String) value;
- if ("name".equals(property))
- f.setName(s);
- else
- f.setURL(s);
- tableViewer.refresh(f);
- } catch (Exception ex) {
- ex.printStackTrace();
- }
- }
- };
- tableViewer.setCellModifier(cellModifier);
-
- final Button remove = SWTUtil.createButton(composite, WebBrowserUIPlugin.getResource("%remove"));
- remove.setEnabled(false);
-
- tableViewer.addSelectionChangedListener(new ISelectionChangedListener() {
- public void selectionChanged(SelectionChangedEvent event) {
- remove.setEnabled(!event.getSelection().isEmpty());
- }
- });
-
- remove.addSelectionListener(new SelectionAdapter() {
- public void widgetSelected(SelectionEvent e) {
- int index = table.getSelectionIndex();
- if (index < 0 || index >= favorites.size())
- return;
-
- tableViewer.remove(favorites.get(index));
- favorites.remove(index);
- }
- });
-
- Dialog.applyDialogFont(composite);
-
- return composite;
- }
-
- protected void okPressed() {
- WebBrowserPreference.setInternalWebBrowserFavorites(favorites);
- super.okPressed();
- }
-}
\ No newline at end of file