mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-07-14 04:25:21 +02:00
[225506] [api][breaking] RSE UI leaks non-API types
This commit is contained in:
parent
b714fd6f69
commit
77e0b0e35b
10 changed files with 100 additions and 13 deletions
|
@ -24,6 +24,7 @@ import org.eclipse.jface.viewers.DoubleClickEvent;
|
||||||
import org.eclipse.jface.viewers.IDoubleClickListener;
|
import org.eclipse.jface.viewers.IDoubleClickListener;
|
||||||
import org.eclipse.jface.viewers.IStructuredSelection;
|
import org.eclipse.jface.viewers.IStructuredSelection;
|
||||||
import org.eclipse.rse.core.model.IHost;
|
import org.eclipse.rse.core.model.IHost;
|
||||||
|
import org.eclipse.rse.internal.files.ui.view.SystemRemoteFileSelectionInputProvider;
|
||||||
import org.eclipse.rse.internal.subsystems.files.core.SystemFileResources;
|
import org.eclipse.rse.internal.subsystems.files.core.SystemFileResources;
|
||||||
import org.eclipse.rse.ui.SystemActionViewerFilter;
|
import org.eclipse.rse.ui.SystemActionViewerFilter;
|
||||||
import org.eclipse.rse.ui.dialogs.SystemRemoteResourceDialog;
|
import org.eclipse.rse.ui.dialogs.SystemRemoteResourceDialog;
|
||||||
|
|
|
@ -198,7 +198,7 @@ public class SystemSelectRemoteFileOrFolderForm
|
||||||
* Returns the input provider that drives the contents of the tree
|
* Returns the input provider that drives the contents of the tree
|
||||||
* Subclasses can override to provide custom tree contents
|
* Subclasses can override to provide custom tree contents
|
||||||
*/
|
*/
|
||||||
protected ISystemSelectRemoteObjectAPIProvider getInputProvider()
|
private ISystemSelectRemoteObjectAPIProvider getInputProvider()
|
||||||
{
|
{
|
||||||
if (inputProvider == null)
|
if (inputProvider == null)
|
||||||
{
|
{
|
||||||
|
|
|
@ -28,6 +28,7 @@ import org.eclipse.jface.viewers.ICheckStateListener;
|
||||||
import org.eclipse.rse.core.IRSESystemType;
|
import org.eclipse.rse.core.IRSESystemType;
|
||||||
import org.eclipse.rse.internal.files.ui.Activator;
|
import org.eclipse.rse.internal.files.ui.Activator;
|
||||||
import org.eclipse.rse.internal.files.ui.actions.SystemSelectFileTypesAction;
|
import org.eclipse.rse.internal.files.ui.actions.SystemSelectFileTypesAction;
|
||||||
|
import org.eclipse.rse.internal.files.ui.widgets.SystemFileTreeAndListGroup;
|
||||||
import org.eclipse.rse.internal.ui.SystemResources;
|
import org.eclipse.rse.internal.ui.SystemResources;
|
||||||
import org.eclipse.rse.internal.ui.view.SystemViewLabelAndContentProvider;
|
import org.eclipse.rse.internal.ui.view.SystemViewLabelAndContentProvider;
|
||||||
import org.eclipse.rse.services.clientserver.messages.CommonMessages;
|
import org.eclipse.rse.services.clientserver.messages.CommonMessages;
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/********************************************************************************
|
/********************************************************************************
|
||||||
* Copyright (c) 2006, 2008 IBM Corporation. All rights reserved.
|
* Copyright (c) 2006, 2007 IBM Corporation. All rights reserved.
|
||||||
* This program and the accompanying materials are made available under the terms
|
* 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
|
* of the Eclipse Public License v1.0 which accompanies this distribution, and is
|
||||||
* available at http://www.eclipse.org/legal/epl-v10.html
|
* available at http://www.eclipse.org/legal/epl-v10.html
|
||||||
|
|
|
@ -15,12 +15,12 @@
|
||||||
* David McKnight (IBM) - [225506] [api][breaking] RSE UI leaks non-API types
|
* David McKnight (IBM) - [225506] [api][breaking] RSE UI leaks non-API types
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
|
|
||||||
package org.eclipse.rse.files.ui.dialogs;
|
package org.eclipse.rse.internal.files.ui.view;
|
||||||
|
|
||||||
import org.eclipse.rse.core.model.IHost;
|
import org.eclipse.rse.core.model.IHost;
|
||||||
import org.eclipse.rse.core.subsystems.ISubSystem;
|
import org.eclipse.rse.core.subsystems.ISubSystem;
|
||||||
|
import org.eclipse.rse.internal.ui.view.SystemResourceSelectionInputProvider;
|
||||||
import org.eclipse.rse.subsystems.files.core.model.RemoteFileUtility;
|
import org.eclipse.rse.subsystems.files.core.model.RemoteFileUtility;
|
||||||
import org.eclipse.rse.ui.view.SystemResourceSelectionInputProvider;
|
|
||||||
|
|
||||||
|
|
||||||
public class SystemRemoteFileSelectionInputProvider extends
|
public class SystemRemoteFileSelectionInputProvider extends
|
|
@ -15,7 +15,7 @@
|
||||||
* {Name} (company) - description of contribution.
|
* {Name} (company) - description of contribution.
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
|
|
||||||
package org.eclipse.rse.files.ui.widgets;
|
package org.eclipse.rse.internal.files.ui.widgets;
|
||||||
import org.eclipse.jface.viewers.ILabelProvider;
|
import org.eclipse.jface.viewers.ILabelProvider;
|
||||||
import org.eclipse.jface.viewers.IStructuredContentProvider;
|
import org.eclipse.jface.viewers.IStructuredContentProvider;
|
||||||
import org.eclipse.jface.viewers.IStructuredSelection;
|
import org.eclipse.jface.viewers.IStructuredSelection;
|
|
@ -44,10 +44,10 @@ import org.eclipse.rse.ui.dialogs.SystemPromptDialog;
|
||||||
import org.eclipse.rse.ui.messages.ISystemMessageLine;
|
import org.eclipse.rse.ui.messages.ISystemMessageLine;
|
||||||
import org.eclipse.rse.ui.validators.IValidatorRemoteSelection;
|
import org.eclipse.rse.ui.validators.IValidatorRemoteSelection;
|
||||||
import org.eclipse.rse.ui.view.ISystemRemoteElementAdapter;
|
import org.eclipse.rse.ui.view.ISystemRemoteElementAdapter;
|
||||||
|
import org.eclipse.rse.ui.view.ISystemResourceSelectionInputProvider;
|
||||||
import org.eclipse.rse.ui.view.ISystemTree;
|
import org.eclipse.rse.ui.view.ISystemTree;
|
||||||
import org.eclipse.rse.ui.view.ISystemViewElementAdapter;
|
import org.eclipse.rse.ui.view.ISystemViewElementAdapter;
|
||||||
import org.eclipse.rse.ui.view.SystemAdapterHelpers;
|
import org.eclipse.rse.ui.view.SystemAdapterHelpers;
|
||||||
import org.eclipse.rse.ui.view.SystemResourceSelectionInputProvider;
|
|
||||||
import org.eclipse.rse.ui.widgets.SystemHostCombo;
|
import org.eclipse.rse.ui.widgets.SystemHostCombo;
|
||||||
import org.eclipse.swt.SWT;
|
import org.eclipse.swt.SWT;
|
||||||
import org.eclipse.swt.events.SelectionAdapter;
|
import org.eclipse.swt.events.SelectionAdapter;
|
||||||
|
@ -67,8 +67,8 @@ public class SystemResourceSelectionForm implements ISelectionChangedListener
|
||||||
private Shell _shell;
|
private Shell _shell;
|
||||||
private boolean _multipleSelection = true;
|
private boolean _multipleSelection = true;
|
||||||
protected static final int PROMPT_WIDTH = 400; // The maximum width of the dialog's prompt, in pixels.
|
protected static final int PROMPT_WIDTH = 400; // The maximum width of the dialog's prompt, in pixels.
|
||||||
|
|
||||||
private SystemResourceSelectionInputProvider _inputProvider;
|
private ISystemResourceSelectionInputProvider _inputProvider;
|
||||||
private SystemHostCombo _connectionCombo;
|
private SystemHostCombo _connectionCombo;
|
||||||
private SystemViewForm _systemViewForm;
|
private SystemViewForm _systemViewForm;
|
||||||
private Composite _propertySheetContainer;
|
private Composite _propertySheetContainer;
|
||||||
|
@ -98,7 +98,8 @@ public class SystemResourceSelectionForm implements ISelectionChangedListener
|
||||||
|
|
||||||
|
|
||||||
public SystemResourceSelectionForm(Shell shell, Composite parent, Object caller,
|
public SystemResourceSelectionForm(Shell shell, Composite parent, Object caller,
|
||||||
SystemResourceSelectionInputProvider inputProvider, String verbiage,
|
ISystemResourceSelectionInputProvider inputProvider,
|
||||||
|
String verbiage,
|
||||||
boolean multipleSelection,
|
boolean multipleSelection,
|
||||||
ISystemMessageLine msgLine)
|
ISystemMessageLine msgLine)
|
||||||
{
|
{
|
||||||
|
|
|
@ -17,15 +17,18 @@
|
||||||
* David McKnight (IBM) - [225506] [api][breaking] RSE UI leaks non-API types
|
* David McKnight (IBM) - [225506] [api][breaking] RSE UI leaks non-API types
|
||||||
********************************************************************************/
|
********************************************************************************/
|
||||||
|
|
||||||
package org.eclipse.rse.ui.view;
|
package org.eclipse.rse.internal.ui.view;
|
||||||
import org.eclipse.rse.core.IRSESystemType;
|
import org.eclipse.rse.core.IRSESystemType;
|
||||||
import org.eclipse.rse.core.RSECorePlugin;
|
import org.eclipse.rse.core.RSECorePlugin;
|
||||||
import org.eclipse.rse.core.model.IHost;
|
import org.eclipse.rse.core.model.IHost;
|
||||||
import org.eclipse.rse.core.model.ISystemRegistry;
|
import org.eclipse.rse.core.model.ISystemRegistry;
|
||||||
import org.eclipse.rse.core.subsystems.ISubSystem;
|
import org.eclipse.rse.core.subsystems.ISubSystem;
|
||||||
|
import org.eclipse.rse.ui.view.ISystemResourceSelectionInputProvider;
|
||||||
|
import org.eclipse.rse.ui.view.SystemAbstractAPIProvider;
|
||||||
|
|
||||||
|
|
||||||
public abstract class SystemResourceSelectionInputProvider extends SystemAbstractAPIProvider
|
public abstract class SystemResourceSelectionInputProvider extends SystemAbstractAPIProvider
|
||||||
|
implements ISystemResourceSelectionInputProvider
|
||||||
{
|
{
|
||||||
private IHost _connection = null;
|
private IHost _connection = null;
|
||||||
private boolean _onlyConnection = false;
|
private boolean _onlyConnection = false;
|
|
@ -27,8 +27,8 @@ import org.eclipse.rse.internal.ui.view.SystemResourceSelectionForm;
|
||||||
import org.eclipse.rse.ui.SystemActionViewerFilter;
|
import org.eclipse.rse.ui.SystemActionViewerFilter;
|
||||||
import org.eclipse.rse.ui.messages.ISystemMessageLine;
|
import org.eclipse.rse.ui.messages.ISystemMessageLine;
|
||||||
import org.eclipse.rse.ui.validators.IValidatorRemoteSelection;
|
import org.eclipse.rse.ui.validators.IValidatorRemoteSelection;
|
||||||
|
import org.eclipse.rse.ui.view.ISystemResourceSelectionInputProvider;
|
||||||
import org.eclipse.rse.ui.view.ISystemTree;
|
import org.eclipse.rse.ui.view.ISystemTree;
|
||||||
import org.eclipse.rse.ui.view.SystemResourceSelectionInputProvider;
|
|
||||||
import org.eclipse.swt.widgets.Composite;
|
import org.eclipse.swt.widgets.Composite;
|
||||||
import org.eclipse.swt.widgets.Control;
|
import org.eclipse.swt.widgets.Control;
|
||||||
import org.eclipse.swt.widgets.Shell;
|
import org.eclipse.swt.widgets.Shell;
|
||||||
|
@ -37,7 +37,7 @@ import org.eclipse.swt.widgets.Shell;
|
||||||
public abstract class SystemRemoteResourceDialog extends SystemPromptDialog
|
public abstract class SystemRemoteResourceDialog extends SystemPromptDialog
|
||||||
{
|
{
|
||||||
private SystemResourceSelectionForm _form;
|
private SystemResourceSelectionForm _form;
|
||||||
private SystemResourceSelectionInputProvider _inputProvider;
|
private ISystemResourceSelectionInputProvider _inputProvider;
|
||||||
private Object _preSelection;
|
private Object _preSelection;
|
||||||
private IValidatorRemoteSelection _selectionValidator;
|
private IValidatorRemoteSelection _selectionValidator;
|
||||||
private boolean _multipleSelectionMode;
|
private boolean _multipleSelectionMode;
|
||||||
|
@ -47,7 +47,8 @@ public abstract class SystemRemoteResourceDialog extends SystemPromptDialog
|
||||||
private String _message, _tip;
|
private String _message, _tip;
|
||||||
|
|
||||||
|
|
||||||
public SystemRemoteResourceDialog(Shell shell, String title, SystemResourceSelectionInputProvider inputProvider)
|
public SystemRemoteResourceDialog(Shell shell, String title,
|
||||||
|
ISystemResourceSelectionInputProvider inputProvider)
|
||||||
{
|
{
|
||||||
super(shell, title);
|
super(shell, title);
|
||||||
_inputProvider = inputProvider;
|
_inputProvider = inputProvider;
|
||||||
|
|
|
@ -0,0 +1,80 @@
|
||||||
|
/********************************************************************************
|
||||||
|
* Copyright (c) 2008 IBM Corporation. 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
|
||||||
|
*
|
||||||
|
* Initial Contributors:
|
||||||
|
* The following IBM employees contributed to the Remote System Explorer
|
||||||
|
* component that contains this file: David McKnight.
|
||||||
|
*
|
||||||
|
* Contributors:
|
||||||
|
* David McKnight (IBM) - [225506] [api][breaking] RSE UI leaks non-API types
|
||||||
|
********************************************************************************/
|
||||||
|
package org.eclipse.rse.ui.view;
|
||||||
|
|
||||||
|
import org.eclipse.rse.core.IRSESystemType;
|
||||||
|
import org.eclipse.rse.core.model.IHost;
|
||||||
|
import org.eclipse.rse.core.model.ISystemViewInputProvider;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Public interface for the system resource selection input provider
|
||||||
|
* that is used in the SystemRemoteResourceDialog and the
|
||||||
|
* SystemResourceSelectionForm
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public interface ISystemResourceSelectionInputProvider
|
||||||
|
extends ISystemViewInputProvider
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Gets the associated system connection
|
||||||
|
* @return the system connection
|
||||||
|
*/
|
||||||
|
public IHost getSystemConnection();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Indicates whether the input provider should allow new connections
|
||||||
|
* to be created.
|
||||||
|
* @param flag whether new connections should be allowed
|
||||||
|
*/
|
||||||
|
public void setAllowNewConnection(boolean flag);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns whether multiple connections can be displayed via the
|
||||||
|
* input provider
|
||||||
|
* @return true if multiple connections are allowed
|
||||||
|
*/
|
||||||
|
public boolean allowMultipleConnections();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns whether new connections can be created from the view
|
||||||
|
* using this input provider.
|
||||||
|
* @return true if new connections are allowed.
|
||||||
|
*/
|
||||||
|
public boolean allowNewConnection();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the category for the view using the input provider (i.e. "files")
|
||||||
|
* @return the category
|
||||||
|
*/
|
||||||
|
public String getCategory();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the system types allowed for this input provider
|
||||||
|
* @param types the types of systems
|
||||||
|
*/
|
||||||
|
public void setSystemTypes(IRSESystemType[] types);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the system types allowed for the associated control
|
||||||
|
* @return the system types
|
||||||
|
*/
|
||||||
|
public IRSESystemType[] getSystemTypes();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the associated system connection for the input provider
|
||||||
|
* @param connection the connection
|
||||||
|
* @param onlyConnection whether other connections are allowed
|
||||||
|
*/
|
||||||
|
public void setSystemConnection(IHost connection, boolean onlyConnection);
|
||||||
|
}
|
Loading…
Add table
Reference in a new issue