View | Details | Raw Unified | Return to bug 286219 | Differences between
and this patch

Collapse All | Expand All

(-)a/plugins/org.eclipse.compare/compare/org/eclipse/compare/CompareEditorInput.java (-2 / +3 lines)
Lines 39-44 import org.eclipse.core.runtime.IProgressMonitor; Link Here
39
import org.eclipse.core.runtime.IStatus;
39
import org.eclipse.core.runtime.IStatus;
40
import org.eclipse.core.runtime.ListenerList;
40
import org.eclipse.core.runtime.ListenerList;
41
import org.eclipse.core.runtime.OperationCanceledException;
41
import org.eclipse.core.runtime.OperationCanceledException;
42
import org.eclipse.core.runtime.PlatformObject;
42
import org.eclipse.core.runtime.Status;
43
import org.eclipse.core.runtime.Status;
43
import org.eclipse.core.runtime.jobs.Job;
44
import org.eclipse.core.runtime.jobs.Job;
44
import org.eclipse.jface.action.IStatusLineManager;
45
import org.eclipse.jface.action.IStatusLineManager;
Lines 143-149 import org.eclipse.ui.texteditor.ITextEditorExtension3; Link Here
143
 * @see CompareUI
144
 * @see CompareUI
144
 * @see CompareEditorInput
145
 * @see CompareEditorInput
145
 */
146
 */
146
public abstract class CompareEditorInput implements IEditorInput, IPropertyChangeNotifier, IRunnableWithProgress, ICompareContainer {
147
public abstract class CompareEditorInput extends PlatformObject implements IEditorInput, IPropertyChangeNotifier, IRunnableWithProgress, ICompareContainer {
147
148
148
	private static final boolean DEBUG= false;
149
	private static final boolean DEBUG= false;
149
	
150
	
Lines 329-335 public abstract class CompareEditorInput implements IEditorInput, IPropertyChang Link Here
329
			}
330
			}
330
		}
331
		}
331
332
332
		return null;
333
		return super.getAdapter(adapter);
333
	}
334
	}
334
335
335
	public synchronized ICompareNavigator getNavigator() {
336
	public synchronized ICompareNavigator getNavigator() {
(-)a/plugins/org.eclipse.compare/compare/org/eclipse/compare/internal/AdapterFactory.java (+33 lines)
Added Link Here
1
package org.eclipse.compare.internal;
2
3
import org.eclipse.compare.CompareEditorInput;
4
import org.eclipse.core.resources.IResource;
5
import org.eclipse.core.runtime.IAdaptable;
6
import org.eclipse.core.runtime.IAdapterFactory;
7
import org.eclipse.ui.IContributorResourceAdapter;
8
import org.eclipse.ui.IEditorInput;
9
import org.eclipse.ui.IFileEditorInput;
10
11
public class AdapterFactory implements IAdapterFactory {
12
13
	public Object getAdapter(final Object adaptableObject, Class adapterType) {
14
		if (IContributorResourceAdapter.class.equals(adapterType)
15
				&& adaptableObject instanceof CompareEditorInput) {
16
			return new IContributorResourceAdapter() {
17
				public IResource getAdaptedResource(IAdaptable adaptable) {
18
					Object ei = ((CompareEditorInput) adaptableObject)
19
							.getAdapter(IEditorInput.class);
20
					if (ei instanceof IFileEditorInput) {
21
						return ((IFileEditorInput) ei).getFile();
22
					}
23
					return null;
24
				}
25
			};
26
		}
27
		return null;
28
	}
29
30
	public Class[] getAdapterList() {
31
		return new Class[] { IContributorResourceAdapter.class };
32
	}
33
}
(-)a/plugins/org.eclipse.compare/compare/org/eclipse/compare/internal/CompareEditor.java (-1 / +1 lines)
Lines 111-117 public class CompareEditor extends EditorPart implements IReusableEditor, ISavea Link Here
111
		public void registerContextMenu(MenuManager menu, ISelectionProvider provider) {
111
		public void registerContextMenu(MenuManager menu, ISelectionProvider provider) {
112
			if (getSite() instanceof IEditorSite) {
112
			if (getSite() instanceof IEditorSite) {
113
				IEditorSite es = (IEditorSite) getSite();
113
				IEditorSite es = (IEditorSite) getSite();
114
				es.registerContextMenu(menu, provider, false);
114
				es.registerContextMenu(menu, provider, true);
115
			}
115
			}
116
		}
116
		}
117
117
(-)a/plugins/org.eclipse.compare/plugin.xml (+10 lines)
Lines 340-344 Link Here
340
            class="org.eclipse.compare.internal.ComparePreferenceInitializer">
340
            class="org.eclipse.compare.internal.ComparePreferenceInitializer">
341
      </initializer>
341
      </initializer>
342
   </extension>
342
   </extension>
343
   <extension
344
         point="org.eclipse.core.runtime.adapters">
345
      <factory
346
            adaptableType="org.eclipse.compare.CompareEditorInput"
347
            class="org.eclipse.compare.internal.AdapterFactory">
348
         <adapter
349
               type="org.eclipse.ui.IContributorResourceAdapter">
350
         </adapter>
351
      </factory>
352
   </extension>
343
353
344
</plugin>
354
</plugin>

Return to bug 286219