mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-06-09 18:56:02 +02:00
[422844] rse.files.ui fails to compile against Eclipse 4.4 Luna
I20131126
This commit is contained in:
parent
2e8b377823
commit
94a8a330e1
2 changed files with 50 additions and 42 deletions
|
@ -1,5 +1,5 @@
|
||||||
/*******************************************************************************
|
/*******************************************************************************
|
||||||
* Copyright (c) 2000, 2008 IBM Corporation and others.
|
* Copyright (c) 2000, 2013 IBM Corporation and others.
|
||||||
* All rights reserved. This program and the accompanying materials
|
* All rights reserved. This program and the accompanying materials
|
||||||
* are made available under the terms of the Eclipse Public License v1.0
|
* are made available under the terms of the Eclipse Public License v1.0
|
||||||
* which accompanies this distribution, and is available at
|
* which accompanies this distribution, and is available at
|
||||||
|
@ -12,10 +12,13 @@
|
||||||
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
|
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
|
||||||
*
|
*
|
||||||
* Contributors:
|
* Contributors:
|
||||||
* {Name} (company) - description of contribution.
|
* David McKnight (IBM) - [422844] rse.files.ui fails to compile against Eclipse 4.4 Luna I20131126
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
|
|
||||||
package org.eclipse.rse.internal.files.ui.widgets;
|
package org.eclipse.rse.internal.files.ui.widgets;
|
||||||
|
import java.lang.reflect.Field;
|
||||||
|
|
||||||
|
import org.eclipse.jface.viewers.CheckboxTableViewer;
|
||||||
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;
|
||||||
|
@ -23,6 +26,7 @@ import org.eclipse.jface.viewers.ITreeContentProvider;
|
||||||
import org.eclipse.jface.viewers.SelectionChangedEvent;
|
import org.eclipse.jface.viewers.SelectionChangedEvent;
|
||||||
import org.eclipse.rse.subsystems.files.core.subsystems.RemoteFileEmpty;
|
import org.eclipse.rse.subsystems.files.core.subsystems.RemoteFileEmpty;
|
||||||
import org.eclipse.swt.widgets.Composite;
|
import org.eclipse.swt.widgets.Composite;
|
||||||
|
import org.eclipse.swt.widgets.Table;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -36,11 +40,10 @@ import org.eclipse.swt.widgets.Composite;
|
||||||
* We subclass this to add some slight additional functionality, including support for
|
* We subclass this to add some slight additional functionality, including support for
|
||||||
* refreshing the contents.
|
* refreshing the contents.
|
||||||
*/
|
*/
|
||||||
public class SystemFileTreeAndListGroup extends org.eclipse.ui.internal.ide.dialogs.ResourceTreeAndListGroup
|
public class SystemFileTreeAndListGroup extends org.eclipse.ui.ide.dialogs.ResourceTreeAndListGroup
|
||||||
{
|
{
|
||||||
private Object rootObject = null;
|
private Object rootObject = null;
|
||||||
private Object lastSelectedElement = null;
|
|
||||||
//private ISelectionProvider selectionProvider = null;
|
|
||||||
// CONSTANTS
|
// CONSTANTS
|
||||||
private static final RemoteFileEmpty EMPTYROOT = new RemoteFileEmpty();
|
private static final RemoteFileEmpty EMPTYROOT = new RemoteFileEmpty();
|
||||||
|
|
||||||
|
@ -122,29 +125,8 @@ public class SystemFileTreeAndListGroup extends org.eclipse.ui.internal.ide.dial
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Refesh the contents of the file-selection checkbox viewer.
|
|
||||||
*/
|
|
||||||
public void refreshFiles()
|
|
||||||
{
|
|
||||||
if (lastSelectedElement != null)
|
|
||||||
populateListViewer(lastSelectedElement);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Handle the selection of an item in the tree viewer.
|
|
||||||
* Intercept of parent so we can record the last selected tree node.
|
|
||||||
* @param event the selection changed event
|
|
||||||
*/
|
|
||||||
public void selectionChanged(SelectionChangedEvent event)
|
|
||||||
{
|
|
||||||
IStructuredSelection selection = (IStructuredSelection) event.getSelection();
|
|
||||||
lastSelectedElement = selection.getFirstElement();
|
|
||||||
//selectionProvider = event.getSelectionProvider();
|
|
||||||
super.selectionChanged(event);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set the root of the widget to be new Root. Regenerate all of the tables and lists from this
|
* Set the root of the widget to be new Root. Regenerate all of the tables and lists from this
|
||||||
|
@ -154,7 +136,6 @@ public class SystemFileTreeAndListGroup extends org.eclipse.ui.internal.ide.dial
|
||||||
*/
|
*/
|
||||||
public void setRoot(Object newRoot)
|
public void setRoot(Object newRoot)
|
||||||
{
|
{
|
||||||
lastSelectedElement = null;
|
|
||||||
rootObject = newRoot;
|
rootObject = newRoot;
|
||||||
super.setRoot(newRoot);
|
super.setRoot(newRoot);
|
||||||
}
|
}
|
||||||
|
@ -166,4 +147,20 @@ public class SystemFileTreeAndListGroup extends org.eclipse.ui.internal.ide.dial
|
||||||
{
|
{
|
||||||
setRoot(EMPTYROOT);
|
setRoot(EMPTYROOT);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Added this to preserve original behaviour with Luna
|
||||||
|
*/
|
||||||
|
public Table getListTable(){
|
||||||
|
try {
|
||||||
|
Field f = getClass().getDeclaredField("listViewer"); //$NON-NLS-1$
|
||||||
|
f.setAccessible(true);
|
||||||
|
CheckboxTableViewer tableV = (CheckboxTableViewer) f.get(this); //IllegalAccessException
|
||||||
|
return tableV.getTable();
|
||||||
|
}
|
||||||
|
catch (Exception e){
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,11 +20,13 @@
|
||||||
* David McKnight (IBM) - [191558] [importexport][efs] Import to Project doesn't work with remote EFS projects
|
* David McKnight (IBM) - [191558] [importexport][efs] Import to Project doesn't work with remote EFS projects
|
||||||
* David McKnight (IBM) - [368465] Import Files -RSE - Cyclic Symbolic Reference problem
|
* David McKnight (IBM) - [368465] Import Files -RSE - Cyclic Symbolic Reference problem
|
||||||
* David McKnight (IBM) - [417033] [import/export] RSE import wizard won't let user to select new source
|
* David McKnight (IBM) - [417033] [import/export] RSE import wizard won't let user to select new source
|
||||||
|
* David McKnight (IBM) - [422844] rse.files.ui fails to compile against Eclipse 4.4 Luna I20131126
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.eclipse.rse.internal.importexport.files;
|
package org.eclipse.rse.internal.importexport.files;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import java.lang.reflect.Field;
|
||||||
import java.lang.reflect.InvocationTargetException;
|
import java.lang.reflect.InvocationTargetException;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
|
@ -56,6 +58,7 @@ import org.eclipse.jface.viewers.IStructuredSelection;
|
||||||
import org.eclipse.jface.viewers.ITreeContentProvider;
|
import org.eclipse.jface.viewers.ITreeContentProvider;
|
||||||
import org.eclipse.jface.viewers.SelectionChangedEvent;
|
import org.eclipse.jface.viewers.SelectionChangedEvent;
|
||||||
import org.eclipse.jface.viewers.StructuredSelection;
|
import org.eclipse.jface.viewers.StructuredSelection;
|
||||||
|
import org.eclipse.jface.viewers.TreeViewer;
|
||||||
import org.eclipse.jface.window.Window;
|
import org.eclipse.jface.window.Window;
|
||||||
import org.eclipse.osgi.util.NLS;
|
import org.eclipse.osgi.util.NLS;
|
||||||
import org.eclipse.rse.core.model.IHost;
|
import org.eclipse.rse.core.model.IHost;
|
||||||
|
@ -148,21 +151,25 @@ class RemoteImportWizardPage1 extends WizardResourceImportPage implements Listen
|
||||||
private MinimizedFileSystemElement _element;
|
private MinimizedFileSystemElement _element;
|
||||||
private List _resultsQueried;
|
private List _resultsQueried;
|
||||||
private volatile boolean _isActive = false;
|
private volatile boolean _isActive = false;
|
||||||
|
private RemoteImportWizardPage1 _page;
|
||||||
private Control _control;
|
private Control _control;
|
||||||
|
|
||||||
public QueryAllJob(Object fileSystemObject, IImportStructureProvider provider, MinimizedFileSystemElement element, Control control){
|
//public QueryAllJob(Object fileSystemObject, IImportStructureProvider provider, MinimizedFileSystemElement element, Control control){
|
||||||
|
public QueryAllJob(Object fileSystemObject, IImportStructureProvider provider, MinimizedFileSystemElement element, RemoteImportWizardPage1 page){
|
||||||
super("Querying All"); //$NON-NLS-1$
|
super("Querying All"); //$NON-NLS-1$
|
||||||
_fileSystemObject = fileSystemObject;
|
_fileSystemObject = fileSystemObject;
|
||||||
_provider = provider;
|
_provider = provider;
|
||||||
_element = element;
|
_element = element;
|
||||||
_control = control;
|
_page = page;
|
||||||
_resultsQueried = new ArrayList();
|
_resultsQueried = new ArrayList();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public IStatus run(IProgressMonitor monitor){
|
public IStatus run(IProgressMonitor monitor){
|
||||||
_isActive = true;
|
_isActive = true;
|
||||||
|
if (_control == null){
|
||||||
|
_control = _page.getControl();
|
||||||
|
}
|
||||||
final Display d = _control.getDisplay();
|
final Display d = _control.getDisplay();
|
||||||
d.syncExec(new Runnable(){
|
d.syncExec(new Runnable(){
|
||||||
public void run(){
|
public void run(){
|
||||||
|
@ -234,15 +241,18 @@ class RemoteImportWizardPage1 extends WizardResourceImportPage implements Listen
|
||||||
if (element == _element){
|
if (element == _element){
|
||||||
Display.getDefault().asyncExec(new Runnable(){
|
Display.getDefault().asyncExec(new Runnable(){
|
||||||
public void run(){
|
public void run(){
|
||||||
DummyProvider provider = new DummyProvider();
|
try {
|
||||||
|
Field treeViewerF = selectionGroup.getClass().getDeclaredField("treeViewer"); //$NON-NLS-1$
|
||||||
ISelection sel1 = new StructuredSelection(_element.getParent());
|
treeViewerF.setAccessible(true);
|
||||||
SelectionChangedEvent evt1 = new SelectionChangedEvent(provider, sel1);
|
TreeViewer treeV = (TreeViewer) treeViewerF.get(selectionGroup);
|
||||||
selectionGroup.selectionChanged(evt1);
|
|
||||||
|
// selection handling to get table populated
|
||||||
ISelection sel2 = new StructuredSelection(_element);
|
treeV.setSelection(new StructuredSelection(_element.getParent()));
|
||||||
SelectionChangedEvent evt2 = new SelectionChangedEvent(provider, sel2);
|
treeV.setSelection(new StructuredSelection(_element));
|
||||||
selectionGroup.selectionChanged(evt2);
|
} catch (NoSuchFieldException e) {
|
||||||
|
} catch (IllegalAccessException e){
|
||||||
|
} catch (SecurityException e) {
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -576,8 +586,9 @@ class RemoteImportWizardPage1 extends WizardResourceImportPage implements Listen
|
||||||
result.setFileSystemObject(fileSystemObject);
|
result.setFileSystemObject(fileSystemObject);
|
||||||
|
|
||||||
if (_queryAllJob == null){
|
if (_queryAllJob == null){
|
||||||
_queryAllJob = new QueryAllJob(fileSystemObject, provider, result, getControl());
|
//_queryAllJob = new QueryAllJob(fileSystemObject, provider, result, getControl());
|
||||||
_queryAllJob.schedule();
|
_queryAllJob = new QueryAllJob(fileSystemObject, provider, result, this);
|
||||||
|
_queryAllJob.schedule(1000); // need time for control to be created
|
||||||
}
|
}
|
||||||
|
|
||||||
////Get the files for the element so as to build the first level
|
////Get the files for the element so as to build the first level
|
||||||
|
|
Loading…
Add table
Reference in a new issue