Lines 13-28
Link Here
|
13 |
import java.util.ArrayList; |
13 |
import java.util.ArrayList; |
14 |
import java.util.Iterator; |
14 |
import java.util.Iterator; |
15 |
|
15 |
|
|
|
16 |
import org.eclipse.team.ui.synchronize.SyncInfoCompareInput; |
17 |
|
16 |
import org.eclipse.swt.SWT; |
18 |
import org.eclipse.swt.SWT; |
17 |
import org.eclipse.swt.events.DisposeEvent; |
19 |
import org.eclipse.swt.events.DisposeEvent; |
18 |
import org.eclipse.swt.widgets.Composite; |
20 |
import org.eclipse.swt.widgets.Composite; |
19 |
|
21 |
|
|
|
22 |
import org.eclipse.core.resources.IFile; |
20 |
import org.eclipse.core.resources.IResource; |
23 |
import org.eclipse.core.resources.IResource; |
21 |
import org.eclipse.core.resources.ProjectScope; |
24 |
import org.eclipse.core.resources.ProjectScope; |
22 |
|
25 |
|
|
|
26 |
import org.eclipse.jface.action.IAction; |
23 |
import org.eclipse.jface.preference.IPreferenceStore; |
27 |
import org.eclipse.jface.preference.IPreferenceStore; |
24 |
import org.eclipse.jface.util.IPropertyChangeListener; |
28 |
import org.eclipse.jface.util.IPropertyChangeListener; |
25 |
import org.eclipse.jface.util.PropertyChangeEvent; |
29 |
import org.eclipse.jface.util.PropertyChangeEvent; |
|
|
30 |
import org.eclipse.jface.viewers.ISelectionProvider; |
26 |
|
31 |
|
27 |
import org.eclipse.jface.text.BadLocationException; |
32 |
import org.eclipse.jface.text.BadLocationException; |
28 |
import org.eclipse.jface.text.IDocument; |
33 |
import org.eclipse.jface.text.IDocument; |
Lines 31-37
Link Here
|
31 |
import org.eclipse.jface.text.TextViewer; |
36 |
import org.eclipse.jface.text.TextViewer; |
32 |
import org.eclipse.jface.text.source.SourceViewer; |
37 |
import org.eclipse.jface.text.source.SourceViewer; |
33 |
|
38 |
|
|
|
39 |
import org.eclipse.ui.IEditorInput; |
40 |
import org.eclipse.ui.IEditorSite; |
41 |
import org.eclipse.ui.IWorkbenchPartSite; |
42 |
import org.eclipse.ui.part.FileEditorInput; |
43 |
|
34 |
import org.eclipse.ui.texteditor.ChainedPreferenceStore; |
44 |
import org.eclipse.ui.texteditor.ChainedPreferenceStore; |
|
|
45 |
import org.eclipse.ui.texteditor.ITextEditor; |
35 |
|
46 |
|
36 |
import org.eclipse.ui.editors.text.EditorsUI; |
47 |
import org.eclipse.ui.editors.text.EditorsUI; |
37 |
|
48 |
|
Lines 48-59
Link Here
|
48 |
import org.eclipse.jdt.core.IJavaProject; |
59 |
import org.eclipse.jdt.core.IJavaProject; |
49 |
import org.eclipse.jdt.core.JavaCore; |
60 |
import org.eclipse.jdt.core.JavaCore; |
50 |
|
61 |
|
|
|
62 |
import org.eclipse.jdt.ui.actions.IJavaEditorActionDefinitionIds; |
63 |
import org.eclipse.jdt.ui.actions.OpenAction; |
64 |
import org.eclipse.jdt.ui.actions.OpenTypeHierarchyAction; |
51 |
import org.eclipse.jdt.ui.text.IJavaPartitions; |
65 |
import org.eclipse.jdt.ui.text.IJavaPartitions; |
52 |
import org.eclipse.jdt.ui.text.JavaSourceViewerConfiguration; |
66 |
import org.eclipse.jdt.ui.text.JavaSourceViewerConfiguration; |
53 |
import org.eclipse.jdt.ui.text.JavaTextTools; |
67 |
import org.eclipse.jdt.ui.text.JavaTextTools; |
54 |
|
68 |
|
55 |
import org.eclipse.jdt.internal.ui.JavaPlugin; |
69 |
import org.eclipse.jdt.internal.ui.JavaPlugin; |
56 |
import org.eclipse.jdt.internal.ui.compare.JavaTokenComparator.ITokenComparatorFactory; |
70 |
import org.eclipse.jdt.internal.ui.compare.JavaTokenComparator.ITokenComparatorFactory; |
|
|
71 |
import org.eclipse.jdt.internal.ui.javaeditor.JavaEditor; |
57 |
import org.eclipse.jdt.internal.ui.text.PreferencesAdapter; |
72 |
import org.eclipse.jdt.internal.ui.text.PreferencesAdapter; |
58 |
|
73 |
|
59 |
|
74 |
|
Lines 369-372
Link Here
|
369 |
fPreferenceStore.addPropertyChangeListener(fPreferenceChangeListener); |
384 |
fPreferenceStore.addPropertyChangeListener(fPreferenceChangeListener); |
370 |
} |
385 |
} |
371 |
} |
386 |
} |
|
|
387 |
|
388 |
protected IAction contributeActionHook(ITextEditor textEditor) { |
389 |
OpenAction action= new OpenAction(new JavaEditorAdapter(textEditor)); |
390 |
action.setActionDefinitionId(IJavaEditorActionDefinitionIds.OPEN_EDITOR); |
391 |
return action; |
392 |
} |
393 |
|
394 |
protected IAction contributeActionHook2(ITextEditor textEditor) { |
395 |
OpenTypeHierarchyAction action= new OpenTypeHierarchyAction(new JavaEditorAdapter(textEditor)); |
396 |
action.setActionDefinitionId(IJavaEditorActionDefinitionIds.OPEN_HIERARCHY); |
397 |
return action; |
398 |
} |
399 |
|
400 |
private class JavaEditorAdapter extends JavaEditor { |
401 |
|
402 |
ITextEditor fTextEditor; |
403 |
|
404 |
public JavaEditorAdapter(ITextEditor textEditor) { |
405 |
fTextEditor = textEditor; |
406 |
} |
407 |
|
408 |
public IEditorSite getEditorSite() { |
409 |
/* |
410 |
* IWorkbenchSite returned by org.eclipse.compare.internal.MergeSourceViewer.TextEditorAdapter |
411 |
* (fTextEditor) is an instance of IEditorSite since |
412 |
* org.eclipse.compare.internal.CompareEditor.EditorCompareContainer (ICompareContainer) |
413 |
* we're referring to returns CompareEditor.this (IEditorSite) when asked for WorkbenchPart |
414 |
*/ |
415 |
return (IEditorSite) fTextEditor.getSite(); |
416 |
} |
417 |
|
418 |
public IEditorInput getEditorInput() { |
419 |
IEditorInput input= fTextEditor.getEditorInput(); |
420 |
// TODO: use something more reliable and/or general |
421 |
if (input instanceof SyncInfoCompareInput) { |
422 |
SyncInfoCompareInput sici = (SyncInfoCompareInput) input; |
423 |
return new FileEditorInput((IFile)sici.getAdapter(IFile.class)); |
424 |
} |
425 |
return null; |
426 |
} |
427 |
|
428 |
public IWorkbenchPartSite getSite() { |
429 |
return fTextEditor.getSite(); |
430 |
} |
431 |
|
432 |
public ISelectionProvider getSelectionProvider() { |
433 |
return fTextEditor.getSelectionProvider(); |
434 |
} |
435 |
|
436 |
protected IJavaElement getCorrespondingElement(IJavaElement element) { |
437 |
// defining interface method |
438 |
return null; |
439 |
} |
440 |
|
441 |
protected IJavaElement getElementAt(int offset) { |
442 |
// defining interface method |
443 |
return null; |
444 |
} |
445 |
} |
446 |
|
372 |
} |
447 |
} |