|
1 /* |
|
2 * Copyright (c) 2007 Borland Software Corporation |
|
3 * |
|
4 * All rights reserved. This program and the accompanying materials |
|
5 * are made available under the terms of the Eclipse Public License v1.0 |
|
6 * which accompanies this distribution, and is available at |
|
7 * http://www.eclipse.org/legal/epl-v10.html |
|
8 * |
|
9 * Contributors: |
|
10 * Artem Tikhomirov (Borland) - initial API and implementation |
|
11 */ |
|
12 «IMPORT "http://www.eclipse.org/gmf/2008/GenModel"» |
|
13 «IMPORT "http://www.eclipse.org/emf/2002/Ecore"» |
|
14 |
|
15 «DEFINE Class FOR gmfgen::GenPropertySheet» |
|
16 «EXPAND xpt::Common::copyright FOR editorGen-» |
|
17 package «packageName»; |
|
18 |
|
19 «EXPAND xpt::Common::generatedClassComment» |
|
20 public class «labelProviderClassName» extends «EXPAND extendsList» { |
|
21 |
|
22 «EXPAND cons» |
|
23 «EXPAND getTextMethod» |
|
24 «EXPAND getImageMethod» |
|
25 «EXPAND unwrapMethods» |
|
26 |
|
27 «EXPAND additions» |
|
28 } |
|
29 «ENDDEFINE» |
|
30 |
|
31 «DEFINE extendsList FOR gmfgen::GenPropertySheet»org.eclipse.jface.viewers.DecoratingLabelProvider«ENDDEFINE» |
|
32 |
|
33 «DEFINE cons FOR gmfgen::GenPropertySheet» |
|
34 «EXPAND xpt::Common::generatedMemberComment» |
|
35 public «labelProviderClassName»() { |
|
36 super(new org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider(«editorGen.plugin.getActivatorQualifiedClassName()».getInstance().getItemProvidersAdapterFactory()), null); |
|
37 } |
|
38 «ENDDEFINE» |
|
39 |
|
40 «DEFINE getTextMethod FOR gmfgen::GenPropertySheet» |
|
41 «EXPAND xpt::Common::generatedMemberComment» |
|
42 public String getText(Object element) { |
|
43 Object selected = unwrap(element); |
|
44 «IF editorGen.navigator != null-» |
|
45 if (selected instanceof «editorGen.navigator.getNavigatorGroupQualifiedClassName()») { |
|
46 return ((«editorGen.navigator.getNavigatorGroupQualifiedClassName()») selected).getGroupName(); |
|
47 } |
|
48 «ENDIF-» |
|
49 return super.getText(selected); |
|
50 } |
|
51 «ENDDEFINE» |
|
52 |
|
53 «DEFINE getImageMethod FOR gmfgen::GenPropertySheet» |
|
54 «EXPAND xpt::Common::generatedMemberComment» |
|
55 public org.eclipse.swt.graphics.Image getImage(Object element) { |
|
56 return super.getImage(unwrap(element)); |
|
57 } |
|
58 «ENDDEFINE» |
|
59 |
|
60 «DEFINE unwrapMethods FOR gmfgen::GenPropertySheet» |
|
61 «EXPAND xpt::Common::generatedMemberComment» |
|
62 private Object unwrap(Object element) { |
|
63 if (element instanceof org.eclipse.jface.viewers.IStructuredSelection) { |
|
64 return unwrap(((org.eclipse.jface.viewers.IStructuredSelection) element).getFirstElement()); |
|
65 } |
|
66 if (element instanceof org.eclipse.gef.EditPart) { |
|
67 return unwrapEditPart((org.eclipse.gef.EditPart) element); |
|
68 } |
|
69 if (element instanceof org.eclipse.core.runtime.IAdaptable) { |
|
70 org.eclipse.gmf.runtime.notation.View view = (org.eclipse.gmf.runtime.notation.View) ((org.eclipse.core.runtime.IAdaptable) element).getAdapter(org.eclipse.gmf.runtime.notation.View.class); |
|
71 if (view != null) { |
|
72 return unwrapView(view); |
|
73 } |
|
74 } |
|
75 return element; |
|
76 } |
|
77 «EXPAND unwrapEditPartMethod» |
|
78 «EXPAND unwrapViewMethod» |
|
79 «ENDDEFINE» |
|
80 |
|
81 «DEFINE unwrapEditPartMethod FOR gmfgen::GenPropertySheet» |
|
82 «EXPAND xpt::Common::generatedMemberComment» |
|
83 private Object unwrapEditPart(org.eclipse.gef.EditPart p) { |
|
84 if (p.getModel() instanceof org.eclipse.gmf.runtime.notation.View) { |
|
85 return unwrapView((org.eclipse.gmf.runtime.notation.View) p.getModel()); |
|
86 } |
|
87 return p.getModel(); |
|
88 } |
|
89 «ENDDEFINE» |
|
90 |
|
91 «DEFINE unwrapViewMethod FOR gmfgen::GenPropertySheet» |
|
92 «EXPAND xpt::Common::generatedMemberComment» |
|
93 private Object unwrapView(org.eclipse.gmf.runtime.notation.View view) { |
|
94 return view.getElement() == null ? view : view.getElement(); |
|
95 } |
|
96 «ENDDEFINE» |
|
97 |
|
98 «DEFINE additions FOR gmfgen::GenPropertySheet»«ENDDEFINE» |