Skip to content
Snippets Groups Projects
Commit 8a5633b8 authored by Florian Hölzl's avatar Florian Hölzl
Browse files

refs 461
parent 845dab4f
No related branches found
No related tags found
No related merge requests found
......@@ -38,7 +38,7 @@ import org.fortiss.tooling.kernel.ui.service.IModelElementHandlerService;
* @author hoelzl
* @author $Author$
* @version $Rev$
* @ConQAT.Rating GREEN Hash: 5792562CF847FBBB2E1CD413F4E17BC6
* @ConQAT.Rating YELLOW Hash: 559F6477DD8804C2ED89CF1F543E6DE8
*/
public interface IModelElementHandler<T extends EObject> extends
IEObjectAware<T> {
......@@ -98,4 +98,11 @@ public interface IModelElementHandler<T extends EObject> extends
* should be passed to the model editor service.
*/
EObject handleOpenModelElementRequest(T element);
/**
* Handle property section re-targeting. This method is called when adding
* property sections for this element. It may return a different EObject
* than this, but MUST NOT return <code>null</code>.
*/
EObject getPropertySectionRetargetElement(T element);
}
......@@ -36,7 +36,7 @@ import org.fortiss.tooling.kernel.ui.extension.IModelElementHandler;
* @author hoelzl
* @author $Author$
* @version $Rev$
* @ConQAT.Rating GREEN Hash: F473794A27C6EDC62BDF0877ED1E04F3
* @ConQAT.Rating YELLOW Hash: 7BC25B8FE779903D984B3BB297EDAA7F
*/
public abstract class ModelElementHandlerBase<T extends EObject> implements
IModelElementHandler<T> {
......@@ -105,4 +105,10 @@ public abstract class ModelElementHandlerBase<T extends EObject> implements
public EObject handleOpenModelElementRequest(T element) {
return element;
}
/** {@inheritDoc} */
@Override
public EObject getPropertySectionRetargetElement(T element) {
return element;
}
}
......@@ -18,6 +18,7 @@ $Id$
package org.fortiss.tooling.kernel.ui.internal.properties;
import org.eclipse.core.databinding.observable.value.IObservableValue;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.jface.databinding.swt.SWTObservables;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Composite;
......@@ -25,7 +26,9 @@ import org.eclipse.swt.widgets.Text;
import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;
import org.fortiss.tooling.kernel.model.FortissToolingKernelPackage;
import org.fortiss.tooling.kernel.model.INamedCommentedElement;
import org.fortiss.tooling.kernel.ui.extension.IModelElementHandler;
import org.fortiss.tooling.kernel.ui.extension.base.PropertySectionBase;
import org.fortiss.tooling.kernel.ui.service.IModelElementHandlerService;
import org.fortiss.tooling.kernel.ui.util.ObservableUtils;
/**
......@@ -34,7 +37,7 @@ import org.fortiss.tooling.kernel.ui.util.ObservableUtils;
* @author ratiu
* @author $Author$
* @version $Rev$
* @ConQAT.Rating GREEN Hash: 432EDB5503A19A4D9813A1F2CB78A3B6
* @ConQAT.Rating YELLOW Hash: 17442C615872E7970090EB11DDBB9626
*/
public class NamedCommentedPropertySection extends PropertySectionBase {
......@@ -66,6 +69,17 @@ public class NamedCommentedPropertySection extends PropertySectionBase {
@Override
protected void setSectionInput(Object input) {
namedCommented = (INamedCommentedElement) input;
// do section retargeting
IModelElementHandler<EObject> handler = IModelElementHandlerService.INSTANCE
.getModelElementHandler(namedCommented);
if (handler != null) {
EObject retarget = handler
.getPropertySectionRetargetElement(namedCommented);
if (retarget instanceof INamedCommentedElement) {
namedCommented = (INamedCommentedElement) retarget;
}
}
}
/** {@inheritDoc} */
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment