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

Collapse All | Expand All

(-)templates/common.skeleton (-207 lines)
Removed Link Here
1
public class CLASS {
2
3
// [graphdef++]
4
	private java.util.Map myMethodsMap;
5
	
6
	private java.util.Set mySkippedDataTypeFeatures;
7
	
8
	private java.util.Set myAllowedNonDataTypeFeatures;
9
10
	private java.util.Map getMethodsMap() {
11
		if (myMethodsMap == null) {
12
			myMethodsMap = new java.util.HashMap();
13
			myMethodsMap.put("XorFill", "myFigure.setFillXOR");
14
			myMethodsMap.put("XorOutline", "myFigure.setOutlineXOR");
15
			myMethodsMap.put("LineKind", "myFigure.setLineStyle");
16
			myMethodsMap.put("CornerWidth", "myFigure.setCornerDimensions");
17
			myMethodsMap.put("CornerHeight", "myFigure.setCornerDimensions");
18
			myMethodsMap.put("Template", "myFigure.setPoints");
19
		}
20
		return myMethodsMap;
21
	}
22
	
23
	private java.util.Set getSkippedDataTypeFeatures() {
24
		if (mySkippedDataTypeFeatures == null) {
25
			mySkippedDataTypeFeatures = new java.util.HashSet();
26
			mySkippedDataTypeFeatures.add("name");
27
		}
28
		return mySkippedDataTypeFeatures;
29
	}
30
	
31
	private java.util.Set getAllowedNonDataTypeFeatures() {
32
		if (myAllowedNonDataTypeFeatures == null) {
33
			myAllowedNonDataTypeFeatures = new java.util.HashSet();
34
			myAllowedNonDataTypeFeatures.add("layout");
35
			myAllowedNonDataTypeFeatures.add("layoutData");
36
			myAllowedNonDataTypeFeatures.add("layout");
37
			myAllowedNonDataTypeFeatures.add("template");
38
		}
39
		return myAllowedNonDataTypeFeatures;
40
	}
41
	
42
	protected final boolean skip(GenFeature feature) {
43
		if (feature.getTypeGenClassifier() instanceof GenDataType) {
44
			return getSkippedDataTypeFeatures().contains(feature.getName());
45
		}
46
		return !getAllowedNonDataTypeFeatures().contains(feature.getName());
47
	}
48
	
49
	private final StringBuffer getValue(String modelElementVariable, GenFeature feature) {
50
		StringBuffer result = new StringBuffer();
51
		String featureName = feature.getName();
52
		if ("cornerWidth".equals(featureName) || "cornerHeight".equals(featureName)) {
53
			result.append("getMapMode().DPtoLP(");
54
			result.append(modelElementVariable);
55
			result.append(".getCornerWidth()), getMapMode().DPtoLP(");
56
			result.append(modelElementVariable);
57
			result.append(".getCornerHeight())");
58
		} else {
59
			result.append(modelElementVariable);
60
			result.append(".");
61
			result.append(feature.getGetAccessor());
62
			result.append("()");
63
		}
64
		return result;
65
	}
66
	
67
	private final void transform(StringBuffer value, GenFeature feature) {
68
		String featureName = feature.getName();
69
		if ("cornerWidth".equals(featureName) || "cornerHeight".equals(featureName)) {
70
			value.insert(0, "new org.eclipse.draw2d.geometry.Dimension(");
71
			value.append(")");
72
		} else if ("lineKind".equals(featureName)) {
73
			value.insert(0, "getLineStyle(");
74
			value.append(")");
75
		} else if ("template".equals(featureName)) {
76
			value.insert(0, "getPointList(");
77
			value.append(")");
78
		}
79
	}
80
	
81
	private final void setValue(StringBuffer value, GenFeature feature) {
82
		value.insert(0, "(");
83
		java.util.Map map = getMethodsMap();
84
		String accessorName = feature.getAccessorName();
85
		if (map.containsKey(accessorName)) {
86
			value.insert(0, (String) map.get(accessorName));
87
		} else {
88
			if (feature.getTypeGenClassifier() instanceof GenDataType) {
89
				value.insert(0, accessorName);
90
				value.insert(0, "myFigure.set");
91
			} else {
92
				value.insert(0, "Changed");
93
				value.insert(0, feature.getName());
94
			}
95
		}	
96
		value.append(")");
97
	}
98
	
99
	protected final String getProcessChangesCall(String modelElementVariable, GenFeature feature) {
100
		StringBuffer result = getValue(modelElementVariable, feature);
101
		transform(result, feature);
102
		setValue(result, feature);
103
		return result.toString();
104
	}
105
// [graphdef--] 
106
107
	protected final String getFeatureValueGetter(String containerName, GenFeature feature, boolean isContainerEObject, ImportAssistant importManager) {
108
		StringBuffer result = new StringBuffer();
109
		if (feature.getGenClass().isExternalInterface()) {
110
// Using EMF reflective method to access feature value
111
			result.append("((");
112
			if (feature.isListType()) {
113
				result.append(importManager.getImportedName("java.util.Collection"));
114
			} else {
115
				result.append(importManager.getImportedName(feature.getTypeGenClass().getQualifiedInterfaceName()));
116
			}
117
			result.append(")");
118
			if (!isContainerEObject) {
119
// Casting container to EObject - ExternalIntarfce could be not an instance of EObject
120
				result.append("((");
121
				result.append(importManager.getImportedName("org.eclipse.emf.ecore.EObject"));
122
				result.append(")");
123
			}
124
			result.append(containerName);
125
			if (!isContainerEObject) {
126
				result.append(")");
127
			}
128
			result.append(".eGet(");
129
			result.append(importManager.getImportedName(feature.getGenPackage().getQualifiedPackageInterfaceName()));
130
			result.append(".eINSTANCE.get");
131
			result.append(feature.getFeatureAccessorName());
132
			result.append("()))");
133
		} else {
134
			if (isContainerEObject) {
135
// Casting container to the typed interface
136
				result.append("((");
137
				result.append(importManager.getImportedName(feature.getGenClass().getQualifiedInterfaceName()));
138
				result.append(")");
139
			}
140
			result.append(containerName);
141
			if (isContainerEObject) {
142
				result.append(")");
143
			}
144
			result.append(".");
145
			result.append(feature.getGetAccessor());
146
			result.append("()");
147
		}
148
		return result.toString();
149
	}
150
	
151
	protected final String getFeatureValueSetterPrefix(String containerName, GenFeature feature, boolean isContainerEObject, ImportAssistant importManager) {
152
		StringBuffer result = new StringBuffer();
153
		if (feature.getGenClass().isExternalInterface()) {
154
// Using EMF reflective method to access feature value
155
			if (!isContainerEObject) {
156
// Casting container to EObject - ExternalIntarfce could be not an instance of EObject
157
				result.append("((");
158
				result.append(importManager.getImportedName("org.eclipse.emf.ecore.EObject"));
159
				result.append(")");
160
			}
161
			result.append(containerName);
162
			if (!isContainerEObject) {
163
				result.append(")");
164
			}
165
			result.append(".eSet(");
166
			result.append(importManager.getImportedName(feature.getGenPackage().getQualifiedPackageInterfaceName()));
167
			result.append(".eINSTANCE.get");
168
			result.append(feature.getFeatureAccessorName());
169
			result.append("(), ");
170
		} else {
171
			if (isContainerEObject) {
172
// Casting container to the typed interface
173
				result.append("((");
174
				result.append(importManager.getImportedName(feature.getGenClass().getQualifiedInterfaceName()));
175
				result.append(")");
176
			}
177
			result.append(containerName);
178
			if (isContainerEObject) {
179
				result.append(")");
180
			}
181
			if (feature.isListType()) {
182
				result.append(".");
183
				result.append(feature.getGetAccessor());
184
				result.append("().add(");
185
			} else {
186
				result.append(".set");
187
				result.append(feature.getAccessorName());
188
				result.append("(");
189
			}
190
		}
191
		return result.toString();
192
	}
193
 
194
	protected final String getMetaClassAccessor(GenClass genClass, ImportAssistant importManager) {
195
		StringBuffer buf = new StringBuffer();
196
		buf.append(importManager.getImportedName(genClass.getGenPackage().getQualifiedPackageInterfaceName()))
197
			.append(".eINSTANCE.get") //$NON-NLS-1$
198
			.append(genClass.getName())
199
			.append("()"); //$NON-NLS-1$
200
		return buf.toString();
201
	} 
202
 
203
	public String generate(Object argument) {
204
		return "";
205
	}
206
   
207
}
(-)models/graphdef.gmfgen (-9 / +24 lines)
Lines 14-21 Link Here
14
      notationViewFactoryClassName="CanvasViewFactory"
14
      notationViewFactoryClassName="CanvasViewFactory"
15
      canonicalEditPolicyClassName="CanvasCanonicalEditPolicy"
15
      canonicalEditPolicyClassName="CanvasCanonicalEditPolicy"
16
      iconProviderPriority="Low"
16
      iconProviderPriority="Low"
17
      validationProviderPriority="Low"
17
      creationWizardCategoryID="org.eclipse.ui.Examples/org.eclipse.gmf.examples"
18
      creationWizardCategoryID="org.eclipse.ui.Examples/org.eclipse.gmf.examples">
18
      validationProviderPriority="Low">
19
    <diagramRunTimeClass
19
    <diagramRunTimeClass
20
        href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Diagram"/>
20
        href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Diagram"/>
21
    <elementType
21
    <elementType
Lines 942-955 Link Here
942
        label="Rulers &amp; Grid"/>
942
        label="Rulers &amp; Grid"/>
943
    <tabs
943
    <tabs
944
        xsi:type="gmfgen:GenCustomPropertyTab"
944
        xsi:type="gmfgen:GenCustomPropertyTab"
945
        iD="domain"
945
        iD="custom"
946
        label="Core">
946
        label="Styles"
947
        className="CustomPropertySection">
947
      <filter
948
      <filter
948
          xsi:type="gmfgen:TypeTabFilter">
949
          xsi:type="gmfgen:CustomTabFilter"
949
        <types>org.eclipse.gmf.runtime.notation.View</types>
950
          className="PropertySectionFilters$ShapeFilter"/>
950
        <types>org.eclipse.gef.EditPart</types>
951
    </tabs>
951
        <generatedTypes>abstractNavigatorItem</generatedTypes>
952
    <tabs
952
      </filter>
953
        xsi:type="gmfgen:GenCustomPropertyTab"
954
        iD="layout"
955
        label="Layout"
956
        className="LayoutPropertySection">
957
      <filter
958
          xsi:type="gmfgen:CustomTabFilter"
959
          className="PropertySectionFilters$LayoutableFilter"/>
960
    </tabs>
961
    <tabs
962
        xsi:type="gmfgen:GenCustomPropertyTab"
963
        iD="points"
964
        className="PointsPropertySection">
965
      <filter
966
          xsi:type="gmfgen:CustomTabFilter"
967
          className="PropertySectionFilters$PolylineFilter"/>
953
    </tabs>
968
    </tabs>
954
  </propertySheet>
969
  </propertySheet>
955
  <domainGenModel
970
  <domainGenModel
(-)templates/aspects/xpt/propsheet/PropertySection.xpt (-60 / +203 lines)
Lines 12-21 Link Here
12
«IMPORT "http://www.eclipse.org/gmf/2005/GenModel/2.0"»
12
«IMPORT "http://www.eclipse.org/gmf/2005/GenModel/2.0"»
13
«IMPORT "http://www.eclipse.org/emf/2002/Ecore"»
13
«IMPORT "http://www.eclipse.org/emf/2002/Ecore"»
14
14
15
«EXTENSION aspects::xpt::propsheet::Utils»
16
17
«AROUND extendsList FOR gmfgen::GenCustomPropertyTab»«IF isCustomTab()»org.eclipse.gmf.graphdef.editor.sheet.AbstractCustomPropertySection«ELSE»«targetDef.proceed()»«ENDIF»«ENDAROUND»
18
19
«AROUND implementsClause FOR gmfgen::GenCustomPropertyTab»«IF isCustomTab()»«ELSE»«targetDef.proceed()»«ENDIF»«ENDAROUND»
20
21
«AROUND transfromSelectionMethod FOR gmfgen::GenCustomPropertyTab»
22
«IF isLayoutTab() || isViewTab() || isPointTab() || isCustomTab()»
23
	«EXPAND xpt::Common::generatedMemberComment("Modify/unwrap selection.")»
24
	protected Object transformSelection(Object selected) {
25
«IF isViewTab() -»
26
		if (selected instanceof org.eclipse.gef.EditPart) {
27
			return ((org.eclipse.gef.EditPart) selected).getModel();
28
		}
29
		if (selected instanceof org.eclipse.gmf.runtime.notation.View || selected instanceof org.eclipse.gmf.runtime.notation.Style) {
30
			return selected;
31
		}
32
		if (selected instanceof org.eclipse.core.runtime.IAdaptable) {
33
			org.eclipse.gmf.runtime.notation.View view = (org.eclipse.gmf.runtime.notation.View) ((org.eclipse.core.runtime.IAdaptable) selected).getAdapter(org.eclipse.gmf.runtime.notation.View.class);
34
			if (view != null) {
35
				return view;
36
			}
37
		}
38
«ELSE-»
39
		if (selected instanceof org.eclipse.gef.EditPart) {
40
			Object model = ((org.eclipse.gef.EditPart) selected).getModel();
41
			return model instanceof org.eclipse.gmf.runtime.notation.View ? ((org.eclipse.gmf.runtime.notation.View) model).getElement() : null;
42
		}
43
		if (selected instanceof org.eclipse.gmf.runtime.notation.View) {
44
			return ((org.eclipse.gmf.runtime.notation.View) selected).getElement();
45
		}
46
		if (selected instanceof org.eclipse.core.runtime.IAdaptable) {
47
			org.eclipse.gmf.runtime.notation.View view = (org.eclipse.gmf.runtime.notation.View) ((org.eclipse.core.runtime.IAdaptable) selected).getAdapter(org.eclipse.gmf.runtime.notation.View.class);
48
			if (view != null) {
49
				return view.getElement();
50
			}
51
		}
52
«ENDIF-»
53
		return selected;
54
	}
55
«ELSE-»
56
«targetDef.proceed()»
57
«ENDIF-»
58
«ENDAROUND»
59
15
«AROUND getPropertySourceMethod FOR gmfgen::GenCustomPropertyTab-»
60
«AROUND getPropertySourceMethod FOR gmfgen::GenCustomPropertyTab-»
61
«IF isLayoutTab() || isViewTab() || isPointTab()»
16
	«EXPAND xpt::Common::generatedMemberComment»
62
	«EXPAND xpt::Common::generatedMemberComment»
17
	public org.eclipse.ui.views.properties.IPropertySource getPropertySource(Object object) {
63
	public org.eclipse.ui.views.properties.IPropertySource getPropertySource(Object object) {
18
	    «EXPAND additionalPropertiesProvider-»
64
		«IF isLayoutTab()-»
65
		«EXPAND createLayoutSources»
66
		«ELSEIF isPointTab()-»
67
		«EXPAND createTemplatePointSources»
68
		«ELSE-»
19
		if (object instanceof org.eclipse.ui.views.properties.IPropertySource) {
69
		if (object instanceof org.eclipse.ui.views.properties.IPropertySource) {
20
			return (org.eclipse.ui.views.properties.IPropertySource) object;
70
			return (org.eclipse.ui.views.properties.IPropertySource) object;
21
		}
71
		}
Lines 23-110 Link Here
23
		if (af != null) {
73
		if (af != null) {
24
			org.eclipse.emf.edit.provider.IItemPropertySource ips = (org.eclipse.emf.edit.provider.IItemPropertySource) af.adapt(object, org.eclipse.emf.edit.provider.IItemPropertySource.class);
74
			org.eclipse.emf.edit.provider.IItemPropertySource ips = (org.eclipse.emf.edit.provider.IItemPropertySource) af.adapt(object, org.eclipse.emf.edit.provider.IItemPropertySource.class);
25
			if (ips != null) {
75
			if (ips != null) {
26
				return new org.eclipse.emf.edit.ui.provider.PropertySource(object, ips);
76
				return createPropertySource(object, ips);
27
			}
77
			}
28
		}
78
		}
29
		if (object instanceof org.eclipse.core.runtime.IAdaptable) {
79
		if (object instanceof org.eclipse.core.runtime.IAdaptable) {
30
			return (org.eclipse.ui.views.properties.IPropertySource) ((org.eclipse.core.runtime.IAdaptable) object).getAdapter(org.eclipse.ui.views.properties.IPropertySource.class);
80
			return (org.eclipse.ui.views.properties.IPropertySource) ((org.eclipse.core.runtime.IAdaptable) object).getAdapter(org.eclipse.ui.views.properties.IPropertySource.class);
31
		}
81
		}
32
		return null;
82
		return null;
83
		«ENDIF-»
33
	}
84
	}
85
«ELSEIF isCustomTab()»
86
«ELSE-»
87
«targetDef.proceed()»
88
«ENDIF-»
34
«ENDAROUND»
89
«ENDAROUND»
35
90
36
«DEFINE additionalPropertiesProvider FOR gmfgen::GenCustomPropertyTab-»
91
«AROUND getPropertySourceProviderMethod FOR gmfgen::GenCustomPropertyTab»
37
if (object instanceof org.eclipse.gmf.gmfgraph.Layoutable) {
92
«IF isCustomTab()»
38
	org.eclipse.gmf.runtime.common.ui.services.properties.descriptors.CompositePropertySource compositeSource = new org.eclipse.gmf.runtime.common.ui.services.properties.descriptors.CompositePropertySource(object);	
93
«ELSE-»
94
«targetDef.proceed()»
95
«ENDIF-»
96
«ENDAROUND»
39
97
40
	compositeSource.addPropertySource(adaptToOldCompositePropertySource(object));
98
«AROUND getAdapterFactoryMethod FOR gmfgen::GenCustomPropertyTab»
99
«IF isLayoutTab() || isViewTab() || isPointTab()»
100
	«EXPAND xpt::Common::generatedMemberComment»
101
	protected org.eclipse.emf.common.notify.AdapterFactory getAdapterFactory(Object object) {
102
		if (getEditingDomain() instanceof org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain) {
103
			return ((org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain) getEditingDomain()).getAdapterFactory();
104
		}
105
		org.eclipse.emf.transaction.TransactionalEditingDomain editingDomain = org.eclipse.emf.transaction.util.TransactionUtil.getEditingDomain(object);
106
		if (editingDomain != null) {
107
			return ((org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain) editingDomain).getAdapterFactory();
108
		}
109
		return null;
110
	}
111
«ELSEIF isCustomTab()»
112
«ELSE-»
113
«targetDef.proceed()»
114
«ENDIF-»
115
«ENDAROUND»
41
116
42
	org.eclipse.emf.edit.provider.IItemPropertyDescriptor layoutPropertyDescriptor = new ChildMetaclassItemPropertyDescriptor(«this.sheet.editorGen.plugin.getActivatorQualifiedClassName()».getInstance().getItemProvidersAdapterFactory(), "Layout Manager", "Layout Manager", org.eclipse.gmf.gmfgraph.GMFGraphPackage.eINSTANCE.getLayoutable_Layout(), true, new org.eclipse.emf.ecore.EObject[] {org.eclipse.gmf.gmfgraph.GMFGraphFactory.eINSTANCE.createBorderLayout(), org.eclipse.gmf.gmfgraph.GMFGraphFactory.eINSTANCE.createCustomLayout(), org.eclipse.gmf.gmfgraph.GMFGraphFactory.eINSTANCE.createFlowLayout(), org.eclipse.gmf.gmfgraph.GMFGraphFactory.eINSTANCE.createGridLayout(), org.eclipse.gmf.gmfgraph.GMFGraphFactory.eINSTANCE.createStackLayout(), org.eclipse.gmf.gmfgraph.GMFGraphFactory.eINSTANCE.createXYLayout()});
117
«DEFINE createLayoutSources FOR gmfgen::GenCustomPropertyTab-»
118
if (object instanceof org.eclipse.gmf.gmfgraph.Layoutable) {
119
	org.eclipse.gmf.runtime.common.ui.services.properties.ICompositePropertySource compositeSource = new org.eclipse.gmf.runtime.common.ui.services.properties.descriptors.CompositePropertySource(object);
120
		
121
	org.eclipse.emf.edit.provider.IItemPropertyDescriptor layoutPropertyDescriptor = new LayoutItemPropertyDescriptor(«this.sheet.editorGen.plugin.getActivatorQualifiedClassName()».getInstance().getItemProvidersAdapterFactory(), "Layout Manager", "Layout Manager", org.eclipse.gmf.gmfgraph.GMFGraphPackage.eINSTANCE.getLayoutable_Layout(), true, new org.eclipse.emf.ecore.EObject[] {org.eclipse.gmf.gmfgraph.GMFGraphFactory.eINSTANCE.createBorderLayout(), org.eclipse.gmf.gmfgraph.GMFGraphFactory.eINSTANCE.createCustomLayout(), org.eclipse.gmf.gmfgraph.GMFGraphFactory.eINSTANCE.createFlowLayout(), org.eclipse.gmf.gmfgraph.GMFGraphFactory.eINSTANCE.createGridLayout(), org.eclipse.gmf.gmfgraph.GMFGraphFactory.eINSTANCE.createStackLayout(), org.eclipse.gmf.gmfgraph.GMFGraphFactory.eINSTANCE.createXYLayout()});
43
	compositeSource.addPropertySource(new org.eclipse.gmf.runtime.emf.ui.properties.descriptors.EMFCompositePropertySource(object, new SingleDescriptorPropertySource(layoutPropertyDescriptor), "EMF")); //$NON-NLS-1$
122
	compositeSource.addPropertySource(new org.eclipse.gmf.runtime.emf.ui.properties.descriptors.EMFCompositePropertySource(object, new SingleDescriptorPropertySource(layoutPropertyDescriptor), "EMF")); //$NON-NLS-1$
44
123
45
	org.eclipse.emf.edit.provider.IItemPropertyDescriptor layoutDataPropertyDescriptor = new ChildMetaclassItemPropertyDescriptor(«this.sheet.editorGen.plugin.getActivatorQualifiedClassName()».getInstance().getItemProvidersAdapterFactory(), "Layout Data", "Layout Data", org.eclipse.gmf.gmfgraph.GMFGraphPackage.eINSTANCE.getLayoutable_LayoutData(), true, new org.eclipse.emf.ecore.EObject[] {org.eclipse.gmf.gmfgraph.GMFGraphFactory.eINSTANCE.createBorderLayoutData(), org.eclipse.gmf.gmfgraph.GMFGraphFactory.eINSTANCE.createCustomLayoutData(), org.eclipse.gmf.gmfgraph.GMFGraphFactory.eINSTANCE.createGridLayoutData(), org.eclipse.gmf.gmfgraph.GMFGraphFactory.eINSTANCE.createXYLayoutData()});
124
	org.eclipse.emf.edit.provider.IItemPropertyDescriptor layoutDataPropertyDescriptor = new LayoutItemPropertyDescriptor(«this.sheet.editorGen.plugin.getActivatorQualifiedClassName()».getInstance().getItemProvidersAdapterFactory(), "Layout Data", "Layout Data", org.eclipse.gmf.gmfgraph.GMFGraphPackage.eINSTANCE.getLayoutable_LayoutData(), true, new org.eclipse.emf.ecore.EObject[] {org.eclipse.gmf.gmfgraph.GMFGraphFactory.eINSTANCE.createBorderLayoutData(), org.eclipse.gmf.gmfgraph.GMFGraphFactory.eINSTANCE.createCustomLayoutData(), org.eclipse.gmf.gmfgraph.GMFGraphFactory.eINSTANCE.createGridLayoutData(), org.eclipse.gmf.gmfgraph.GMFGraphFactory.eINSTANCE.createXYLayoutData()});
46
	compositeSource.addPropertySource(new org.eclipse.gmf.runtime.emf.ui.properties.descriptors.EMFCompositePropertySource(object, new SingleDescriptorPropertySource(layoutDataPropertyDescriptor), "EMF")); //$NON-NLS-1$
125
	compositeSource.addPropertySource(new org.eclipse.gmf.runtime.emf.ui.properties.descriptors.EMFCompositePropertySource(object, new SingleDescriptorPropertySource(layoutDataPropertyDescriptor), "EMF")); //$NON-NLS-1$
126
	
127
	return compositeSource;
128
}
129
return null;
130
«ENDDEFINE»
47
131
48
	if (object instanceof org.eclipse.gmf.gmfgraph.Polyline) {
132
«DEFINE createTemplatePointSources FOR gmfgen::GenCustomPropertyTab-»
49
		int counter = 1;
133
if (object instanceof org.eclipse.gmf.gmfgraph.Polyline) {
50
		for (java.util.Iterator it = ((org.eclipse.gmf.gmfgraph.Polyline) object).getTemplate().iterator(); it.hasNext(); counter++) {
134
	org.eclipse.gmf.runtime.common.ui.services.properties.ICompositePropertySource compositeSource = new org.eclipse.gmf.runtime.common.ui.services.properties.descriptors.CompositePropertySource(object);
51
			org.eclipse.gmf.gmfgraph.Point nextPoint = (org.eclipse.gmf.gmfgraph.Point) it.next();
135
52
			final String titleX = "Point " + counter + " X";
136
	int counter = 1;
53
			org.eclipse.emf.edit.provider.IItemPropertyDescriptor nextPointPropertyDescriptorX = new org.eclipse.emf.edit.provider.ItemPropertyDescriptor(«this.sheet.editorGen.plugin.getActivatorQualifiedClassName()».getInstance().getItemProvidersAdapterFactory(), titleX, titleX, org.eclipse.gmf.gmfgraph.GMFGraphPackage.eINSTANCE.getPoint_X(), true, "Template");
137
	for (java.util.Iterator it = ((org.eclipse.gmf.gmfgraph.Polyline) object).getTemplate().iterator(); it.hasNext(); counter++) {
54
			compositeSource.addPropertySource(new org.eclipse.gmf.runtime.emf.ui.properties.descriptors.EMFCompositePropertySource(nextPoint, new SingleDescriptorPropertySource(nextPointPropertyDescriptorX), "EMF") {
138
		org.eclipse.gmf.gmfgraph.Point nextPoint = (org.eclipse.gmf.gmfgraph.Point) it.next();
55
				protected org.eclipse.ui.views.properties.IPropertyDescriptor newPropertyDescriptor(org.eclipse.emf.edit.provider.IItemPropertyDescriptor itemPropertyDescriptor) {
139
		final String titleX = "Point " + counter + " X";
56
					return new org.eclipse.gmf.runtime.emf.ui.properties.descriptors.EMFCompositeSourcePropertyDescriptor(object, itemPropertyDescriptor, getCategory()) {
140
		org.eclipse.emf.edit.provider.IItemPropertyDescriptor nextPointPropertyDescriptorX = new org.eclipse.emf.edit.provider.ItemPropertyDescriptor(«this.sheet.editorGen.plugin.getActivatorQualifiedClassName()».getInstance().getItemProvidersAdapterFactory(), titleX, titleX, org.eclipse.gmf.gmfgraph.GMFGraphPackage.eINSTANCE.getPoint_X(), true, "Template");
57
						public Object getId() {
141
		compositeSource.addPropertySource(new org.eclipse.gmf.runtime.emf.ui.properties.descriptors.EMFCompositePropertySource(nextPoint, new SingleDescriptorPropertySource(nextPointPropertyDescriptorX), "EMF") {
58
							return titleX;
142
			protected org.eclipse.ui.views.properties.IPropertyDescriptor newPropertyDescriptor(org.eclipse.emf.edit.provider.IItemPropertyDescriptor itemPropertyDescriptor) {
59
						}
143
				return new org.eclipse.gmf.runtime.emf.ui.properties.descriptors.EMFCompositeSourcePropertyDescriptor(object, itemPropertyDescriptor, getCategory()) {
60
					};
144
					public Object getId() {
61
				}
145
						return titleX;
62
			});
146
					}
147
				};
148
			}
149
		});
63
150
64
			final String titleY = "Point " + counter + " Y";
151
		final String titleY = "Point " + counter + " Y";
65
			org.eclipse.emf.edit.provider.IItemPropertyDescriptor nextPointPropertyDescriptorY = new org.eclipse.emf.edit.provider.ItemPropertyDescriptor(«this.sheet.editorGen.plugin.getActivatorQualifiedClassName()».getInstance().getItemProvidersAdapterFactory(), titleY, titleY, org.eclipse.gmf.gmfgraph.GMFGraphPackage.eINSTANCE.getPoint_Y(), true, "Template");
152
		org.eclipse.emf.edit.provider.IItemPropertyDescriptor nextPointPropertyDescriptorY = new org.eclipse.emf.edit.provider.ItemPropertyDescriptor(«this.sheet.editorGen.plugin.getActivatorQualifiedClassName()».getInstance().getItemProvidersAdapterFactory(), titleY, titleY, org.eclipse.gmf.gmfgraph.GMFGraphPackage.eINSTANCE.getPoint_Y(), true, "Template");
66
			compositeSource.addPropertySource(new org.eclipse.gmf.runtime.emf.ui.properties.descriptors.EMFCompositePropertySource(nextPoint, new SingleDescriptorPropertySource(nextPointPropertyDescriptorY), "EMF") {
153
		compositeSource.addPropertySource(new org.eclipse.gmf.runtime.emf.ui.properties.descriptors.EMFCompositePropertySource(nextPoint, new SingleDescriptorPropertySource(nextPointPropertyDescriptorY), "EMF") {
67
				protected org.eclipse.ui.views.properties.IPropertyDescriptor newPropertyDescriptor(org.eclipse.emf.edit.provider.IItemPropertyDescriptor itemPropertyDescriptor) {
154
			protected org.eclipse.ui.views.properties.IPropertyDescriptor newPropertyDescriptor(org.eclipse.emf.edit.provider.IItemPropertyDescriptor itemPropertyDescriptor) {
68
					return new org.eclipse.gmf.runtime.emf.ui.properties.descriptors.EMFCompositeSourcePropertyDescriptor(object, itemPropertyDescriptor, getCategory()) {
155
				return new org.eclipse.gmf.runtime.emf.ui.properties.descriptors.EMFCompositeSourcePropertyDescriptor(object, itemPropertyDescriptor, getCategory()) {
69
						public Object getId() {
156
					public Object getId() {
70
							return titleY;
157
						return titleY;
71
						}
158
					}
72
					};
159
				};
73
				}
160
			}
74
			});
161
		});
75
		}
76
	}
162
	}
77
163
	
78
	return compositeSource;
164
	return compositeSource;
79
}
165
}
166
return null;
80
«ENDDEFINE»
167
«ENDDEFINE»
81
168
82
«AROUND additions FOR gmfgen::GenCustomPropertyTab-»
169
«AROUND additions FOR gmfgen::GenCustomPropertyTab-»
83
«EXPAND xpt::Common::generatedMemberComment»
170
	«IF isLayoutTab() || isPointTab()»
