|
Lines 52-57
Link Here
|
| 52 |
import org.eclipse.jdt.internal.corext.util.JavaModelUtil; |
52 |
import org.eclipse.jdt.internal.corext.util.JavaModelUtil; |
| 53 |
import org.eclipse.jdt.internal.corext.util.Messages; |
53 |
import org.eclipse.jdt.internal.corext.util.Messages; |
| 54 |
import org.eclipse.jdt.internal.corext.util.Resources; |
54 |
import org.eclipse.jdt.internal.corext.util.Resources; |
|
|
55 |
import org.eclipse.jdt.internal.ui.JavaPlugin; |
| 55 |
import org.eclipse.jdt.internal.ui.JavaPluginImages; |
56 |
import org.eclipse.jdt.internal.ui.JavaPluginImages; |
| 56 |
import org.eclipse.jdt.internal.ui.dialogs.StatusInfo; |
57 |
import org.eclipse.jdt.internal.ui.dialogs.StatusInfo; |
| 57 |
import org.eclipse.jdt.internal.ui.dialogs.StatusUtil; |
58 |
import org.eclipse.jdt.internal.ui.dialogs.StatusUtil; |
|
Lines 76-81
Link Here
|
| 76 |
import org.eclipse.jdt.ui.wizards.NewContainerWizardPage; |
77 |
import org.eclipse.jdt.ui.wizards.NewContainerWizardPage; |
| 77 |
import org.eclipse.jface.contentassist.SubjectControlContentAssistant; |
78 |
import org.eclipse.jface.contentassist.SubjectControlContentAssistant; |
| 78 |
import org.eclipse.jface.dialogs.Dialog; |
79 |
import org.eclipse.jface.dialogs.Dialog; |
|
|
80 |
import org.eclipse.jface.text.ITextSelection; |
| 79 |
import org.eclipse.jface.viewers.CellEditor; |
81 |
import org.eclipse.jface.viewers.CellEditor; |
| 80 |
import org.eclipse.jface.viewers.ICellModifier; |
82 |
import org.eclipse.jface.viewers.ICellModifier; |
| 81 |
import org.eclipse.jface.viewers.ISelection; |
83 |
import org.eclipse.jface.viewers.ISelection; |
|
Lines 99-104
Link Here
|
| 99 |
import org.eclipse.swt.widgets.Control; |
101 |
import org.eclipse.swt.widgets.Control; |
| 100 |
import org.eclipse.swt.widgets.Item; |
102 |
import org.eclipse.swt.widgets.Item; |
| 101 |
import org.eclipse.swt.widgets.Text; |
103 |
import org.eclipse.swt.widgets.Text; |
|
|
104 |
import org.eclipse.ui.IWorkbenchWindow; |
| 102 |
import org.eclipse.ui.contentassist.ContentAssistHandler; |
105 |
import org.eclipse.ui.contentassist.ContentAssistHandler; |
| 103 |
|
106 |
|
| 104 |
/** |
107 |
/** |
|
Lines 779-784
Link Here
|
| 779 |
initContainerPage(jelem); |
782 |
initContainerPage(jelem); |
| 780 |
initTypePage(jelem); |
783 |
initTypePage(jelem); |
| 781 |
} |
784 |
} |
|
|
785 |
|
| 786 |
@Override |
| 787 |
protected IJavaElement getInitialJavaElement(IStructuredSelection structuredSelection) { |
| 788 |
IJavaElement element = super.getInitialJavaElement(structuredSelection); |
| 789 |
if (element.getElementType() == IJavaElement.COMPILATION_UNIT) { |
| 790 |
// try to improve: |
| 791 |
IWorkbenchWindow window= JavaPlugin.getActiveWorkbenchWindow(); |
| 792 |
if (window != null) { |
| 793 |
ISelection selection= window.getSelectionService().getSelection(); |
| 794 |
if (selection instanceof ITextSelection) { |
| 795 |
ITextSelection textSelection = (ITextSelection) selection; |
| 796 |
try { |
| 797 |
IJavaElement selected = ((ICompilationUnit)element).getElementAt(textSelection.getOffset()); |
| 798 |
if (selected != null) { |
| 799 |
selected = selected.getAncestor(IJavaElement.TYPE); |
| 800 |
if (selected != null) { |
| 801 |
if (((IType)selected).isLocal()) |
| 802 |
selected = ((IType)selected).getDeclaringType(); |
| 803 |
return selected; |
| 804 |
} |
| 805 |
} |
| 806 |
} catch (JavaModelException e) { /* nop */ } |
| 807 |
} |
| 808 |
} |
| 809 |
} |
| 810 |
return element; |
| 811 |
} |
| 782 |
|
812 |
|
| 783 |
/** |
813 |
/** |
| 784 |
* Initializes all fields provided by the page with a given selection. |
814 |
* Initializes all fields provided by the page with a given selection. |