mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-07-03 15:15:25 +02:00
bug 367559: Fixed exception in MakeContentProvider, viewer can be
TableViewer.
This commit is contained in:
parent
07a1143ce3
commit
f68309419d
1 changed files with 18 additions and 4 deletions
|
@ -46,6 +46,8 @@ import org.eclipse.core.runtime.preferences.IEclipsePreferences.IPreferenceChang
|
||||||
import org.eclipse.core.runtime.preferences.IEclipsePreferences.PreferenceChangeEvent;
|
import org.eclipse.core.runtime.preferences.IEclipsePreferences.PreferenceChangeEvent;
|
||||||
import org.eclipse.core.runtime.preferences.InstanceScope;
|
import org.eclipse.core.runtime.preferences.InstanceScope;
|
||||||
import org.eclipse.jface.viewers.ITreeContentProvider;
|
import org.eclipse.jface.viewers.ITreeContentProvider;
|
||||||
|
import org.eclipse.jface.viewers.StructuredViewer;
|
||||||
|
import org.eclipse.jface.viewers.TableViewer;
|
||||||
import org.eclipse.jface.viewers.TreeViewer;
|
import org.eclipse.jface.viewers.TreeViewer;
|
||||||
import org.eclipse.jface.viewers.Viewer;
|
import org.eclipse.jface.viewers.Viewer;
|
||||||
import org.eclipse.swt.widgets.Display;
|
import org.eclipse.swt.widgets.Display;
|
||||||
|
@ -63,7 +65,7 @@ public class MakeContentProvider implements ITreeContentProvider, IMakeTargetLis
|
||||||
/** presentation of the content, i.e. for MakeView tree of for BuildTargetDialog table */
|
/** presentation of the content, i.e. for MakeView tree of for BuildTargetDialog table */
|
||||||
protected boolean bFlatten;
|
protected boolean bFlatten;
|
||||||
|
|
||||||
protected TreeViewer viewer;
|
protected StructuredViewer viewer;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Default constructor.
|
* Default constructor.
|
||||||
|
@ -190,7 +192,7 @@ public class MakeContentProvider implements ITreeContentProvider, IMakeTargetLis
|
||||||
if (this.viewer == null) {
|
if (this.viewer == null) {
|
||||||
MakeCorePlugin.getDefault().getTargetManager().addListener(this);
|
MakeCorePlugin.getDefault().getTargetManager().addListener(this);
|
||||||
}
|
}
|
||||||
this.viewer = (TreeViewer) viewer;
|
this.viewer = (StructuredViewer) viewer;
|
||||||
IWorkspace oldWorkspace = null;
|
IWorkspace oldWorkspace = null;
|
||||||
IWorkspace newWorkspace = null;
|
IWorkspace newWorkspace = null;
|
||||||
if (oldInput instanceof IWorkspace) {
|
if (oldInput instanceof IWorkspace) {
|
||||||
|
@ -242,11 +244,23 @@ public class MakeContentProvider implements ITreeContentProvider, IMakeTargetLis
|
||||||
if (viewer == null || viewer.getControl() == null || viewer.getControl().isDisposed())
|
if (viewer == null || viewer.getControl() == null || viewer.getControl().isDisposed())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (viewer.getTree().getItemCount() <= 0) {
|
int itemCount = 0;
|
||||||
|
if (viewer instanceof TreeViewer) {
|
||||||
|
((TreeViewer) viewer).getTree().getItemCount();
|
||||||
|
} else if (viewer instanceof TableViewer) {
|
||||||
|
((TableViewer) viewer).getTable().getItemCount();
|
||||||
|
}
|
||||||
|
if (itemCount <= 0) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
Object firstItem = viewer.getTree().getItem(0).getData();
|
Object firstItem = null;
|
||||||
|
if (viewer instanceof TreeViewer) {
|
||||||
|
firstItem = ((TreeViewer) viewer).getTree().getItem(0).getData();
|
||||||
|
} else if (viewer instanceof TableViewer) {
|
||||||
|
firstItem = ((TableViewer) viewer).getTable().getItem(0).getData();
|
||||||
|
}
|
||||||
|
|
||||||
IContainer parentContainer = null;
|
IContainer parentContainer = null;
|
||||||
|
|
||||||
boolean isDrilledDown = !(firstItem instanceof IProject);
|
boolean isDrilledDown = !(firstItem instanceof IProject);
|
||||||
|
|
Loading…
Add table
Reference in a new issue