84
private org.eclipse.gmf.runtime.common.ui.services.properties.ICompositePropertySource adaptToOldCompositePropertySource(Object object) {
171
		«EXPAND SingleDescriptorPropertySourceClass-»
85
	if (object instanceof org.eclipse.gmf.runtime.common.ui.services.properties.ICompositePropertySource) {
172
		«IF isLayoutTab()»
86
		return (org.eclipse.gmf.runtime.common.ui.services.properties.ICompositePropertySource) object;
173
			«EXPAND LayoutItemPropertyDescriptorClass-»
87
	}
174
		«ENDIF»
88
	org.eclipse.emf.common.notify.AdapterFactory af = getAdapterFactory(object);
175
	«ELSEIF isCustomTab()»
89
	if (af != null) {
176
	    «EXPAND getImageRegistry-»
90
		org.eclipse.emf.edit.provider.IItemPropertySource ips = (org.eclipse.emf.edit.provider.IItemPropertySource) af.adapt(object, org.eclipse.emf.edit.provider.IItemPropertySource.class);
177
	«ELSE»
91
		if (ips != null) {
178
		«EXPAND createPropertySource»
92
			return new org.eclipse.gmf.runtime.emf.ui.properties.descriptors.EMFCompositePropertySource(object, ips, "EMF");
179
	«ENDIF»
93
		}
94
	}
95
	if (object instanceof org.eclipse.core.runtime.IAdaptable) {
96
		return (org.eclipse.gmf.runtime.common.ui.services.properties.ICompositePropertySource) ((org.eclipse.core.runtime.IAdaptable) object).getAdapter(org.eclipse.gmf.runtime.common.ui.services.properties.ICompositePropertySource.class);
97
	}
98
	return null;
99
}
100
101
«EXPAND SingleDescriptorPropertySourceClass-»
102
«EXPAND ChildMetaclassItemPropertyDescriptorClass-»
103
«ENDAROUND»
180
«ENDAROUND»
104
181
182
183
«DEFINE createPropertySource FOR gmfgen::GenCustomPropertyTab-»
184
«EXPAND xpt::Common::generatedMemberComment»
185
    protected org.eclipse.ui.views.properties.IPropertySource createPropertySource(Object object, org.eclipse.emf.edit.provider.IItemPropertySource itemPropertySource) {
186
«IF isViewTab()-»
187
        return new org.eclipse.gmf.runtime.diagram.ui.properties.descriptors.NotationPropertySource(object, itemPropertySource, "View");
188
«ELSE-»
189
        return new org.eclipse.gmf.runtime.emf.ui.properties.descriptors.EMFCompositePropertySource(object, itemPropertySource, "EMF");
190
«ENDIF-»    
191
    }
192
«ENDDEFINE»
193
105
«DEFINE SingleDescriptorPropertySourceClass FOR gmfgen::GenCustomPropertyTab»
194
«DEFINE SingleDescriptorPropertySourceClass FOR gmfgen::GenCustomPropertyTab»
106
«EXPAND xpt::Common::generatedMemberComment»
195
«EXPAND xpt::Common::generatedMemberComment»
107
public static class SingleDescriptorPropertySource implements org.eclipse.emf.edit.provider.IItemPropertySource {
196
private static class SingleDescriptorPropertySource implements org.eclipse.emf.edit.provider.IItemPropertySource {
108
197
109
	«EXPAND xpt::Common::generatedMemberComment»
198
	«EXPAND xpt::Common::generatedMemberComment»
110
	private org.eclipse.emf.edit.provider.IItemPropertyDescriptor myPropertyDescriptor;
199
	private org.eclipse.emf.edit.provider.IItemPropertyDescriptor myPropertyDescriptor;
Lines 135-149 Link Here
135
}
224
}
136
«ENDDEFINE»
225
«ENDDEFINE»
137
226
138
«DEFINE ChildMetaclassItemPropertyDescriptorClass FOR gmfgen::GenCustomPropertyTab»
227
«DEFINE LayoutItemPropertyDescriptorClass FOR gmfgen::GenCustomPropertyTab»
139
«EXPAND xpt::Common::generatedMemberComment»
228
«EXPAND xpt::Common::generatedMemberComment»
140
public static class ChildMetaclassItemPropertyDescriptor extends org.eclipse.emf.edit.provider.ItemPropertyDescriptor {
229
public static class LayoutItemPropertyDescriptor extends org.eclipse.emf.edit.provider.ItemPropertyDescriptor {
141
230
142
	«EXPAND xpt::Common::generatedMemberComment»
231
	«EXPAND xpt::Common::generatedMemberComment»
143
	private org.eclipse.emf.ecore.EObject[] myValues;
232
	private org.eclipse.emf.ecore.EObject[] myValues;
144
233
145
	«EXPAND xpt::Common::generatedMemberComment»
234
	«EXPAND xpt::Common::generatedMemberComment»
146
	ChildMetaclassItemPropertyDescriptor(org.eclipse.emf.common.notify.AdapterFactory adapterFactory, String displayName, String description, org.eclipse.emf.ecore.EStructuralFeature feature, boolean isSettable, org.eclipse.emf.ecore.EObject[] valueInstances) {
235
	LayoutItemPropertyDescriptor(org.eclipse.emf.common.notify.AdapterFactory adapterFactory, String displayName, String description, org.eclipse.emf.ecore.EStructuralFeature feature, boolean isSettable, org.eclipse.emf.ecore.EObject[] valueInstances) {
147
		super(adapterFactory, displayName, description, feature, isSettable);
236
		super(adapterFactory, displayName, description, feature, isSettable);
148
		myValues = valueInstances;
237
		myValues = valueInstances;
149
	}
238
	}
Lines 189-191 Link Here
189
	}
278
	}
190
}
279
}
191
«ENDDEFINE»
280
«ENDDEFINE»
281
282
«DEFINE getImageRegistry FOR gmfgen::GenCustomPropertyTab-»
283
  «EXPAND xpt::Common::generatedMemberComment»
284
  private static org.eclipse.jface.resource.ImageRegistry ourImageRegistry = new org.eclipse.jface.resource.ImageRegistry();
285
  
286
  «EXPAND xpt::Common::generatedMemberComment»
287
  static {
288
      ourImageRegistry.put(org.eclipse.gmf.gmfgraph.LineKind.LINE_SOLID_LITERAL.getLiteral(), «sheet.editorGen.plugin.getActivatorQualifiedClassName()».findImageDescriptor("icons/line_solid.png"));
289
      ourImageRegistry.put(org.eclipse.gmf.gmfgraph.LineKind.LINE_DASH_LITERAL.getLiteral(), «sheet.editorGen.plugin.getActivatorQualifiedClassName()».findImageDescriptor("icons/line_dash.png"));
290
      ourImageRegistry.put(org.eclipse.gmf.gmfgraph.LineKind.LINE_DOT_LITERAL.getLiteral(), «sheet.editorGen.plugin.getActivatorQualifiedClassName()».findImageDescriptor("icons/line_dot.png"));
291
      ourImageRegistry.put(org.eclipse.gmf.gmfgraph.LineKind.LINE_DASHDOT_LITERAL.getLiteral(), «sheet.editorGen.plugin.getActivatorQualifiedClassName()».findImageDescriptor("icons/line_dashdot.png"));
292
      ourImageRegistry.put(org.eclipse.gmf.gmfgraph.LineKind.LINE_DASHDOTDOT_LITERAL.getLiteral(), «sheet.editorGen.plugin.getActivatorQualifiedClassName()».findImageDescriptor("icons/line_dashdotdot.png"));
293
      ourImageRegistry.put(org.eclipse.gmf.gmfgraph.LineKind.LINE_CUSTOM_LITERAL.getLiteral(), «sheet.editorGen.plugin.getActivatorQualifiedClassName()».findImageDescriptor("icons/line_custom.png"));
294
  }
