diff options
author | Michael Valenta | 2005-03-21 15:19:49 +0000 |
---|---|---|
committer | Michael Valenta | 2005-03-21 15:19:49 +0000 |
commit | 881b44d0c439a5f3cf2359888ea5e370061cd87d (patch) | |
tree | da235d2ae191080c9cb94cd1a5996403abc6abbe | |
parent | 07168238457bbd675afb6d9cb77f169388a1ab6c (diff) | |
download | eclipse.platform.team-881b44d0c439a5f3cf2359888ea5e370061cd87d.tar.gz eclipse.platform.team-881b44d0c439a5f3cf2359888ea5e370061cd87d.tar.xz eclipse.platform.team-881b44d0c439a5f3cf2359888ea5e370061cd87d.zip |
Bug 88456 Should avoid explicit checks for [I]FileEditorInput
3 files changed, 18 insertions, 12 deletions
diff --git a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/HistoryView.java b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/HistoryView.java index c5f62d5ea..b5fa5a70c 100644 --- a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/HistoryView.java +++ b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/HistoryView.java @@ -46,6 +46,7 @@ import org.eclipse.team.internal.ui.Utils; import org.eclipse.team.ui.synchronize.SyncInfoCompareInput; import org.eclipse.ui.*; import org.eclipse.ui.help.WorkbenchHelp; +import org.eclipse.ui.ide.ResourceUtil; import org.eclipse.ui.part.ResourceTransfer; import org.eclipse.ui.part.ViewPart; import org.eclipse.ui.texteditor.ITextEditorActionConstants; @@ -697,10 +698,11 @@ public class HistoryView extends ViewPart { showHistory(remote, false); } // Handle regular file editors - } else if (input instanceof IFileEditorInput) { - IFileEditorInput fileInput = (IFileEditorInput) input; - IFile file = fileInput.getFile(); - showHistory(file, false /* don't fetch if already cached */); + } else { + IFile file = ResourceUtil.getFile(input); + if(file != null) { + showHistory(file, false /* don't fetch if already cached */); + } } } diff --git a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/RemoteRevisionQuickDiffProvider.java b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/RemoteRevisionQuickDiffProvider.java index 047107882..6b63b9bb0 100644 --- a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/RemoteRevisionQuickDiffProvider.java +++ b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/RemoteRevisionQuickDiffProvider.java @@ -25,8 +25,8 @@ import org.eclipse.team.core.synchronize.SyncInfo; import org.eclipse.team.internal.ccvs.core.*; import org.eclipse.team.internal.ccvs.core.resources.CVSWorkspaceRoot; import org.eclipse.ui.IEditorInput; -import org.eclipse.ui.IFileEditorInput; import org.eclipse.ui.editors.text.IStorageDocumentProvider; +import org.eclipse.ui.ide.ResourceUtil; import org.eclipse.ui.texteditor.*; import org.eclipse.ui.texteditor.quickdiff.IQuickDiffReferenceProvider; @@ -137,7 +137,8 @@ public class RemoteRevisionQuickDiffProvider implements IQuickDiffReferenceProvi * @see org.eclipse.ui.texteditor.quickdiff.IQuickDiffProviderImplementation#setActiveEditor(org.eclipse.ui.texteditor.ITextEditor) */ public void setActiveEditor(ITextEditor targetEditor) { - if(! (targetEditor.getEditorInput() instanceof IFileEditorInput)) return; + IEditorInput editorInput = targetEditor.getEditorInput(); + if (editorInput == null || ResourceUtil.getFile(editorInput) == null) return; fEditor = targetEditor; fDocumentProvider= fEditor.getDocumentProvider(); @@ -318,9 +319,8 @@ public class RemoteRevisionQuickDiffProvider implements IQuickDiffReferenceProvi private IFile getFileFromEditor() { if(fEditor != null) { IEditorInput input= fEditor.getEditorInput(); - if (input instanceof IFileEditorInput) { - return ((IFileEditorInput)input).getFile(); - } + IFile file = ResourceUtil.getFile(input); + return file; } return null; } diff --git a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/actions/CVSAction.java b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/actions/CVSAction.java index 6571f6ca0..df59b0c2b 100644 --- a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/actions/CVSAction.java +++ b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/actions/CVSAction.java @@ -12,6 +12,8 @@ package org.eclipse.team.internal.ccvs.ui.actions; import java.lang.reflect.InvocationTargetException; import java.util.*; + +import org.eclipse.core.resources.IFile; import org.eclipse.core.resources.IResource; import org.eclipse.core.runtime.*; import org.eclipse.jface.action.IAction; @@ -38,6 +40,7 @@ import org.eclipse.ui.*; import org.eclipse.ui.actions.RetargetAction; import org.eclipse.ui.commands.*; import org.eclipse.ui.ide.IDE; +import org.eclipse.ui.ide.ResourceUtil; /** * CVSAction is the common superclass for all CVS actions. It provides @@ -610,9 +613,10 @@ abstract public class CVSAction extends TeamAction implements IEditorActionDeleg // If the action is run from within an editor, try and find the // file for the given editor. if(part != null && part instanceof IEditorPart) { - Object input = ((IEditorPart)part).getEditorInput(); - if(input instanceof IFileEditorInput) { - selectionChanged((IAction)null, new StructuredSelection(((IFileEditorInput)input).getFile())); + IEditorInput input = ((IEditorPart)part).getEditorInput(); + IFile file = ResourceUtil.getFile(input); + if(file != null) { + selectionChanged((IAction)null, new StructuredSelection(file)); } } else { // Fallback is to prime the action with the selection |