1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-08-11 18:25:40 +02:00

Bug 362710 - Exception "Can only enable the hash look up before input has been set"

This commit is contained in:
Anton Leherbauer 2011-11-04 09:53:34 +01:00
parent 87c046746f
commit 4db12e7212

View file

@ -315,6 +315,7 @@ public abstract class AbstractCModelOutlinePage extends Page implements IContent
/* /*
* @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class) * @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class)
*/ */
@Override
@SuppressWarnings("rawtypes") @SuppressWarnings("rawtypes")
public Object getAdapter(Class key) { public Object getAdapter(Class key) {
if (key == IShowInSource.class) { if (key == IShowInSource.class) {
@ -322,6 +323,7 @@ public abstract class AbstractCModelOutlinePage extends Page implements IContent
} }
if (key == IShowInTargetList.class) { if (key == IShowInTargetList.class) {
return new IShowInTargetList() { return new IShowInTargetList() {
@Override
public String[] getShowInTargetIds() { public String[] getShowInTargetIds() {
return new String[] { ProjectExplorer.VIEW_ID }; return new String[] { ProjectExplorer.VIEW_ID };
} }
@ -340,6 +342,7 @@ public abstract class AbstractCModelOutlinePage extends Page implements IContent
*/ */
protected IShowInSource getShowInSource() { protected IShowInSource getShowInSource() {
return new IShowInSource() { return new IShowInSource() {
@Override
public ShowInContext getShowInContext() { public ShowInContext getShowInContext() {
return new ShowInContext( return new ShowInContext(
null, null,
@ -355,6 +358,7 @@ public abstract class AbstractCModelOutlinePage extends Page implements IContent
*/ */
protected IShowInTarget getShowInTarget() { protected IShowInTarget getShowInTarget() {
return new IShowInTarget() { return new IShowInTarget() {
@Override
public boolean show(ShowInContext context) { public boolean show(ShowInContext context) {
ISelection sel= context.getSelection(); ISelection sel= context.getSelection();
if (sel instanceof ITextSelection) { if (sel instanceof ITextSelection) {
@ -457,13 +461,13 @@ public abstract class AbstractCModelOutlinePage extends Page implements IContent
} }
protected ProblemTreeViewer createTreeViewer(Composite parent) { protected ProblemTreeViewer createTreeViewer(Composite parent) {
fTreeViewer = new OutlineTreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL); ProblemTreeViewer treeViewer = new OutlineTreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
fTreeViewer.setContentProvider(createContentProvider(fTreeViewer)); treeViewer.setContentProvider(createContentProvider(treeViewer));
fTreeViewer.setLabelProvider(new DecoratingCLabelProvider(createLabelProvider(), true)); treeViewer.setLabelProvider(new DecoratingCLabelProvider(createLabelProvider(), true));
fTreeViewer.setAutoExpandLevel(3); treeViewer.setAutoExpandLevel(3);
fTreeViewer.setUseHashlookup(true); treeViewer.setUseHashlookup(true);
fTreeViewer.addSelectionChangedListener(this); treeViewer.addSelectionChangedListener(this);
return fTreeViewer; return treeViewer;
} }
private CUILabelProvider createLabelProvider() { private CUILabelProvider createLabelProvider() {
@ -478,6 +482,7 @@ public abstract class AbstractCModelOutlinePage extends Page implements IContent
MenuManager manager= new MenuManager(fContextMenuId); MenuManager manager= new MenuManager(fContextMenuId);
manager.setRemoveAllWhenShown(true); manager.setRemoveAllWhenShown(true);
manager.addMenuListener(new IMenuListener() { manager.addMenuListener(new IMenuListener() {
@Override
public void menuAboutToShow(IMenuManager manager) { public void menuAboutToShow(IMenuManager manager) {
contextMenuAboutToShow(manager); contextMenuAboutToShow(manager);
} }
@ -487,6 +492,7 @@ public abstract class AbstractCModelOutlinePage extends Page implements IContent
control.setMenu(fMenu); control.setMenu(fMenu);
fTreeViewer.addDoubleClickListener(new IDoubleClickListener() { fTreeViewer.addDoubleClickListener(new IDoubleClickListener() {
@Override
public void doubleClick(DoubleClickEvent event) { public void doubleClick(DoubleClickEvent event) {
if (fOpenIncludeAction != null) { if (fOpenIncludeAction != null) {
fOpenIncludeAction.run(); fOpenIncludeAction.run();
@ -660,6 +666,7 @@ public abstract class AbstractCModelOutlinePage extends Page implements IContent
return null; return null;
} }
@Override
public void addSelectionChangedListener(ISelectionChangedListener listener) { public void addSelectionChangedListener(ISelectionChangedListener listener) {
fSelectionChangedListeners.add(listener); fSelectionChangedListeners.add(listener);
} }
@ -696,6 +703,7 @@ public abstract class AbstractCModelOutlinePage extends Page implements IContent
return fTreeViewer.getControl(); return fTreeViewer.getControl();
} }
@Override
public ISelection getSelection() { public ISelection getSelection() {
if (fTreeViewer == null) if (fTreeViewer == null)
return StructuredSelection.EMPTY; return StructuredSelection.EMPTY;
@ -712,10 +720,12 @@ public abstract class AbstractCModelOutlinePage extends Page implements IContent
return fTreeViewer; return fTreeViewer;
} }
@Override
public void removeSelectionChangedListener(ISelectionChangedListener listener) { public void removeSelectionChangedListener(ISelectionChangedListener listener) {
fSelectionChangedListeners.remove(listener); fSelectionChangedListeners.remove(listener);
} }
@Override
public void selectionChanged(SelectionChangedEvent event) { public void selectionChanged(SelectionChangedEvent event) {
fireSelectionChanged(event.getSelection()); fireSelectionChanged(event.getSelection());
} }
@ -728,6 +738,7 @@ public abstract class AbstractCModelOutlinePage extends Page implements IContent
fTreeViewer.getControl().setFocus(); fTreeViewer.getControl().setFocus();
} }
@Override
public void setSelection(ISelection selection) { public void setSelection(ISelection selection) {
if (fTreeViewer != null) if (fTreeViewer != null)
fTreeViewer.setSelection(selection); fTreeViewer.setSelection(selection);