Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'target_explorer/plugins/org.eclipse.tcf.te.tcf.filesystem.ui/src/org/eclipse/tcf/te/tcf/filesystem/ui/internal/wizards/NewNodeWizardPage.java')
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.tcf.filesystem.ui/src/org/eclipse/tcf/te/tcf/filesystem/ui/internal/wizards/NewNodeWizardPage.java359
1 files changed, 0 insertions, 359 deletions
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.filesystem.ui/src/org/eclipse/tcf/te/tcf/filesystem/ui/internal/wizards/NewNodeWizardPage.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.filesystem.ui/src/org/eclipse/tcf/te/tcf/filesystem/ui/internal/wizards/NewNodeWizardPage.java
deleted file mode 100644
index 7179beddc..000000000
--- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.filesystem.ui/src/org/eclipse/tcf/te/tcf/filesystem/ui/internal/wizards/NewNodeWizardPage.java
+++ /dev/null
@@ -1,359 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2014 Wind River Systems, Inc. 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:
- * Wind River Systems - initial API and implementation
- *******************************************************************************/
-package org.eclipse.tcf.te.tcf.filesystem.ui.internal.wizards;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.viewers.DecoratingLabelProvider;
-import org.eclipse.jface.viewers.ILabelDecorator;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerFilter;
-import org.eclipse.jface.wizard.IWizardContainer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.tcf.te.tcf.filesystem.core.internal.operations.NullOpExecutor;
-import org.eclipse.tcf.te.tcf.filesystem.core.internal.operations.OpParsePath;
-import org.eclipse.tcf.te.tcf.filesystem.core.model.FSTreeNode;
-import org.eclipse.tcf.te.tcf.filesystem.ui.controls.FSTreeContentProvider;
-import org.eclipse.tcf.te.tcf.filesystem.ui.controls.FSTreeViewerSorter;
-import org.eclipse.tcf.te.tcf.filesystem.ui.help.IContextHelpIds;
-import org.eclipse.tcf.te.tcf.filesystem.ui.interfaces.IFSConstants;
-import org.eclipse.tcf.te.tcf.filesystem.ui.internal.columns.FSTreeElementLabelProvider;
-import org.eclipse.tcf.te.tcf.filesystem.ui.nls.Messages;
-import org.eclipse.tcf.te.tcf.locator.interfaces.nodes.IPeerNode;
-import org.eclipse.tcf.te.ui.controls.BaseEditBrowseTextControl;
-import org.eclipse.tcf.te.ui.forms.FormLayoutFactory;
-import org.eclipse.tcf.te.ui.trees.FilterDescriptor;
-import org.eclipse.tcf.te.ui.trees.ViewerStateManager;
-import org.eclipse.tcf.te.ui.wizards.pages.AbstractValidatingWizardPage;
-import org.eclipse.ui.IDecoratorManager;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.forms.widgets.FormToolkit;
-
-/**
- * The base wizard page class to create a new file/folder in the file system of Target Explorer.
- */
-public abstract class NewNodeWizardPage extends AbstractValidatingWizardPage {
- // The form toolkit to create the content of the wizard page.
- private FormToolkit toolkit;
- // The control for the user to enter the new name.
- private BaseEditBrowseTextControl nameControl;
- // The control for the user to enter the parent directory
- private BaseEditBrowseTextControl folderControl;
- // The viewer of the file tree displaying the file system.
- private TreeViewer treeViewer;
-
- /**
- * Create an instance page with the specified page name.
- *
- * @param pageName The page name.
- */
- public NewNodeWizardPage(String pageName) {
- super(pageName);
- }
-
- /**
- * Get the page's title.
- *
- * @return The page's title.
- */
- protected abstract String getPageTitle();
-
- /**
- * Get the page's description.
- *
- * @return The page's description.
- */
- protected abstract String getPageDescription();
-
- /**
- * Get the label of the text field to enter the new name.
- *
- * @return The label of the text field to enter the new name.
- */
- protected abstract String getNameFieldLabel();
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jface.dialogs.IDialogPage#createControl(org.eclipse.swt.widgets.Composite)
- */
- @Override
- public void createControl(Composite parent) {
- // Setup title and description
- setTitle(getPageTitle());
- setDescription(getPageDescription());
-
- // Create the forms toolkit
- toolkit = new FormToolkit(parent.getDisplay());
-
- // Create the main panel
- Composite mainPanel = toolkit.createComposite(parent);
- mainPanel.setLayout(FormLayoutFactory.createClearGridLayout(false, 1));
- mainPanel.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
- mainPanel.setBackground(parent.getBackground());
-
- setControl(mainPanel);
-
- // Setup the help
- PlatformUI.getWorkbench().getHelpSystem()
- .setHelp(mainPanel, IContextHelpIds.FS_NEW_FILE_WIZARD_PAGE);
-
- // Do not validate the page while creating the controls
- boolean changed = setValidationInProgress(true);
- // Create the main panel sub controls
- createMainPanelControls(mainPanel);
- // Reset the validation in progress state
- if (changed) setValidationInProgress(false);
-
- // Adjust the font
- Dialog.applyDialogFont(mainPanel);
-
- // Validate the page for the first time
- setPageComplete(false);
- }
-
- /**
- * Create the main panel of this wizard page.
- *
- * @param parent The parent composite in which the page is created.
- */
- private void createMainPanelControls(Composite parent) {
- Assert.isNotNull(parent);
-
- // Create the client composite
- Composite client = toolkit != null ? toolkit.createComposite(parent) : new Composite(parent, SWT.NONE);
- client.setLayout(FormLayoutFactory.createSectionClientGridLayout(false, 2));
- client.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
- client.setBackground(parent.getBackground());
-
- Label label = new Label(client, SWT.NONE);
- GridData data = new GridData(SWT.FILL, SWT.CENTER, true, false);
- data.horizontalSpan = 2;
- label.setLayoutData(data);
- label.setText(Messages.NewNodeWizardPage_PromptFolderLabel);
-
- folderControl = new BaseEditBrowseTextControl(this);
- folderControl.setIsGroup(false);
- folderControl.setHasHistory(false);
- folderControl.setHideBrowseButton(true);
- folderControl.setHideLabelControl(true);
- folderControl.setHideEditFieldControlDecoration(true);
- folderControl.setFormToolkit(toolkit);
- folderControl.setParentControlIsInnerPanel(true);
- folderControl.setupPanel(client);
- folderControl.setEditFieldValidator(new FolderValidator(this));
- NewNodeWizard wizard = getWizard();
- FSTreeNode folder = wizard.getFolder();
- if (folder != null) folderControl.setEditFieldControlText(folder.getLocation());
-
- treeViewer = new TreeViewer(client, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
- data = new GridData(SWT.FILL, SWT.FILL, true, true);
- data.horizontalSpan = 2;
- data.heightHint = 193;
- data.widthHint = 450;
- treeViewer.getTree().setLayoutData(data);
- treeViewer.setContentProvider(new FSTreeContentProvider());
- treeViewer.setLabelProvider(createDecoratingLabelProvider(new FSTreeElementLabelProvider()));
- treeViewer.setComparator(new FSTreeViewerSorter());
- treeViewer.addFilter(new DirectoryFilter());
- IPeerNode peer = wizard.getPeer();
- if (peer != null) {
- setInput(peer);
- }
- treeViewer.addSelectionChangedListener(new ISelectionChangedListener() {
- @Override
- public void selectionChanged(SelectionChangedEvent event) {
- onSelectionChanged();
- }
- });
- if (folder != null) treeViewer.setSelection(new StructuredSelection(folder));
-
- nameControl = new BaseEditBrowseTextControl(this);
- nameControl.setIsGroup(false);
- nameControl.setHasHistory(false);
- nameControl.setHideBrowseButton(true);
- nameControl.setEditFieldLabel(getNameFieldLabel());
- nameControl.setFormToolkit(toolkit);
- nameControl.setParentControlIsInnerPanel(true);
- nameControl.setupPanel(client);
- nameControl.setEditFieldValidator(new NameValidator(this));
-
- if (folder == null) folderControl.getEditFieldControl().setFocus();
- else nameControl.getEditFieldControl().setFocus();
-
- // restore the widget values from the history
- restoreWidgetValues();
- }
-
- /**
- * The viewer filter to filter out files.
- */
- static class DirectoryFilter extends ViewerFilter {
- @Override
- public boolean select(Viewer viewer, Object parentElement, Object element) {
- if (element instanceof FSTreeNode) {
- FSTreeNode node = (FSTreeNode) element;
- if(node.isFile()) return false;
- }
- return true;
- }
- }
-
- /**
- * Set the input of the tree viewer and apply the appropriate filters.
- *
- * @param input The tree viewer's input.
- */
- private void setInput(Object input) {
- treeViewer.setInput(input);
- FilterDescriptor[] filterDescriptors = ViewerStateManager.getInstance().getFilterDescriptors(IFSConstants.ID_TREE_VIEWER_FS, input);
- Assert.isNotNull(filterDescriptors);
- for (FilterDescriptor descriptor : filterDescriptors) {
- if (descriptor.isEnabled()) {
- treeViewer.addFilter(descriptor.getFilter());
- }
- }
- }
-
- /**
- * Create a decorating label provider using the specified label provider.
- *
- * @param labelProvider The label provider that actually provides labels and images.
- * @return The decorating label provider.
- */
- private static ILabelProvider createDecoratingLabelProvider(ILabelProvider labelProvider) {
- IWorkbench workbench = PlatformUI.getWorkbench();
- IDecoratorManager manager = workbench.getDecoratorManager();
- ILabelDecorator decorator = manager.getLabelDecorator();
- return new DecoratingLabelProvider(labelProvider,decorator);
- }
-
- /**
- * Event process handling method when the user select a new folder in the file tree.
- */
- protected void onSelectionChanged() {
- if (treeViewer.getSelection() instanceof IStructuredSelection) {
- IStructuredSelection selection = (IStructuredSelection) treeViewer.getSelection();
- if (selection.getFirstElement() instanceof FSTreeNode) {
- FSTreeNode folder = (FSTreeNode) selection.getFirstElement();
- folderControl.setEditFieldControlText(folder.getLocation());
- }
- else {
- folderControl.setEditFieldControlText(""); //$NON-NLS-1$
- }
- }
-
- // Update the wizard container UI elements
- IWizardContainer container = getContainer();
- if (container != null && container.getCurrentPage() != null) {
- container.updateWindowTitle();
- container.updateTitleBar();
- container.updateButtons();
- }
- validate();
- }
-
- /**
- * Set a new peer as the input of the file tree. Called
- * by the wizard to update the file tree when an alternative
- * target peer is selected in the target selection page.
- *
- * @param peer The new target peer.
- */
- public void setPeer(IPeerNode peer) {
- if (peer != null) {
- setInput(peer);
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.tcf.te.ui.wizards.pages.AbstractValidatingWizardPage#doValidate()
- */
- @Override
- protected ValidationResult doValidate() {
- ValidationResult result = new ValidationResult();
-
- boolean valid = true;
-
- if (folderControl != null) {
- valid &= folderControl.isValid();
- result.setResult(folderControl);
- }
-
- if (nameControl != null) {
- valid &= nameControl.isValid();
- result.setResult(nameControl);
- }
-
- result.setValid(valid);
-
- return result;
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jface.dialogs.DialogPage#dispose()
- */
- @Override
- public void dispose() {
- if (nameControl != null) { nameControl.dispose(); nameControl = null; }
- if (toolkit != null) { toolkit.dispose(); toolkit = null; }
- super.dispose();
- }
-
- /**
- * Get the entered name of this node.
- *
- * @return The entered name of this node.
- */
- public String getNodeName() {
- return nameControl.getEditFieldControlTextForValidation();
- }
-
- /**
- * Get the parent wizard. Override the parent method to
- * cast the result to NewNodeWizard.
- */
- @Override
- public NewNodeWizard getWizard() {
- return (NewNodeWizard) super.getWizard();
- }
-
- /**
- * Get the currently input directory node. It parses
- * the currently entered path and tries to find the
- * corresponding directory node in the file system of
- * the target peer.
- *
- * @return The directory node if it exists or else null.
- */
- public FSTreeNode getInputDir() {
- NewNodeWizard wizard = getWizard();
- IPeerNode peer = wizard.getPeer();
- if (peer == null) return null;
- final String text = folderControl.getEditFieldControlText();
- if (text != null) {
- String path = text.trim();
- OpParsePath parser = new OpParsePath(peer, path);
- new NullOpExecutor().execute(parser);
- return parser.getResult();
- }
- return null;
- }
-}

Back to the top