diff options
Diffstat (limited to 'examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/FileSystemMainPage.java')
-rw-r--r-- | examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/FileSystemMainPage.java | 301 |
1 files changed, 0 insertions, 301 deletions
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/FileSystemMainPage.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/FileSystemMainPage.java deleted file mode 100644 index 219ac80fc..000000000 --- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/FileSystemMainPage.java +++ /dev/null @@ -1,301 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 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 Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.team.examples.filesystem.ui; - -import java.io.File; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; - -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.jface.dialogs.IDialogConstants; -import org.eclipse.jface.dialogs.IDialogSettings; -import org.eclipse.jface.resource.ImageDescriptor; -import org.eclipse.jface.wizard.WizardPage; -import org.eclipse.swt.SWT; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.layout.GridLayout; -import org.eclipse.swt.widgets.Button; -import org.eclipse.swt.widgets.Combo; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.DirectoryDialog; -import org.eclipse.swt.widgets.Event; -import org.eclipse.swt.widgets.Label; -import org.eclipse.swt.widgets.Listener; -import org.eclipse.swt.widgets.Text; -import org.eclipse.team.examples.filesystem.Policy; - -/** - * This class provides the main page of the file system repository configuration wizard. - * It allows the user to select a location on disk. Once the page is finished, the - * location can be accessed using the <code>getLocation()</code> method. - */ -public class FileSystemMainPage extends WizardPage { - - private static final int COMBO_HISTORY_LENGTH = 5; - - String location; - Combo locationCombo; - - /* - * WizardPage constructor comment. - * @param pageName the name of the page - * @param title the title of the page - * @param description the description of the page - * @param titleImage the image for the page - */ - - public FileSystemMainPage(String pageName, String title, String description, ImageDescriptor titleImage) { - super(pageName, title, titleImage); - setDescription(description); - setTitle(title); - } - - /* - * Creates a new checkbox instance and sets the default layout data. - * - * @param group the composite in which to create the checkbox - * @param label the string to set into the checkbox - * @return the new checkbox - */ - protected Button createCheckBox(Composite group, String label) { - Button button = new Button(group, SWT.CHECK | SWT.LEFT); - button.setText(label); - GridData data = new GridData(); - data.horizontalSpan = 2; - button.setLayoutData(data); - return button; - } - - /* - * Utility method that creates a combo box - * - * @param parent the parent for the new label - * @return the new widget - */ - protected Combo createCombo(Composite parent) { - Combo combo = new Combo(parent, SWT.READ_ONLY); - GridData data = new GridData(GridData.FILL_HORIZONTAL); - data.widthHint = IDialogConstants.ENTRY_FIELD_WIDTH; - combo.setLayoutData(data); - return combo; - } - - /* - * Creates composite control and sets the default layout data. - * - * @param parent the parent of the new composite - * @param numColumns the number of columns for the new composite - * @return the newly-created coposite - */ - protected Composite createComposite(Composite parent, int numColumns) { - Composite composite = new Composite(parent, SWT.NULL); - - // GridLayout - GridLayout layout = new GridLayout(); - layout.numColumns = numColumns; - composite.setLayout(layout); - - // GridData - GridData data = new GridData(); - data.verticalAlignment = GridData.FILL; - data.horizontalAlignment = GridData.FILL; - composite.setLayoutData(data); - return composite; - } - - /* - * Utility method that creates a label instance - * and sets the default layout data. - * - * @param parent the parent for the new label - * @param text the text for the new label - * @return the new label - */ - protected Label createLabel(Composite parent, String text) { - Label label = new Label(parent, SWT.LEFT); - label.setText(text); - GridData data = new GridData(); - data.horizontalSpan = 1; - data.horizontalAlignment = GridData.FILL; - label.setLayoutData(data); - return label; - } - - /* - * Create a text field specific for this application - * - * @param parent the parent of the new text field - * @return the new text field - */ - protected Text createTextField(Composite parent) { - Text text = new Text(parent, SWT.SINGLE | SWT.BORDER); - GridData data = new GridData(GridData.FILL_HORIZONTAL); - data.verticalAlignment = GridData.CENTER; - data.grabExcessVerticalSpace = false; - data.widthHint = IDialogConstants.ENTRY_FIELD_WIDTH; - text.setLayoutData(data); - return text; - } - - /* - * Adds an entry to a history, while taking care of duplicate history items - * and excessively long histories. The assumption is made that all histories - * should be of length <code>ConfigurationWizardMainPage.COMBO_HISTORY_LENGTH</code>. - * - * @param history the current history - * @param newEntry the entry to add to the history - * @return the history with the new entry appended - */ - protected String[] addToHistory(String[] history, String newEntry) { - ArrayList l = new ArrayList(Arrays.asList(history)); - addToHistory(l, newEntry); - String[] r = new String[l.size()]; - l.toArray(r); - return r; - } - - /* - * Adds an entry to a history, while taking care of duplicate history items - * and excessively long histories. The assumption is made that all histories - * should be of length <code>ConfigurationWizardMainPage.COMBO_HISTORY_LENGTH</code>. - * - * @param history the current history - * @param newEntry the entry to add to the history - */ - protected void addToHistory(List history, String newEntry) { - history.remove(newEntry); - history.add(0,newEntry); - - // since only one new item was added, we can be over the limit - // by at most one item - if (history.size() > COMBO_HISTORY_LENGTH) - history.remove(COMBO_HISTORY_LENGTH); - } - - /* - * Utility method to create an editable combo box - * - * @param parent the parent of the combo box - * @return the created combo - */ - protected Combo createEditableCombo(Composite parent) { - Combo combo = new Combo(parent, SWT.NULL); - GridData data = new GridData(GridData.FILL_HORIZONTAL); - data.widthHint = IDialogConstants.ENTRY_FIELD_WIDTH; - combo.setLayoutData(data); - return combo; - } - - // Dialog store id constants - private static final String STORE_LOCATION = - "ExamplesFSWizardMainPage.STORE_LOCATION";//$NON-NLS-1$ - - public void createControl(Composite parent) { - Composite composite = new Composite(parent, SWT.NULL); - composite.setLayoutData(new GridData(GridData.FILL_BOTH)); - GridLayout layout = new GridLayout(); - layout.numColumns = 2; - composite.setLayout(layout); - setControl(composite); - - Label label = new Label(composite, SWT.NULL); - label.setText(Policy.bind("FileSystemMainPage.location")); //$NON-NLS-1$ - label.setLayoutData(new GridData()); - - locationCombo = createEditableCombo(composite); - locationCombo.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); - locationCombo.addListener(SWT.Modify, new Listener() { - public void handleEvent(Event e) { - location = ((Combo)e.widget).getText(); - FileSystemMainPage.this.validateFields(); - } - }); - - locationCombo.setFocus(); - - new Label(composite, SWT.NULL); - Button browse = new Button(composite, SWT.NULL); - browse.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_END)); - browse.setText(Policy.bind("FileSystemMainPage.browseDir")); //$NON-NLS-1$ - browse.addListener(SWT.Selection, new Listener() { - public void handleEvent(Event event) { - DirectoryDialog d = new DirectoryDialog(getShell()); - String directory = d.open(); - if(directory!=null) { - locationCombo.setText(directory); - } - } - }); - - initializeValues(); - validateFields(); - } - - public String getLocation() { - return location; - } - - public boolean finish(IProgressMonitor monitor) { - saveWidgetValues(); - return true; - } - /** - * Initializes states of the controls. - */ - private void initializeValues() { - IDialogSettings settings = getDialogSettings(); - if (settings != null) { - String[] locations = settings.getArray(STORE_LOCATION); - if (locations != null) { - for (int i = 0; i < locations.length; i++) { - locationCombo.add(locations[i]); - } - locationCombo.select(0); - } - } - } - /** - * Saves the widget values - */ - private void saveWidgetValues() { - // Update history - IDialogSettings settings = getDialogSettings(); - if (settings != null) { - String[] locations = settings.getArray(STORE_LOCATION); - if (locations == null) locations = new String[0]; - locations = addToHistory(locations, locationCombo.getText()); - settings.put(STORE_LOCATION, locations); - } - } - - /* - * Validates the contents of the editable fields and set page completion - * and error messages appropriately. - */ - private void validateFields() { - String location = locationCombo.getText(); - if (location.length() == 0) { - setErrorMessage(null); - setPageComplete(false); - return; - } else { - File file = new File(location); - if(!file.exists() || !file.isDirectory()) { - setErrorMessage(Policy.bind("FileSystemMainPage.notValidLocation")); //$NON-NLS-1$ - setPageComplete(false); - return; - } - } - setErrorMessage(null); - setPageComplete(true); - } -} |