295
296
  «EXPAND xpt::Common::generatedMemberComment»
297
  public org.eclipse.jface.resource.ImageRegistry getImageRegistry() {
298
      return ourImageRegistry;
299
  }
300
«ENDDEFINE»
301
302
«AROUND setInputMethod FOR gmfgen::GenCustomPropertyTab»
303
«IF isCustomTab()-»
304
	«EXPAND xpt::Common::generatedMemberComment»
305
	private java.util.Collection mySavedSelection = new java.util.ArrayList();
306
	
307
	«EXPAND xpt::Common::generatedMemberComment»
308
	public java.util.Collection getSavedSelection() {
309
	    //StructuredSelection structured = (StructuredSelection) super.getSelection();
310
	    //return structured.toList();
311
	    return mySavedSelection;
312
	}
313
	
314
	«EXPAND xpt::Common::generatedMemberComment»
315
	public void setInput(org.eclipse.ui.IWorkbenchPart part, org.eclipse.jface.viewers.ISelection selection) {
316
		if (selection.isEmpty() || false == selection instanceof org.eclipse.jface.viewers.StructuredSelection) {
317
			super.setInput(part, selection);
318
			return;
319
		}
320
		final org.eclipse.jface.viewers.StructuredSelection structuredSelection = ((org.eclipse.jface.viewers.StructuredSelection) selection);
321
		java.util.ArrayList transformedSelection = new java.util.ArrayList(structuredSelection.size());
322
		for (java.util.Iterator it = structuredSelection.iterator();  it.hasNext();) {
323
			Object r = transformSelection(it.next());
324
			if (r != null) {
325
				transformedSelection.add(r);
326
			}
327
		}
328
		mySavedSelection = transformedSelection;
329
		super.setInput(part, new org.eclipse.jface.viewers.StructuredSelection(transformedSelection));
330
	}
