1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.seasar.eclipse.common.util;
17
18 import org.eclipse.core.resources.IResource;
19 import org.eclipse.jface.viewers.ISelection;
20 import org.eclipse.jface.viewers.IStructuredSelection;
21 import org.eclipse.ui.IEditorPart;
22 import org.eclipse.ui.IWorkbenchPage;
23 import org.eclipse.ui.IWorkbenchPart;
24 import org.eclipse.ui.IWorkbenchWindow;
25
26
27
28
29
30 public class ResouceUtil {
31
32 public static IResource getCurrentSelectedResouce() {
33 IResource result = null;
34 IWorkbenchWindow window = WorkbenchUtil.getWorkbenchWindow();
35 if (window != null) {
36 IWorkbenchPage page = window.getActivePage();
37 if (page != null) {
38
39 IWorkbenchPart part = page.getActivePart();
40 if (part instanceof IEditorPart) {
41 IEditorPart editor = (IEditorPart) part;
42 result = AdaptableUtil.toResource(editor.getEditorInput());
43 }
44 }
45 if (result == null) {
46 ISelection selection = window.getSelectionService()
47 .getSelection();
48 if (selection instanceof IStructuredSelection) {
49 IStructuredSelection ss = (IStructuredSelection) selection;
50 Object o = ss.getFirstElement();
51 result = AdaptableUtil.toResource(o);
52 }
53 }
54 }
55 return result;
56 }
57
58 }