|
@@ -1,5 +1,5 @@
|
|
|
/**
|
|
|
- * Copyright (c) 2010 committers of YAKINDU and others.
|
|
|
+ * Copyright (c) 2011 committers of YAKINDU and others.
|
|
|
* All rights reserved. This program and the accompanying materials
|
|
|
* are made available under the terms of the Eclipse Public License v1.0
|
|
|
* which accompanies this distribution, and is available at
|
|
@@ -10,34 +10,27 @@
|
|
|
*/
|
|
|
package org.yakindu.sct.statechart.diagram.propertysheets;
|
|
|
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.Iterator;
|
|
|
-
|
|
|
import org.eclipse.core.runtime.IAdaptable;
|
|
|
import org.eclipse.emf.common.notify.AdapterFactory;
|
|
|
-import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
|
|
|
import org.eclipse.emf.edit.provider.IItemPropertySource;
|
|
|
import org.eclipse.emf.edit.ui.provider.PropertySource;
|
|
|
-import org.eclipse.emf.transaction.TransactionalEditingDomain;
|
|
|
-import org.eclipse.emf.transaction.util.TransactionUtil;
|
|
|
-import org.eclipse.gef.EditPart;
|
|
|
-import org.eclipse.gmf.runtime.diagram.ui.properties.sections.AdvancedPropertySection;
|
|
|
-import org.eclipse.gmf.runtime.notation.View;
|
|
|
-import org.eclipse.jface.viewers.ISelection;
|
|
|
-import org.eclipse.jface.viewers.StructuredSelection;
|
|
|
-import org.eclipse.ui.IWorkbenchPart;
|
|
|
import org.eclipse.ui.views.properties.IPropertySource;
|
|
|
import org.eclipse.ui.views.properties.IPropertySourceProvider;
|
|
|
import org.yakindu.model.sct.statechart.ExpressionElement;
|
|
|
|
|
|
+import de.itemis.gmf.runtime.commons.properties.SemanticPropertySection;
|
|
|
+
|
|
|
/**
|
|
|
+ * Custom SemanticPropertySection that creates ExpressionelementPropertySources
|
|
|
+ * for ExpressionElements.
|
|
|
+ *
|
|
|
+ * @author andreas muelder
|
|
|
*
|
|
|
- * @author muelder
|
|
|
- *
|
|
|
*/
|
|
|
-public class DiagramPropertySection extends AdvancedPropertySection implements
|
|
|
+public class DiagramPropertySection extends SemanticPropertySection implements
|
|
|
IPropertySourceProvider {
|
|
|
|
|
|
+ @Override
|
|
|
public IPropertySource getPropertySource(Object object) {
|
|
|
if (object instanceof IPropertySource) {
|
|
|
return (IPropertySource) object;
|
|
@@ -48,9 +41,7 @@ public class DiagramPropertySection extends AdvancedPropertySection implements
|
|
|
IItemPropertySource.class);
|
|
|
if (ips != null) {
|
|
|
if (object instanceof ExpressionElement) {
|
|
|
- return new ExpressionElementPropertySource(
|
|
|
- object,
|
|
|
- ips);
|
|
|
+ return new ExpressionElementPropertySource(object, ips);
|
|
|
}
|
|
|
return new PropertySource(object, ips);
|
|
|
}
|
|
@@ -61,64 +52,4 @@ public class DiagramPropertySection extends AdvancedPropertySection implements
|
|
|
}
|
|
|
return null;
|
|
|
}
|
|
|
-
|
|
|
- @Override
|
|
|
- protected IPropertySourceProvider getPropertySourceProvider() {
|
|
|
- return this;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * Modify/unwrap selection.
|
|
|
- */
|
|
|
- protected Object transformSelection(Object selected) {
|
|
|
-
|
|
|
- if (selected instanceof EditPart) {
|
|
|
- Object model = ((EditPart) selected).getModel();
|
|
|
- return model instanceof View ? ((View) model).getElement() : null;
|
|
|
- }
|
|
|
- if (selected instanceof View) {
|
|
|
- return ((View) selected).getElement();
|
|
|
- }
|
|
|
- if (selected instanceof IAdaptable) {
|
|
|
- View view = (View) ((IAdaptable) selected).getAdapter(View.class);
|
|
|
- if (view != null) {
|
|
|
- return view.getElement();
|
|
|
- }
|
|
|
- }
|
|
|
- return selected;
|
|
|
- }
|
|
|
-
|
|
|
- @SuppressWarnings({ "rawtypes", "unchecked" })
|
|
|
- @Override
|
|
|
- public void setInput(IWorkbenchPart part, ISelection selection) {
|
|
|
- if (selection.isEmpty()
|
|
|
- || false == selection instanceof StructuredSelection) {
|
|
|
- super.setInput(part, selection);
|
|
|
- return;
|
|
|
- }
|
|
|
- final StructuredSelection structuredSelection = ((StructuredSelection) selection);
|
|
|
- ArrayList transformedSelection = new ArrayList(
|
|
|
- structuredSelection.size());
|
|
|
- for (Iterator it = structuredSelection.iterator(); it.hasNext();) {
|
|
|
- Object r = transformSelection(it.next());
|
|
|
- if (r != null) {
|
|
|
- transformedSelection.add(r);
|
|
|
- }
|
|
|
- }
|
|
|
- super.setInput(part, new StructuredSelection(transformedSelection));
|
|
|
- }
|
|
|
-
|
|
|
- protected AdapterFactory getAdapterFactory(Object object) {
|
|
|
- if (getEditingDomain() instanceof AdapterFactoryEditingDomain) {
|
|
|
- return ((AdapterFactoryEditingDomain) getEditingDomain())
|
|
|
- .getAdapterFactory();
|
|
|
- }
|
|
|
- TransactionalEditingDomain editingDomain = TransactionUtil
|
|
|
- .getEditingDomain(object);
|
|
|
- if (editingDomain != null) {
|
|
|
- return ((AdapterFactoryEditingDomain) editingDomain)
|
|
|
- .getAdapterFactory();
|
|
|
- }
|
|
|
- return null;
|
|
|
- }
|
|
|
}
|