1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-07-05 08:05:24 +02:00

more table-tree view issues

This commit is contained in:
David McKnight 2006-10-11 16:40:24 +00:00
parent 08d0150b25
commit 2077b763ea
6 changed files with 27 additions and 3 deletions

View file

@ -1501,6 +1501,7 @@ public class SystemView extends TreeViewer implements ISystemTree, ISystemResour
job.setPriority(Job.INTERACTIVE);
//job.setUser(true);
job.schedule();
/*
Display display = Display.getCurrent();
try {
while (job.getResult() == null) {
@ -1511,6 +1512,7 @@ public class SystemView extends TreeViewer implements ISystemTree, ISystemResour
}
} catch (InterruptedException e) {
}
*/
}
/**

View file

@ -3,6 +3,7 @@ package org.eclipse.rse.ui.view;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.swt.widgets.Display;
import org.eclipse.ui.progress.DeferredTreeContentManager;
import org.eclipse.ui.views.properties.IPropertyDescriptor;
public class SystemDeferredTableTreeContentManager extends
DeferredTreeContentManager {
@ -20,7 +21,11 @@ public class SystemDeferredTableTreeContentManager extends
super.addChildren(parent, children, monitor);
_provider.setCachedObjects(parent, children);
Display.getDefault().asyncExec(new RelayoutView(parent));
IPropertyDescriptor[] descriptors = _view.getUniqueDescriptors();
if (descriptors == null)
{
Display.getDefault().asyncExec(new RelayoutView(parent));
}
}

View file

@ -436,6 +436,12 @@ implements IMenuListener, ISystemDeleteTarget, ISystemRenameTarget, ISystemSelec
{
return _columnManager.getVisibleDescriptors(adapter);
}
public IPropertyDescriptor[] getUniqueDescriptors()
{
return _uniqueDescriptors;
}
/**
* Used to determine what the columns should be on the table.
*/
@ -855,7 +861,7 @@ implements IMenuListener, ISystemDeleteTarget, ISystemRenameTarget, ISystemSelec
{
if (!madeChange)
{
provider.flushCache();
//provider.flushCache();
madeChange = true;
}

View file

@ -62,6 +62,7 @@ public class SystemTableTreeViewProvider implements ILabelProvider, ITableLabelP
protected Viewer _viewer = null;
protected int _maxCharsInColumnZero = 0;
private SystemDeferredTableTreeContentManager manager;
private boolean _disableDeferredQueries = false;
/**
* The cache of images that have been dispensed by this provider.
@ -433,9 +434,15 @@ public class SystemTableTreeViewProvider implements ILabelProvider, ITableLabelP
public void dispose() {
}
public void disableDeferredQueries(boolean disable)
{
_disableDeferredQueries = disable;
}
protected boolean supportsDeferredQueries()
{
if (_disableDeferredQueries)
return false;
IPreferenceStore store = RSEUIPlugin.getDefault().getPreferenceStore();
return store.getBoolean(ISystemPreferencesConstants.USE_DEFERRED_QUERIES);
}

View file

@ -1501,6 +1501,7 @@ public class SystemView extends TreeViewer implements ISystemTree, ISystemResour
job.setPriority(Job.INTERACTIVE);
//job.setUser(true);
job.schedule();
/*
Display display = Display.getCurrent();
try {
while (job.getResult() == null) {
@ -1511,6 +1512,7 @@ public class SystemView extends TreeViewer implements ISystemTree, ISystemResour
}
} catch (InterruptedException e) {
}
*/
}
/**

View file

@ -48,6 +48,7 @@ public class SystemSearchTableView extends SystemTableTreeView
super(tabletree, msgLine);
this.resultSet = resultSet;
_provider.disableDeferredQueries(true);
setLabelProvider(new SystemDecoratingLabelProvider(_provider, RSEUIPlugin.getDefault().getWorkbench().getDecoratorManager().getLabelDecorator()));
}
@ -155,7 +156,7 @@ public class SystemSearchTableView extends SystemTableTreeView
case ISystemRemoteChangeEvents.SYSTEM_REMOTE_RESOURCE_RENAMED :
{
Object resource = event.getResource();
String resourceOldPath = event.getOldName();
// String resourceOldPath = event.getOldName();
/** FIXME - IREmoteFile is systems.core independent now
// we only care about remote file renames
@ -307,6 +308,7 @@ public class SystemSearchTableView extends SystemTableTreeView
if ((previousResults == null || previousResults.length == 0) && newResults.length != 0) {
provider.flushCache();
refresh(getInput());
}
else if (previousResults != null) {