331
«ELSE-»
332
«targetDef.proceed()»
333
«ENDIF-»
334
«ENDAROUND»
(-)icons/line_custom.png (+8 lines)
Added Link Here
1
‰PNG
2
3
4
IHDRDÒîþJsRGB®ÎégAMA±?üa cHRMz&€„ú€èu0ê`:˜pœºQ<BIDATHKÝÕ-t"Aà=‡DžD"‘H$‰D"‘8$‰D"‘H$‰D"‘Hòå:o³o—Ÿa/*#ò’IOuUõÏþ¹ÝnÙ¯9Äüš“=Rr<—Ëåd2éõzãñx6›m·Ûóùñûý~³Ù¸tƒ?˜8¹X,v»„Ÿµ	 pYdœÏç8”ðïˆ9?N¢Ûí6fA‹ª@Ñ??Nçï¿#&ÄP%&ND†">"y¹¶¼ÃáŽ,2N§Ón·‹’n¶,ûV«%º˜UAðk6›h­V+¿ÃuP¿\.Ïù!5ì÷û???¨¸Lצ&¨Ws!†@ª`~‹¹^¯£ÑѪ$ˆPü—\?â×-ÂHM°ž~—ð‹€‚Kþ–ÒQóK p½äOöWec<®§ªJ‚Ñʽ
5
°8odà–b֗ŸË—]”çÐ3Q(?k?~ly©Š±d%&Ï˒sø£ÛÔ(¿Z¯×°Ò;§T(l<ç4œ;Å0”ÂTÌ"ø²3Í*.G43Ãá0½ ?¨€…Ã]6彆6|ÇC€y7Z±BJ<3.ÆV‰±‰—?uÈ?5–Dõ³ð2‹çF±º@Å
6
±`­~‚u?à,։ä&¶æKÕ	³·
7
Ušä»y­~ˆ.È2vô¹­Áò­'Z 
8
%7/Ÿ7³€Ä%ö½ô"ÏÒ¿_o±Œ(=ñ¶0JÈ\ýâ_O¾<w‘?·Äÿ?{m…Û*ç¦}¥bùצÞè~Ü"‚²Å,ÿCIEND®B`‚
(-)icons/line_dot.png (+4 lines)
Added Link Here
1
‰PNG
2
3
4
IHDRD²-ïsRGB®ÎégAMA±?üa cHRMz&€„ú€èu0ê`:˜pœºQ<TIDATHKí”Á0CuG#ج£«G­Z/9åèYîNcô`ƈÆ?ĉ¦èÈÌr´óÕÚG‘%3‹HkOªšû«µGýTsÕ`?LÙd.üÈó´)k½IEND®B`‚
(-)icons/line_solid.png (+5 lines)
Added Link Here
1
‰PNG
2
3
4
IHDRDÒîþJsRGB®ÎégAMA±?üa cHRMz&€„ú€èu0ê`:˜pœºQ<@IDATHKí”	
5
0˜³9Ÿ4öˆXHCáÈ`ÆäžXeBÐ?²'2AtBÿ¿ÓœZL›i3?Øx׉ö2	÷ƒIEND®B`‚
(-)src/org/eclipse/gmf/graphdef/editor/sheet/AbstractCustomPropertySection.java (+633 lines)
Added Link Here
1
/*
2
 *  Copyright (c) 2006 Borland Software Corporation and others.
3
 * All rights reserved. This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
6
 * http://www.eclipse.org/legal/epl-v10.html
7
 *
8
 * Contributors:
9
 *     Borland Software Corporation - initial API and implementation
10
 */
11
package org.eclipse.gmf.graphdef.editor.sheet;
12
13
public abstract class AbstractCustomPropertySection extends org.eclipse.gmf.runtime.diagram.ui.properties.sections.AbstractModelerPropertySection {
14
15
    public abstract java.util.Collection getSavedSelection();
16
    public abstract org.eclipse.jface.resource.ImageRegistry getImageRegistry();
17
    
18
    private static final String KIND_KEY = "kind"; //$NON-NLS-1$
19
20
    private static final int FILL = 101;
21
22
    private static final int OUTLINE = 102;
23
24
    private static final int XOR_FILL = 103;
25
26
    private static final int XOR_OUTLINE = 104;
27
28
    private static final int CORNER_WIDTH = 201;
29
30
    private static final int CORNER_HEIGHT = 202;
31
32
    private static final int LINE_WIDTH = 203;
33
34
    private LineWidthListener myListener;
35
36
    private org.eclipse.swt.widgets.Group myLineStyleGroup;
37
38
    private org.eclipse.swt.widgets.Group myLineWidthGroup;
39
40
    private org.eclipse.swt.widgets.Group myFillOutlineGroup;
41
42
    private org.eclipse.swt.widgets.Group myCornerGroup;
43
44
    private org.eclipse.swt.widgets.Spinner myLineWidthSpinner;
45
46
    private org.eclipse.swt.widgets.Button myLineStyle_Solid;
47
48
    private org.eclipse.swt.widgets.Button myLineStyle_Dash;
49
50
    private org.eclipse.swt.widgets.Button myLineStyle_Dot;
51
52
    private org.eclipse.swt.widgets.Button myLineStyle_DashDot;
53
54
    private org.eclipse.swt.widgets.Button myLineStyle_DashDotDot;
55
56
    private org.eclipse.swt.widgets.Button myLineStyle_Custom;
57
58
    private org.eclipse.swt.widgets.Button myFillCheckbox;
59
60
    private org.eclipse.swt.widgets.Button myOutlineCheckbox;
61
62
    private org.eclipse.swt.widgets.Button myXorFillCheckbox;
63
64
    private org.eclipse.swt.widgets.Button myXorOutlineCheckbox;
65
66
    private org.eclipse.swt.widgets.Spinner myCornerWidthSpinner;
67
68
    private org.eclipse.swt.widgets.Spinner myCornerHeightSpinner;
69
70
    private org.eclipse.swt.widgets.Composite mySectionComposite;
71
72
    protected org.eclipse.emf.ecore.EObject getEObject() {
73
        if (getSavedSelection() != null && !getSavedSelection().isEmpty()) {
74
            return (org.eclipse.emf.ecore.EObject) getSavedSelection().iterator().next();
75
        }
76
        return super.getEObject();
77
    }
78
79
    public void createControls(org.eclipse.swt.widgets.Composite parent, org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage tabbedPropertySheetPage) {
80
        super.createControls(parent, tabbedPropertySheetPage);
81
        mySectionComposite = getWidgetFactory().createFlatFormComposite(parent);
82
83
        myLineStyleGroup = createLineStyleGroup(mySectionComposite, getLineStyleLabel());
84
        myLineStyle_Solid = createLineStyleRadio(myLineStyleGroup, null, false, getImageRegistry().get(org.eclipse.gmf.gmfgraph.LineKind.LINE_SOLID_LITERAL.getLiteral()), org.eclipse.swt.SWT.LINE_SOLID);
85
        myLineStyle_Dash = createLineStyleRadio(myLineStyleGroup, myLineStyle_Solid, false, getImageRegistry().get(org.eclipse.gmf.gmfgraph.LineKind.LINE_DASH_LITERAL.getLiteral()), org.eclipse.swt.SWT.LINE_DASH);
86
        myLineStyle_Dot = createLineStyleRadio(myLineStyleGroup, myLineStyle_Dash, false, getImageRegistry().get(org.eclipse.gmf.gmfgraph.LineKind.LINE_DOT_LITERAL.getLiteral()), org.eclipse.swt.SWT.LINE_DOT);
87
        myLineStyle_DashDot = createLineStyleRadio(myLineStyleGroup, myLineStyle_Dot, false, getImageRegistry().get(org.eclipse.gmf.gmfgraph.LineKind.LINE_DASHDOT_LITERAL.getLiteral()), org.eclipse.swt.SWT.LINE_DASHDOT);
88
        myLineStyle_DashDotDot = createLineStyleRadio(myLineStyleGroup, myLineStyle_DashDot, false, getImageRegistry().get(org.eclipse.gmf.gmfgraph.LineKind.LINE_DASHDOTDOT_LITERAL.getLiteral()), org.eclipse.swt.SWT.LINE_DASHDOTDOT);
89
        myLineStyle_Custom = createLineStyleRadio(myLineStyleGroup, myLineStyle_DashDotDot, true, getImageRegistry().get(org.eclipse.gmf.gmfgraph.LineKind.LINE_CUSTOM_LITERAL.getLiteral()), org.eclipse.swt.SWT.LINE_CUSTOM);
90
91
        myLineWidthGroup = createLineWidthGroup(mySectionComposite, getLineWidthLabel());
92
        //org.eclipse.swt.custom.CLabel lineWidthLabel = createLabelWidget(myLineWidthGroup, getLineWidthLabel(), null);
93
        myLineWidthSpinner = createSpinnerWidget(myLineWidthGroup, null, LINE_WIDTH);
94
95
        myFillOutlineGroup = createFillOutlineGroup(mySectionComposite, getFillOutlineLabel());
96
        myFillCheckbox = createCheckbox(myFillOutlineGroup, getFillPropertyNameLabel(), null, null, FILL);
97
        myOutlineCheckbox = createCheckbox(myFillOutlineGroup, getOutlinePropertyNameLabel(), myFillCheckbox, null, OUTLINE);
98
        myXorFillCheckbox = createCheckbox(myFillOutlineGroup, getXorFillPropertyNameLabel(), null, myFillCheckbox, XOR_FILL);
99
        myXorOutlineCheckbox = createCheckbox(myFillOutlineGroup, getXorOutlinePropertyNameLabel(), myXorFillCheckbox, myOutlineCheckbox, XOR_OUTLINE);
100
101
        myCornerGroup = createCornerGroup(mySectionComposite, getCornerDimensionsLabel());
102
        org.eclipse.swt.custom.CLabel cornerWidthLabel = createLabelWidget(myCornerGroup, getCornerWidthLabel(), null);
103
        myCornerWidthSpinner = createSpinnerWidget(myCornerGroup, cornerWidthLabel, CORNER_WIDTH);
104
        org.eclipse.swt.custom.CLabel cornerHeigthLabel = createLabelWidget(myCornerGroup, getCornerHeightLabel(), myCornerWidthSpinner);
105
        myCornerHeightSpinner = createSpinnerWidget(myCornerGroup, cornerHeigthLabel, CORNER_HEIGHT);
106
107
        getListener().startListeningTo(myLineWidthSpinner);
108
        getListener().startListeningTo(myLineStyle_Solid);
109
        getListener().startListeningTo(myLineStyle_Dash);
110
        getListener().startListeningTo(myLineStyle_Dot);
111
        getListener().startListeningTo(myLineStyle_DashDot);
112
        getListener().startListeningTo(myLineStyle_DashDotDot);
113
        getListener().startListeningTo(myLineStyle_Custom);
114
        getListener().startListeningTo(myFillCheckbox);
115
        getListener().startListeningTo(myOutlineCheckbox);
116
        getListener().startListeningTo(myXorFillCheckbox);
117
        getListener().startListeningTo(myXorOutlineCheckbox);
118
        getListener().startListeningTo(myCornerWidthSpinner);
119
        getListener().startListeningTo(myCornerHeightSpinner);
120
    }
121
122
    public void dispose() {
123
        getListener().stopListeningTo(myLineWidthSpinner);
124
        getListener().stopListeningTo(myLineStyle_Solid);
125
        getListener().stopListeningTo(myLineStyle_Dash);
126
        getListener().stopListeningTo(myLineStyle_Dot);
127
        getListener().stopListeningTo(myLineStyle_DashDot);
128
        getListener().stopListeningTo(myLineStyle_DashDotDot);
129
        getListener().stopListeningTo(myLineStyle_Custom);
130
        getListener().stopListeningTo(myFillCheckbox);
131
        getListener().stopListeningTo(myOutlineCheckbox);
132
        getListener().stopListeningTo(myXorFillCheckbox);
133
        getListener().stopListeningTo(myXorOutlineCheckbox);
134
        getListener().stopListeningTo(myCornerWidthSpinner);
135
        getListener().stopListeningTo(myCornerHeightSpinner);
136
        super.dispose();
137
    }
138
139
    protected org.eclipse.swt.widgets.Button createLineStyleRadio(org.eclipse.swt.widgets.Composite parent, org.eclipse.swt.widgets.Control topControl, boolean last, org.eclipse.swt.graphics.Image image, int kind) {
140
        org.eclipse.swt.widgets.Button radio = getWidgetFactory().createButton(parent, "", org.eclipse.swt.SWT.RADIO);
141
        radio.setImage(image);
142
        radio.setData(KIND_KEY, new Integer(kind));
143
        org.eclipse.swt.layout.FormData data = new org.eclipse.swt.layout.FormData();
144
        if (topControl == null) {
145
            data.top = new org.eclipse.swt.layout.FormAttachment(0);
146
        } else {
147
            data.top = new org.eclipse.swt.layout.FormAttachment(topControl, 5);
148
        }
149
        data.left = new org.eclipse.swt.layout.FormAttachment(0);
150
        if (last) {
151
            data.bottom = new org.eclipse.swt.layout.FormAttachment(100);
152
        }
153
        radio.setLayoutData(data);
154
        return radio;
155
    }
156
157
    protected org.eclipse.swt.widgets.Group createLineWidthGroup(org.eclipse.swt.widgets.Composite parent, String label) {
158
        org.eclipse.swt.widgets.Group group = getWidgetFactory().createGroup(parent, label);
159
        org.eclipse.swt.layout.FormData data = new org.eclipse.swt.layout.FormData();
160
        data.top = new org.eclipse.swt.layout.FormAttachment(0, 0);
161
        data.left = new org.eclipse.swt.layout.FormAttachment(myLineStyleGroup);
162
        group.setLayoutData(data);
163
        group.setLayout(createStandardFormLayout());
164
        return group;
165
    }
166
167
    protected org.eclipse.swt.widgets.Group createLineStyleGroup(org.eclipse.swt.widgets.Composite parent, String label) {
168
        org.eclipse.swt.widgets.Group group = getWidgetFactory().createGroup(parent, label);
169
        org.eclipse.swt.layout.FormData data = new org.eclipse.swt.layout.FormData();
170
        data.top = new org.eclipse.swt.layout.FormAttachment(0, 0);
171
        data.left = new org.eclipse.swt.layout.FormAttachment(0);
172
        group.setLayoutData(data);
173
        group.setLayout(createStandardFormLayout());
174
        return group;
175
    }
176
177
    protected org.eclipse.swt.widgets.Group createFillOutlineGroup(org.eclipse.swt.widgets.Composite parent, String label) {
178
        org.eclipse.swt.widgets.Group group = getWidgetFactory().createGroup(parent, label);
179
        org.eclipse.swt.layout.FormData data = new org.eclipse.swt.layout.FormData();
180
        data.top = new org.eclipse.swt.layout.FormAttachment(myLineWidthGroup);
181
        data.left = new org.eclipse.swt.layout.FormAttachment(myLineStyleGroup);
182
        group.setLayoutData(data);
183
        group.setLayout(createStandardFormLayout());
184
        return group;
185
    }
186
187
    protected org.eclipse.swt.widgets.Group createCornerGroup(org.eclipse.swt.widgets.Composite parent, String label) {
188
        org.eclipse.swt.widgets.Group group = getWidgetFactory().createGroup(parent, label);
189
        org.eclipse.swt.layout.FormData data = new org.eclipse.swt.layout.FormData();
190
        data.top = new org.eclipse.swt.layout.FormAttachment(myFillOutlineGroup);
191
        data.left = new org.eclipse.swt.layout.FormAttachment(myLineStyleGroup);
192
        data.bottom = new org.eclipse.swt.layout.FormAttachment(100);
193
        group.setLayoutData(data);
194
        group.setLayout(createStandardFormLayout());
195
        return group;
196
    }
197
198
    protected org.eclipse.swt.widgets.Layout createStandardFormLayout() {
199
        org.eclipse.swt.layout.FormLayout layout = new org.eclipse.swt.layout.FormLayout();
200
        layout.marginWidth = org.eclipse.ui.views.properties.tabbed.ITabbedPropertyConstants.HSPACE + 2;
201
        layout.marginHeight = org.eclipse.ui.views.properties.tabbed.ITabbedPropertyConstants.VSPACE;
202
        layout.spacing = org.eclipse.ui.views.properties.tabbed.ITabbedPropertyConstants.VMARGIN + 1;
203
        return layout;
204
    }
205
206
    protected org.eclipse.swt.widgets.Button createCheckbox(org.eclipse.swt.widgets.Group parent, String label, org.eclipse.swt.widgets.Control topControl, org.eclipse.swt.widgets.Control leftControl, int kind) {
207
        org.eclipse.swt.widgets.Button checkbox = getWidgetFactory().createButton(parent, label, org.eclipse.swt.SWT.CHECK);
208
        checkbox.setData(KIND_KEY, new Integer(kind));
209
        org.eclipse.swt.layout.FormData data = new org.eclipse.swt.layout.FormData();
210
        if (topControl == null) {
211
            data.top = new org.eclipse.swt.layout.FormAttachment(0);
212
        } else {
213
            data.top = new org.eclipse.swt.layout.FormAttachment(topControl);
214
        }
215
        if (leftControl == null) {
216
            data.left = new org.eclipse.swt.layout.FormAttachment(0);
217
        } else {
218
            data.right = new org.eclipse.swt.layout.FormAttachment(100, -org.eclipse.ui.views.properties.tabbed.ITabbedPropertyConstants.HSPACE);
219
            data.left = new org.eclipse.swt.layout.FormAttachment(50);
220
        }
221
        checkbox.setLayoutData(data);
222
        return checkbox;
223
    }
224
225
    private String getCornerDimensionsLabel() {
226
        return "Corner Dimensions";
227
    }
228
229
    private String getCornerWidthLabel() {
230
        return "Corner Width";
231
    }
232
233
    private String getCornerHeightLabel() {
234
        return "Corner Height";
235
    }
236
237
    private String getFillPropertyNameLabel() {
238
        return "Fill";
239
    }
240
241
    private String getOutlinePropertyNameLabel() {
242
        return "Outline";
243
    }
244
245
    private String getXorFillPropertyNameLabel() {
246
        return "XOR Fill";
247
    }
248
249
    private String getXorOutlinePropertyNameLabel() {
250
        return "XOR Outline";
251
    }
252
253
    private String getFillOutlineLabel() {
254
        return "Mix Styles";
255
    }
256
257
    private String getLineStyleLabel() {
258
        return "Line Style";
259
    }
260
261
    private String getLineWidthLabel() {
262
        return "Line Width";
263
    }
264
265
    protected void setLineWidth(final int lineWidth) {
266
        modifyModel(new RunnableWithShape() {
267
268
            public void run() {
269
                getShape().setLineWidth(lineWidth);
270
            }
271
        }, "Setting line width");
272
    }
273
274
    protected void setLineKind(final int lineKind) {
275
        modifyModel(new RunnableWithShape() {
276
277
            public void run() {
278
                getShape().setLineKind(org.eclipse.gmf.gmfgraph.LineKind.get(lineKind));
279
            }
280
        }, "Setting line style");
281
    }
282
283
    protected void setFill(final boolean value) {
284
        modifyModel(new RunnableWithShape() {
285
286
            public void run() {
287
                getShape().setFill(value);
288
            }
289
        }, "Setting shape fill");
290
    }
291
292
    protected void setOutline(final boolean value) {
293
        modifyModel(new RunnableWithShape() {
294
295
            public void run() {
296
                getShape().setOutline(value);
297
            }
298
        }, "Setting shape outline");
299
    }
300
301
    protected void setXorFill(final boolean value) {
302
        modifyModel(new RunnableWithShape() {
303
304
            public void run() {
305
                getShape().setXorFill(value);
306
            }
307
        }, "Setting shape XOR fill");
308
    }
309
310
    protected void setXorOutline(final boolean value) {
311
        modifyModel(new RunnableWithShape() {
312
313
            public void run() {
314
                getShape().setXorOutline(value);
315
            }
316
        }, "Setting shape XOR outline");
317
    }
318
319
    protected void setCornerWidth(final int cornerWidth) {
320
        modifyModel(new RunnableWithShape() {
321
322
            public void run() {
323
                ((org.eclipse.gmf.gmfgraph.RoundedRectangle) getShape()).setCornerWidth(cornerWidth);
324
            }
325
        }, "Setting corner width");
326
    }
327
328
    protected void setCornerHeight(final int cornerHeight) {
329
        modifyModel(new RunnableWithShape() {
330
331
            public void run() {
332
                ((org.eclipse.gmf.gmfgraph.RoundedRectangle) getShape()).setCornerHeight(cornerHeight);
333
            }
334
        }, "Setting corner height");
335
    }
336
337
    public static abstract class RunnableWithShape implements Runnable {
338
339
        private org.eclipse.gmf.gmfgraph.Shape myShape;
340
341
        public org.eclipse.gmf.gmfgraph.Shape getShape() {
342
            return myShape;
343
        }
344
345
        public void setTargetShape(org.eclipse.gmf.gmfgraph.Shape shape) {
346
            myShape = shape;
347
        }
348
    }
349
350
    protected void modifyModel(RunnableWithShape runnable, String commandName) {
351
        java.util.ArrayList commands = new java.util.ArrayList();
352
        for (java.util.Iterator it = getSavedSelection().iterator(); it.hasNext();) {
353
            final org.eclipse.emf.ecore.EObject next = (org.eclipse.emf.ecore.EObject) it.next();
354
            if (next instanceof org.eclipse.gmf.gmfgraph.Shape) {
355
                final org.eclipse.gmf.gmfgraph.Shape shape = (org.eclipse.gmf.gmfgraph.Shape) next;
356
                runnable.setTargetShape(shape);
357
                commands.add(createCommand(commandName, next, runnable));
358
            }
359
        }
360
        executeAsCompositeCommand(commandName, commands);
361
        refresh();
362
    }
363
364
    private LineWidthListener getListener() {
365
        if (myListener == null) {
366
            myListener = new LineWidthListener();
367
        }
368
        return myListener;
369
    }
370
371
    private class LineWidthListener implements org.eclipse.swt.events.ModifyListener, org.eclipse.swt.events.SelectionListener {
372
373
        private boolean nonUserChange;
374
375
        public boolean isNonUserChange() {
376
            return nonUserChange;
377
        }
378
379
        private void applyChangesFrom(org.eclipse.swt.widgets.Widget widget) {
380
            if (!isNonUserChange()) {
381
                if (widget instanceof org.eclipse.swt.widgets.Spinner) {
382
                    Integer kind = (Integer) widget.getData(KIND_KEY);
383
                    int value = ((org.eclipse.swt.widgets.Spinner) widget).getSelection();
384
                    switch (kind.intValue()) {
385
                    case CORNER_WIDTH: {
386
                        setCornerWidth(value);
387
                        break;
388
                    }
389
                    case CORNER_HEIGHT: {
390
                        setCornerHeight(value);
391
                        break;
392
                    }
393
                    case LINE_WIDTH: {
394
                        setLineWidth(value);
395
                        break;
396
                    }
397
                    }
398
                } else if (widget instanceof org.eclipse.swt.widgets.Button) {
399
                    boolean turnedOn = ((org.eclipse.swt.widgets.Button) widget).getSelection();
400
                    Integer kind = (Integer) widget.getData(KIND_KEY);
401
                    switch (kind.intValue()) {
402
                    case org.eclipse.swt.SWT.LINE_SOLID:
403
                    case org.eclipse.swt.SWT.LINE_DASH:
404
                    case org.eclipse.swt.SWT.LINE_DOT:
405
                    case org.eclipse.swt.SWT.LINE_DASHDOT:
406
                    case org.eclipse.swt.SWT.LINE_DASHDOTDOT:
407
                    case org.eclipse.swt.SWT.LINE_CUSTOM: {
408
                        setLineKind(kind.intValue());
409
                        break;
410
                    }
411
                    case FILL: {
412
                        setFill(turnedOn);
413
                        break;
414
                    }
415
                    case OUTLINE: {
416
                        setOutline(turnedOn);
417
                        break;
418
                    }
419
                    case XOR_FILL: {
420
                        setXorFill(turnedOn);
421
                        break;
422
                    }
423
                    case XOR_OUTLINE: {
424
                        setXorOutline(turnedOn);
425
                        break;
426
                    }
427
                    }
428
                }
429
            }
430
        }
431
432
        public void modifyText(org.eclipse.swt.events.ModifyEvent e) {
433
            applyChangesFrom(e.widget);
434
        }
435
436
        public void widgetDefaultSelected(org.eclipse.swt.events.SelectionEvent e) {
437
            widgetSelected(e);
438
        }
439
440
        public void widgetSelected(org.eclipse.swt.events.SelectionEvent e) {
441
            applyChangesFrom(e.widget);
442
        }
443
444
        public void startListeningTo(org.eclipse.swt.widgets.Spinner spinner) {
445
            spinner.addModifyListener(this);
446
            spinner.addSelectionListener(this);
447
        }
448
449
        public void stopListeningTo(org.eclipse.swt.widgets.Spinner spinner) {
450
            spinner.removeModifyListener(this);
451
            spinner.removeSelectionListener(this);
452
        }
453
454
        public void startListeningTo(org.eclipse.swt.widgets.Button button) {
455
            button.addSelectionListener(this);
456
        }
457
458
        public void stopListeningTo(org.eclipse.swt.widgets.Button button) {
459
            button.removeSelectionListener(this);
460
        }
461
462
        public void startNonUserChange() {
463
            nonUserChange = true;
464
        }
465
466
        public void finishNonUserChange() {
467
            nonUserChange = false;
468
        }
469
    }
470
471
    protected org.eclipse.swt.custom.CLabel createLabelWidget(org.eclipse.swt.widgets.Composite parent, String labelText, org.eclipse.swt.widgets.Control leftWidget) {
472
        org.eclipse.swt.custom.CLabel label = getWidgetFactory().createCLabel(parent, labelText);
473
        org.eclipse.swt.layout.FormData data = new org.eclipse.swt.layout.FormData();
474
        data.top = new org.eclipse.swt.layout.FormAttachment(0);
475
        if (leftWidget != null) {
476
            data.left = new org.eclipse.swt.layout.FormAttachment(leftWidget);
477
        } else {
478
            data.left = new org.eclipse.swt.layout.FormAttachment(0);
479
        }
480
        label.setLayoutData(data);
481
        return label;
482
    }
483
484
    protected org.eclipse.swt.widgets.Spinner createSpinnerWidget(org.eclipse.swt.widgets.Composite parent, org.eclipse.swt.widgets.Control leftWidget, int kind) {
485
        org.eclipse.swt.widgets.Spinner spinner = new org.eclipse.swt.widgets.Spinner(parent, org.eclipse.swt.SWT.BORDER);
486
        spinner.setMinimum(1);
487
        spinner.setMaximum(999);
488
        spinner.setSelection(100);
489
        spinner.setIncrement(1);
490
        spinner.setPageIncrement(100);
491
        spinner.setBackground(parent.getBackground());
492
        spinner.setForeground(parent.getForeground());
493
        spinner.setData(KIND_KEY, kind);
494
        org.eclipse.swt.layout.FormData data = new org.eclipse.swt.layout.FormData();
495
        if (leftWidget != null) {
496
            data.left = new org.eclipse.swt.layout.FormAttachment(leftWidget);
497
        } else {
498
            data.left = new org.eclipse.swt.layout.FormAttachment(0);
499
        }
500
        data.top = new org.eclipse.swt.layout.FormAttachment(0);
501
        spinner.setLayoutData(data);
502
        return spinner;
503
    }
504
505
    private int getLineKind(Object object) {
506
        if (object instanceof org.eclipse.gmf.gmfgraph.Shape) {
507
            org.eclipse.gmf.gmfgraph.Shape shape = (org.eclipse.gmf.gmfgraph.Shape) object;
508
            return shape.getLineKind().getValue();
509
        }
510
        return -1;
511
    }
512
513
    private int getLineWidth(Object object) {
514
        if (object instanceof org.eclipse.gmf.gmfgraph.Shape) {
515
            org.eclipse.gmf.gmfgraph.Shape shape = (org.eclipse.gmf.gmfgraph.Shape) object;
516
            return shape.getLineWidth();
517
        }
518
        return -1;
519
    }
520
521
    private boolean getFill(Object object) {
522
        if (object instanceof org.eclipse.gmf.gmfgraph.Shape) {
523
            org.eclipse.gmf.gmfgraph.Shape shape = (org.eclipse.gmf.gmfgraph.Shape) object;
524
            return shape.isFill();
525
        }
526
        return false;
527
    }
528
529
    private boolean getOutline(Object object) {
530
        if (object instanceof org.eclipse.gmf.gmfgraph.Shape) {
531
            org.eclipse.gmf.gmfgraph.Shape shape = (org.eclipse.gmf.gmfgraph.Shape) object;
532
            return shape.isOutline();
533
        }
534
        return false;
535
    }
536
537
    private boolean getXorFill(Object object) {
538
        if (object instanceof org.eclipse.gmf.gmfgraph.Shape) {
539
            org.eclipse.gmf.gmfgraph.Shape shape = (org.eclipse.gmf.gmfgraph.Shape) object;
540
            return shape.isXorFill();
541
        }
542
        return false;
543
    }
544
545
    private boolean getXorOutline(Object object) {
546
        if (object instanceof org.eclipse.gmf.gmfgraph.Shape) {
547
            org.eclipse.gmf.gmfgraph.Shape shape = (org.eclipse.gmf.gmfgraph.Shape) object;
548
            return shape.isXorOutline();
549
        }
550
        return false;
551
    }
552
553
    private int getCornerWidth(Object object) {
554
        if (object instanceof org.eclipse.gmf.gmfgraph.RoundedRectangle) {
555
            org.eclipse.gmf.gmfgraph.RoundedRectangle cornered = (org.eclipse.gmf.gmfgraph.RoundedRectangle) object;
556
            return cornered.getCornerWidth();
557
        }
558
        return -1;
559
    }
560
561
    private int getCornerHeight(Object object) {
562
        if (object instanceof org.eclipse.gmf.gmfgraph.RoundedRectangle) {
563
            org.eclipse.gmf.gmfgraph.RoundedRectangle cornered = (org.eclipse.gmf.gmfgraph.RoundedRectangle) object;
564
            return cornered.getCornerHeight();
565
        }
566
        return -1;
567
    }
568
569
    public void refresh() {
570
        getListener().startNonUserChange();
571
        try {
572
            for (java.util.Iterator it = getSavedSelection().iterator(); it.hasNext();) {
573
                final Object next = it.next();
574
                mySectionComposite.setVisible(next instanceof org.eclipse.gmf.gmfgraph.Shape);
575
                if (!mySectionComposite.isVisible()) {
576
                    return;
577
                }
578
                executeAsReadAction(new Runnable() {
579
580
                    public void run() {
581
                        int lineWidth = getLineWidth(next);
582
                        if (lineWidth != -1) {
583
                            myLineWidthSpinner.setSelection(lineWidth);
584
                        }
585
                        int lineKind = getLineKind(next);
586
                        myLineStyle_Solid.setSelection(lineKind == org.eclipse.swt.SWT.LINE_SOLID);
587
                        myLineStyle_Dash.setSelection(lineKind == org.eclipse.swt.SWT.LINE_DASH);
588
                        myLineStyle_Dot.setSelection(lineKind == org.eclipse.swt.SWT.LINE_DOT);
589
                        myLineStyle_DashDot.setSelection(lineKind == org.eclipse.swt.SWT.LINE_DASHDOT);
590
                        myLineStyle_DashDotDot.setSelection(lineKind == org.eclipse.swt.SWT.LINE_DASHDOTDOT);
591
                        myLineStyle_Custom.setSelection(lineKind == org.eclipse.swt.SWT.LINE_CUSTOM);
592
                        myFillCheckbox.setSelection(getFill(next));
593
                        myOutlineCheckbox.setSelection(getOutline(next));
594
                        myXorFillCheckbox.setSelection(getXorFill(next));
595
                        myXorOutlineCheckbox.setSelection(getXorOutline(next));
596
                        myCornerGroup.setVisible(next instanceof org.eclipse.gmf.gmfgraph.RoundedRectangle);
597
                        if (myCornerGroup.isVisible()) {
598
                            int cornerWidth = getCornerWidth(next);
599
                            if (cornerWidth != -1) {
600
                                myCornerWidthSpinner.setSelection(cornerWidth);
601
                            }
602
                            int cornerHeight = getCornerHeight(next);
603
                            if (cornerHeight != -1) {
604
                                myCornerHeightSpinner.setSelection(cornerHeight);
605
                            }
606
                        }
607
                    }
608
                });
609
            }
610
        } finally {
611
            getListener().finishNonUserChange();
612
        }
613
    }
614
615
    private org.eclipse.swt.widgets.Button getLineKindButton(int lineKind) {
616
        switch (lineKind) {
617
        case org.eclipse.swt.SWT.LINE_SOLID:
618
            return myLineStyle_Solid;
619
        case org.eclipse.swt.SWT.LINE_DOT:
620
            return myLineStyle_Dot;
621
        case org.eclipse.swt.SWT.LINE_DASH:
622
            return myLineStyle_Dash;
623
        case org.eclipse.swt.SWT.LINE_DASHDOT:
624
            return myLineStyle_DashDot;
625
        case org.eclipse.swt.SWT.LINE_DASHDOTDOT:
626
            return myLineStyle_DashDotDot;
627
        case org.eclipse.swt.SWT.LINE_CUSTOM:
628
            return myLineStyle_Custom;
629
        default:
630
            return null;
631
        }
632
    }
633
}
(-)icons/line_dash.png (+4 lines)
Added Link Here
1
‰PNG
2
3
4
IHDRD²-ïsRGB®ÎégAMA±?üa cHRMz&€„ú€èu0ê`:˜pœºQ<gIDATHKcüÿÿ?ð@ÏÀ0l|Jb£ž¤!À°Ž?ŽæÆïß¿Ãe‘ƒV%¢ SPP@óÌýû÷±–sƒW¥DDD yæùóçpYdÆ U9ZÒü?Z4ֈ?™A3Óùro!í™IEND®B`‚
(-)icons/line_dashdotdot.png (+6 lines)
Added Link Here
1
‰PNG
2
3
4
IHDRDÒîþJsRGB®ÎégAMA±?üa cHRMz&€„ú€èu0ê`:˜pœºQ<ƒIDATHKíT±
5
À K?ᔞÁ·9ƒ1'0¦éH‘š¥Š¢x´,ƒðAD& L’ç‰e§€K¡µ¶\vŒÁ*+¯?wŒÕYê¥çK‘•R–0½wÖYùïiu–úé”S¡Öº„ADVYyí¼c¬ÎR/=³œþÿ¬f¯‹ÉÍäfþ˜À
6
î¿OÿfӇIEND®B`‚
(-)templates/aspects/xpt/propsheet/Utils.ext (+32 lines)
Added Link Here
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
 *    Anna Karjakina (Borland) - initial API and implementation
11
 */
12
 
13
import "http://www.eclipse.org/gmf/2005/GraphicalDefinition";
14
import "http://www.eclipse.org/gmf/2005/GenModel/2.0";
15
import "http://www.eclipse.org/emf/2002/GenModel";
16
import "http://www.eclipse.org/emf/2002/Ecore";
17
18
boolean isLayoutTab(gmfgen::GenCustomPropertyTab tab) :
19
"layout" == tab.iD
20
;
21
22
boolean isPointTab(gmfgen::GenCustomPropertyTab tab) :
23
"points" == tab.iD
24
;
25
26
boolean isViewTab(gmfgen::GenCustomPropertyTab tab) :
27
"view" == tab.iD
28
;
29
30
boolean isCustomTab(gmfgen::GenCustomPropertyTab tab) :
31
"custom" == tab.iD
32
;
(-)icons/line_dashdot.png (+4 lines)
Added Link Here
1
‰PNG
2
3
4
IHDRDÒîþJsRGB®ÎégAMA±?üa cHRMz&€„ú€èu0ê`:˜pœºQ<xIDATHKcüÿÿ?ð@ÏÀ0l|Jb£ž¤!À°78~ü8š«¿ÿTŽK?QhR42_A¦  €æ™û÷ï5à'¾P¤•É¸ADDšgž?TŽK?QhR42y´¤ù´h¬33£1C?ü°uþP‡IEND®B`‚

Return to bug 173499