Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMélanie Bats2017-04-25 07:29:09 +0000
committerStéphane Bégaudeau2017-05-16 12:17:55 +0000
commit8078c44ddc21b81c781c94f569e150f62e7a558e (patch)
tree0c2a650af9e8d76b7c1ae1343716f9863d8b0c6c /plugins
parent5b6a3bd3be7e31958eb72cd49c3f281c5f0e4f53 (diff)
downloadorg.eclipse.eef-8078c44ddc21b81c781c94f569e150f62e7a558e.tar.gz
org.eclipse.eef-8078c44ddc21b81c781c94f569e150f62e7a558e.tar.xz
org.eclipse.eef-8078c44ddc21b81c781c94f569e150f62e7a558e.zip
[515701] Add an onClick expression on the reference widget
When the reference is: * a single valued reference: if the on click expression is set, the reference is represented as an hyperlink else the reference is represented as a label * a multi valued reference: if the on click expression is set, the reference is represented as a table with clickable lines Bug: 515701 Change-Id: I1d3d74fa03ec78cd156ecbb0b57d772bab245250 Signed-off-by: Mélanie Bats <melanie.bats@obeo.fr>
Diffstat (limited to 'plugins')
-rw-r--r--plugins/org.eclipse.eef.core.ext.widgets.reference/META-INF/MANIFEST.MF3
-rw-r--r--plugins/org.eclipse.eef.core.ext.widgets.reference/src/org/eclipse/eef/core/ext/widgets/reference/internal/EEFExtReferenceController.java14
-rw-r--r--plugins/org.eclipse.eef.core/src/org/eclipse/eef/core/api/controllers/AbstractEEFOnClickController.java68
-rw-r--r--plugins/org.eclipse.eef.core/src/org/eclipse/eef/core/api/controllers/IEEFHyperlinkController.java12
-rw-r--r--plugins/org.eclipse.eef.core/src/org/eclipse/eef/core/api/controllers/IEEFListController.java12
-rw-r--r--plugins/org.eclipse.eef.core/src/org/eclipse/eef/core/api/controllers/IEEFOnClickController.java29
-rw-r--r--plugins/org.eclipse.eef.core/src/org/eclipse/eef/core/internal/controllers/EEFHyperlinkController.java34
-rw-r--r--plugins/org.eclipse.eef.core/src/org/eclipse/eef/core/internal/controllers/EEFListController.java33
-rw-r--r--plugins/org.eclipse.eef.ext.widgets.reference/model/eef-ext-widgets-reference.ecore1
-rw-r--r--plugins/org.eclipse.eef.ext.widgets.reference/src-gen/org/eclipse/eef/ext/widgets/reference/eefextwidgetsreference/EEFExtReferenceConditionalStyle.java10
-rw-r--r--plugins/org.eclipse.eef.ext.widgets.reference/src-gen/org/eclipse/eef/ext/widgets/reference/eefextwidgetsreference/EEFExtReferenceDescription.java57
-rw-r--r--plugins/org.eclipse.eef.ext.widgets.reference/src-gen/org/eclipse/eef/ext/widgets/reference/eefextwidgetsreference/EefExtWidgetsReferencePackage.java102
-rw-r--r--plugins/org.eclipse.eef.ext.widgets.reference/src-gen/org/eclipse/eef/ext/widgets/reference/eefextwidgetsreference/impl/EEFExtReferenceConditionalStyleImpl.java25
-rw-r--r--plugins/org.eclipse.eef.ext.widgets.reference/src-gen/org/eclipse/eef/ext/widgets/reference/eefextwidgetsreference/impl/EEFExtReferenceDescriptionImpl.java93
-rw-r--r--plugins/org.eclipse.eef.ext.widgets.reference/src-gen/org/eclipse/eef/ext/widgets/reference/eefextwidgetsreference/impl/EEFExtReferenceWidgetStyleImpl.java2
-rw-r--r--plugins/org.eclipse.eef.ext.widgets.reference/src-gen/org/eclipse/eef/ext/widgets/reference/eefextwidgetsreference/impl/EefExtWidgetsReferencePackageImpl.java79
-rw-r--r--plugins/org.eclipse.eef.ext.widgets.reference/src-gen/org/eclipse/eef/ext/widgets/reference/eefextwidgetsreference/util/EefExtWidgetsReferenceAdapterFactory.java51
-rw-r--r--plugins/org.eclipse.eef.ext.widgets.reference/src-gen/org/eclipse/eef/ext/widgets/reference/eefextwidgetsreference/util/EefExtWidgetsReferenceSwitch.java3
-rw-r--r--plugins/org.eclipse.eef.ide.ui.ext.widgets.reference/src/org/eclipse/eef/ide/ui/ext/widgets/reference/internal/EEFExtMultipleReferenceLifecycleManager.java13
-rw-r--r--plugins/org.eclipse.eef.ide.ui.ext.widgets.reference/src/org/eclipse/eef/ide/ui/ext/widgets/reference/internal/EEFExtSingleReferenceLifecycleManager.java75
-rw-r--r--plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/api/widgets/EEFHyperlinkListener.java (renamed from plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/internal/widgets/EEFHyperlinkListener.java)43
-rw-r--r--plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/api/widgets/EEFTableSelectionListener.java (renamed from plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/internal/widgets/EEFListSelectionListener.java)10
-rw-r--r--plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/internal/widgets/EEFHyperlinkLifecycleManager.java1
-rw-r--r--plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/internal/widgets/EEFListLifecycleManager.java3
24 files changed, 523 insertions, 250 deletions
diff --git a/plugins/org.eclipse.eef.core.ext.widgets.reference/META-INF/MANIFEST.MF b/plugins/org.eclipse.eef.core.ext.widgets.reference/META-INF/MANIFEST.MF
index 0b594d52f..43c45cb05 100644
--- a/plugins/org.eclipse.eef.core.ext.widgets.reference/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.eef.core.ext.widgets.reference/META-INF/MANIFEST.MF
@@ -11,4 +11,5 @@ Require-Bundle: org.eclipse.eef.core;bundle-version="[2.0.0,3.0.0)",
org.eclipse.emf.ecore;bundle-version="[2.8.0,3.0.0)"
Bundle-Localization: plugin
Export-Package: org.eclipse.eef.core.ext.widgets.reference.internal;version="2.0.0";x-friends:="org.eclipse.eef.ide.ui.ext.widgets.reference"
-Import-Package: org.eclipse.sirius.common.interpreter.api;version="1.0.0"
+Import-Package: org.eclipse.core.runtime;version="3.5.0",
+ org.eclipse.sirius.common.interpreter.api;version="1.0.0"
diff --git a/plugins/org.eclipse.eef.core.ext.widgets.reference/src/org/eclipse/eef/core/ext/widgets/reference/internal/EEFExtReferenceController.java b/plugins/org.eclipse.eef.core.ext.widgets.reference/src/org/eclipse/eef/core/ext/widgets/reference/internal/EEFExtReferenceController.java
index 54cb9d9a3..6261cef75 100644
--- a/plugins/org.eclipse.eef.core.ext.widgets.reference/src/org/eclipse/eef/core/ext/widgets/reference/internal/EEFExtReferenceController.java
+++ b/plugins/org.eclipse.eef.core.ext.widgets.reference/src/org/eclipse/eef/core/ext/widgets/reference/internal/EEFExtReferenceController.java
@@ -12,7 +12,7 @@ package org.eclipse.eef.core.ext.widgets.reference.internal;
import org.eclipse.eef.EEFWidgetDescription;
import org.eclipse.eef.core.api.EditingContextAdapter;
-import org.eclipse.eef.core.api.controllers.AbstractEEFWidgetController;
+import org.eclipse.eef.core.api.controllers.AbstractEEFOnClickController;
import org.eclipse.eef.ext.widgets.reference.eefextwidgetsreference.EEFExtReferenceDescription;
import org.eclipse.sirius.common.interpreter.api.IInterpreter;
import org.eclipse.sirius.common.interpreter.api.IVariableManager;
@@ -22,7 +22,7 @@ import org.eclipse.sirius.common.interpreter.api.IVariableManager;
*
* @author sbegaudeau
*/
-public class EEFExtReferenceController extends AbstractEEFWidgetController {
+public class EEFExtReferenceController extends AbstractEEFOnClickController {
/**
* The description.
@@ -57,4 +57,14 @@ public class EEFExtReferenceController extends AbstractEEFWidgetController {
return this.description;
}
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.eef.core.api.controllers.AbstractEEFOnClickController#getOnClickExpression()
+ */
+ @Override
+ protected String getOnClickExpression() {
+ return this.description.getOnClickExpression();
+ }
+
}
diff --git a/plugins/org.eclipse.eef.core/src/org/eclipse/eef/core/api/controllers/AbstractEEFOnClickController.java b/plugins/org.eclipse.eef.core/src/org/eclipse/eef/core/api/controllers/AbstractEEFOnClickController.java
new file mode 100644
index 000000000..37eeb185c
--- /dev/null
+++ b/plugins/org.eclipse.eef.core/src/org/eclipse/eef/core/api/controllers/AbstractEEFOnClickController.java
@@ -0,0 +1,68 @@
+/*******************************************************************************
+ * Copyright (c) 2017 Obeo.
+ * 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
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.eef.core.api.controllers;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.eclipse.eef.core.api.EEFExpressionUtils;
+import org.eclipse.eef.core.api.EditingContextAdapter;
+import org.eclipse.eef.core.api.utils.EvalFactory;
+import org.eclipse.sirius.common.interpreter.api.IInterpreter;
+import org.eclipse.sirius.common.interpreter.api.IVariableManager;
+
+/**
+ * This class is used to provide utilities to on click controller.
+ *
+ * @author mbats
+ */
+public abstract class AbstractEEFOnClickController extends AbstractEEFWidgetController implements IEEFOnClickController {
+
+ /**
+ * The constructor.
+ *
+ * @param variableManager
+ * The variable manager
+ * @param interpreter
+ * The interpreter
+ * @param editingContextAdapter
+ * The editing context adapter
+ */
+ public AbstractEEFOnClickController(IVariableManager variableManager, IInterpreter interpreter, EditingContextAdapter editingContextAdapter) {
+ super(variableManager, interpreter, editingContextAdapter);
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.eef.core.api.controllers.IEEFOnClickController#onClick(java.lang.Object, java.lang.String)
+ */
+ @Override
+ public void onClick(Object element, String onClickEventKind) {
+ this.editingContextAdapter.performModelChange(() -> {
+ String expression = this.getOnClickExpression();
+
+ Map<String, Object> variables = new HashMap<String, Object>();
+ variables.putAll(this.variableManager.getVariables());
+ variables.put(EEFExpressionUtils.EEFList.SELECTION, element);
+ variables.put(EEFExpressionUtils.EEFList.ON_CLICK_EVENT_KIND, onClickEventKind);
+
+ EvalFactory.of(this.interpreter, variables).call(expression);
+ });
+ }
+
+ /**
+ * Returns the on click expression.
+ *
+ * @return The on click expression
+ */
+ protected abstract String getOnClickExpression();
+}
diff --git a/plugins/org.eclipse.eef.core/src/org/eclipse/eef/core/api/controllers/IEEFHyperlinkController.java b/plugins/org.eclipse.eef.core/src/org/eclipse/eef/core/api/controllers/IEEFHyperlinkController.java
index 251acd40c..6b94e9abc 100644
--- a/plugins/org.eclipse.eef.core/src/org/eclipse/eef/core/api/controllers/IEEFHyperlinkController.java
+++ b/plugins/org.eclipse.eef.core/src/org/eclipse/eef/core/api/controllers/IEEFHyperlinkController.java
@@ -21,17 +21,7 @@ import org.eclipse.eef.EEFWidgetAction;
*
* @author mbats
*/
-public interface IEEFHyperlinkController extends IEEFWidgetController {
-
- /**
- * Invoked when the user clicks on an hyperlink.
- *
- * @param element
- * Semantic element
- * @return the status of the onclick execution.
- */
- IStatus onClick(Object element);
-
+public interface IEEFHyperlinkController extends IEEFOnClickController {
/**
* Register a consumer which will be called with the new value of the hyperlink when it will change.
*
diff --git a/plugins/org.eclipse.eef.core/src/org/eclipse/eef/core/api/controllers/IEEFListController.java b/plugins/org.eclipse.eef.core/src/org/eclipse/eef/core/api/controllers/IEEFListController.java
index 659880aff..6ca80ee38 100644
--- a/plugins/org.eclipse.eef.core/src/org/eclipse/eef/core/api/controllers/IEEFListController.java
+++ b/plugins/org.eclipse.eef.core/src/org/eclipse/eef/core/api/controllers/IEEFListController.java
@@ -21,7 +21,7 @@ import org.eclipse.eef.EEFWidgetAction;
*
* @author mbats
*/
-public interface IEEFListController extends IEEFWidgetController {
+public interface IEEFListController extends IEEFOnClickController {
/**
* Register a consumer which will be called with the new value of the text when it will change.
*
@@ -36,16 +36,6 @@ public interface IEEFListController extends IEEFWidgetController {
void removeNewValueConsumer();
/**
- * Invoked when the user clicks on an object.
- *
- * @param element
- * Semantic element
- * @param onClickEventKind
- * The kind of event (single click or double click)
- */
- void onClick(Object element, String onClickEventKind);
-
- /**
* Invoked when the user clicks on an action button.
*
* @param action
diff --git a/plugins/org.eclipse.eef.core/src/org/eclipse/eef/core/api/controllers/IEEFOnClickController.java b/plugins/org.eclipse.eef.core/src/org/eclipse/eef/core/api/controllers/IEEFOnClickController.java
new file mode 100644
index 000000000..9c6488e24
--- /dev/null
+++ b/plugins/org.eclipse.eef.core/src/org/eclipse/eef/core/api/controllers/IEEFOnClickController.java
@@ -0,0 +1,29 @@
+/*******************************************************************************
+ * Copyright (c) 2017 Obeo.
+ * 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
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.eef.core.api.controllers;
+
+/**
+ * The IEEFOnClickController is responsible of supporting all the interactions with the clickable widgets.
+ *
+ * @author mbats
+ */
+public interface IEEFOnClickController extends IEEFWidgetController {
+
+ /**
+ * Invoked when the user clicks on an object.
+ *
+ * @param element
+ * Semantic element
+ * @param onClickEventKind
+ * The kind of event (single click or double click)
+ */
+ void onClick(Object element, String onClickEventKind);
+}
diff --git a/plugins/org.eclipse.eef.core/src/org/eclipse/eef/core/internal/controllers/EEFHyperlinkController.java b/plugins/org.eclipse.eef.core/src/org/eclipse/eef/core/internal/controllers/EEFHyperlinkController.java
index 80af7bf2c..ce962d21c 100644
--- a/plugins/org.eclipse.eef.core/src/org/eclipse/eef/core/internal/controllers/EEFHyperlinkController.java
+++ b/plugins/org.eclipse.eef.core/src/org/eclipse/eef/core/internal/controllers/EEFHyperlinkController.java
@@ -23,7 +23,7 @@ import org.eclipse.eef.EefPackage;
import org.eclipse.eef.common.api.utils.Util;
import org.eclipse.eef.core.api.EEFExpressionUtils;
import org.eclipse.eef.core.api.EditingContextAdapter;
-import org.eclipse.eef.core.api.controllers.AbstractEEFWidgetController;
+import org.eclipse.eef.core.api.controllers.AbstractEEFOnClickController;
import org.eclipse.eef.core.api.controllers.IEEFHyperlinkController;
import org.eclipse.eef.core.api.utils.EvalFactory;
import org.eclipse.emf.ecore.EAttribute;
@@ -35,7 +35,7 @@ import org.eclipse.sirius.common.interpreter.api.IVariableManager;
*
* @author mbats
*/
-public class EEFHyperlinkController extends AbstractEEFWidgetController implements IEEFHyperlinkController {
+public class EEFHyperlinkController extends AbstractEEFOnClickController implements IEEFHyperlinkController {
/**
* The description.
*/
@@ -100,25 +100,6 @@ public class EEFHyperlinkController extends AbstractEEFWidgetController implemen
/**
* {@inheritDoc}
*
- * @see org.eclipse.eef.core.api.controllers.IEEFHyperlinkController#onClick(java.lang.Object)
- */
- @Override
- public IStatus onClick(final Object element) {
- return this.editingContextAdapter.performModelChange(() -> {
- String expression = this.description.getOnClickExpression();
- EAttribute attr = EefPackage.Literals.EEF_HYPERLINK_DESCRIPTION__ON_CLICK_EXPRESSION;
-
- Map<String, Object> variables = new HashMap<String, Object>();
- variables.putAll(this.variableManager.getVariables());
- variables.put(EEFExpressionUtils.EEFHyperlink.SELECTION, element);
-
- EvalFactory.of(this.interpreter, variables).logIfBlank(attr).call(expression);
- });
- }
-
- /**
- * {@inheritDoc}
- *
* @see org.eclipse.eef.core.api.controllers.IEEFTextController#onNewValue(java.util.function.Consumer)
*/
@Override
@@ -149,6 +130,16 @@ public class EEFHyperlinkController extends AbstractEEFWidgetController implemen
/**
* {@inheritDoc}
*
+ * @see org.eclipse.eef.core.api.controllers.AbstractEEFOnClickController#getOnClickExpression()
+ */
+ @Override
+ protected String getOnClickExpression() {
+ return this.description.getOnClickExpression();
+ }
+
+ /**
+ * {@inheritDoc}
+ *
* @see org.eclipse.eef.core.api.controllers.IEEFHyperlinkController#action(EEFWidgetAction)
*/
@Override
@@ -163,5 +154,4 @@ public class EEFHyperlinkController extends AbstractEEFWidgetController implemen
EvalFactory.of(this.interpreter, variables).logIfBlank(eAttribute).call(expression);
});
}
-
}
diff --git a/plugins/org.eclipse.eef.core/src/org/eclipse/eef/core/internal/controllers/EEFListController.java b/plugins/org.eclipse.eef.core/src/org/eclipse/eef/core/internal/controllers/EEFListController.java
index fbe4c61e1..a3c333d23 100644
--- a/plugins/org.eclipse.eef.core/src/org/eclipse/eef/core/internal/controllers/EEFListController.java
+++ b/plugins/org.eclipse.eef.core/src/org/eclipse/eef/core/internal/controllers/EEFListController.java
@@ -23,7 +23,7 @@ import org.eclipse.eef.EEFWidgetDescription;
import org.eclipse.eef.EefPackage;
import org.eclipse.eef.core.api.EEFExpressionUtils;
import org.eclipse.eef.core.api.EditingContextAdapter;
-import org.eclipse.eef.core.api.controllers.AbstractEEFWidgetController;
+import org.eclipse.eef.core.api.controllers.AbstractEEFOnClickController;
import org.eclipse.eef.core.api.controllers.IEEFListController;
import org.eclipse.eef.core.api.utils.EvalFactory;
import org.eclipse.emf.ecore.EAttribute;
@@ -35,7 +35,7 @@ import org.eclipse.sirius.common.interpreter.api.IVariableManager;
*
* @author sbegaudeau
*/
-public class EEFListController extends AbstractEEFWidgetController implements IEEFListController {
+public class EEFListController extends AbstractEEFOnClickController implements IEEFListController {
/**
* The description.
*/
@@ -102,25 +102,6 @@ public class EEFListController extends AbstractEEFWidgetController implements IE
/**
* {@inheritDoc}
*
- * @see org.eclipse.eef.core.api.controllers.IEEFListController#onClick(java.lang.Object, java.lang.String)
- */
- @Override
- public void onClick(final Object element, final String onClickEventKind) {
- this.editingContextAdapter.performModelChange(() -> {
- String expression = this.description.getOnClickExpression();
-
- Map<String, Object> variables = new HashMap<String, Object>();
- variables.putAll(this.variableManager.getVariables());
- variables.put(EEFExpressionUtils.EEFList.SELECTION, element);
- variables.put(EEFExpressionUtils.EEFList.ON_CLICK_EVENT_KIND, onClickEventKind);
-
- EvalFactory.of(this.interpreter, variables).call(expression);
- });
- }
-
- /**
- * {@inheritDoc}
- *
* @see org.eclipse.eef.core.api.controllers.AbstractEEFWidgetController#getDescription()
*/
@Override
@@ -147,4 +128,14 @@ public class EEFListController extends AbstractEEFWidgetController implements IE
EvalFactory.of(this.interpreter, variables).logIfBlank(eAttribute).call(expression);
});
}
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.eef.core.api.controllers.AbstractEEFOnClickController#getOnClickExpression()
+ */
+ @Override
+ protected String getOnClickExpression() {
+ return this.description.getOnClickExpression();
+ }
}
diff --git a/plugins/org.eclipse.eef.ext.widgets.reference/model/eef-ext-widgets-reference.ecore b/plugins/org.eclipse.eef.ext.widgets.reference/model/eef-ext-widgets-reference.ecore
index caf44fd9f..c020f6a01 100644
--- a/plugins/org.eclipse.eef.ext.widgets.reference/model/eef-ext-widgets-reference.ecore
+++ b/plugins/org.eclipse.eef.ext.widgets.reference/model/eef-ext-widgets-reference.ecore
@@ -18,6 +18,7 @@
<details key="documentation" value="The EObject to use to evaluate the value of the reference"/>
</eAnnotations>
</eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="onClickExpression" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="style" eType="#//EEFExtReferenceWidgetStyle"
containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
diff --git a/plugins/org.eclipse.eef.ext.widgets.reference/src-gen/org/eclipse/eef/ext/widgets/reference/eefextwidgetsreference/EEFExtReferenceConditionalStyle.java b/plugins/org.eclipse.eef.ext.widgets.reference/src-gen/org/eclipse/eef/ext/widgets/reference/eefextwidgetsreference/EEFExtReferenceConditionalStyle.java
index 456f0d9ff..19c303069 100644
--- a/plugins/org.eclipse.eef.ext.widgets.reference/src-gen/org/eclipse/eef/ext/widgets/reference/eefextwidgetsreference/EEFExtReferenceConditionalStyle.java
+++ b/plugins/org.eclipse.eef.ext.widgets.reference/src-gen/org/eclipse/eef/ext/widgets/reference/eefextwidgetsreference/EEFExtReferenceConditionalStyle.java
@@ -18,11 +18,11 @@ import org.eclipse.eef.EEFConditionalStyle;
*
* <p>
* The following features are supported:
+ * </p>
* <ul>
- * <li>{@link org.eclipse.eef.ext.widgets.reference.eefextwidgetsreference.EEFExtReferenceConditionalStyle#getStyle <em>
- * Style</em>}</li>
+ * <li>{@link org.eclipse.eef.ext.widgets.reference.eefextwidgetsreference.EEFExtReferenceConditionalStyle#getStyle
+ * <em>Style</em>}</li>
* </ul>
- * </p>
*
* @see org.eclipse.eef.ext.widgets.reference.eefextwidgetsreference.EefExtWidgetsReferencePackage#getEEFExtReferenceConditionalStyle()
* @model
@@ -42,8 +42,8 @@ public interface EEFExtReferenceConditionalStyle extends EEFConditionalStyle {
EEFExtReferenceWidgetStyle getStyle();
/**
- * Sets the value of the '
- * {@link org.eclipse.eef.ext.widgets.reference.eefextwidgetsreference.EEFExtReferenceConditionalStyle#getStyle
+ * Sets the value of the
+ * '{@link org.eclipse.eef.ext.widgets.reference.eefextwidgetsreference.EEFExtReferenceConditionalStyle#getStyle
* <em>Style</em>}' containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @param value
diff --git a/plugins/org.eclipse.eef.ext.widgets.reference/src-gen/org/eclipse/eef/ext/widgets/reference/eefextwidgetsreference/EEFExtReferenceDescription.java b/plugins/org.eclipse.eef.ext.widgets.reference/src-gen/org/eclipse/eef/ext/widgets/reference/eefextwidgetsreference/EEFExtReferenceDescription.java
index 07301071f..fc7611484 100644
--- a/plugins/org.eclipse.eef.ext.widgets.reference/src-gen/org/eclipse/eef/ext/widgets/reference/eefextwidgetsreference/EEFExtReferenceDescription.java
+++ b/plugins/org.eclipse.eef.ext.widgets.reference/src-gen/org/eclipse/eef/ext/widgets/reference/eefextwidgetsreference/EEFExtReferenceDescription.java
@@ -19,20 +19,19 @@ import org.eclipse.emf.common.util.EList;
*
* <p>
* The following features are supported:
+ * </p>
* <ul>
- * <li>
- * {@link org.eclipse.eef.ext.widgets.reference.eefextwidgetsreference.EEFExtReferenceDescription#getReferenceNameExpression
+ * <li>{@link org.eclipse.eef.ext.widgets.reference.eefextwidgetsreference.EEFExtReferenceDescription#getReferenceNameExpression
* <em>Reference Name Expression</em>}</li>
- * <li>
- * {@link org.eclipse.eef.ext.widgets.reference.eefextwidgetsreference.EEFExtReferenceDescription#getReferenceOwnerExpression
+ * <li>{@link org.eclipse.eef.ext.widgets.reference.eefextwidgetsreference.EEFExtReferenceDescription#getReferenceOwnerExpression
* <em>Reference Owner Expression</em>}</li>
- * <li>{@link org.eclipse.eef.ext.widgets.reference.eefextwidgetsreference.EEFExtReferenceDescription#getStyle <em>Style
- * </em>}</li>
- * <li>
- * {@link org.eclipse.eef.ext.widgets.reference.eefextwidgetsreference.EEFExtReferenceDescription#getConditionalStyles
+ * <li>{@link org.eclipse.eef.ext.widgets.reference.eefextwidgetsreference.EEFExtReferenceDescription#getOnClickExpression
+ * <em>On Click Expression</em>}</li>
+ * <li>{@link org.eclipse.eef.ext.widgets.reference.eefextwidgetsreference.EEFExtReferenceDescription#getStyle
+ * <em>Style</em>}</li>
+ * <li>{@link org.eclipse.eef.ext.widgets.reference.eefextwidgetsreference.EEFExtReferenceDescription#getConditionalStyles
* <em>Conditional Styles</em>}</li>
* </ul>
- * </p>
*
* @see org.eclipse.eef.ext.widgets.reference.eefextwidgetsreference.EefExtWidgetsReferencePackage#getEEFExtReferenceDescription()
* @model
@@ -52,8 +51,8 @@ public interface EEFExtReferenceDescription extends EEFWidgetDescription {
String getReferenceNameExpression();
/**
- * Sets the value of the '
- * {@link org.eclipse.eef.ext.widgets.reference.eefextwidgetsreference.EEFExtReferenceDescription#getReferenceNameExpression
+ * Sets the value of the
+ * '{@link org.eclipse.eef.ext.widgets.reference.eefextwidgetsreference.EEFExtReferenceDescription#getReferenceNameExpression
* <em>Reference Name Expression</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @param value
@@ -77,8 +76,8 @@ public interface EEFExtReferenceDescription extends EEFWidgetDescription {
String getReferenceOwnerExpression();
/**
- * Sets the value of the '
- * {@link org.eclipse.eef.ext.widgets.reference.eefextwidgetsreference.EEFExtReferenceDescription#getReferenceOwnerExpression
+ * Sets the value of the
+ * '{@link org.eclipse.eef.ext.widgets.reference.eefextwidgetsreference.EEFExtReferenceDescription#getReferenceOwnerExpression
* <em>Reference Owner Expression</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @param value
@@ -89,6 +88,34 @@ public interface EEFExtReferenceDescription extends EEFWidgetDescription {
void setReferenceOwnerExpression(String value);
/**
+ * Returns the value of the '<em><b>On Click Expression</b></em>' attribute. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>On Click Expression</em>' attribute isn't clear, there really should be more of a
+ * description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>On Click Expression</em>' attribute.
+ * @see #setOnClickExpression(String)
+ * @see org.eclipse.eef.ext.widgets.reference.eefextwidgetsreference.EefExtWidgetsReferencePackage#getEEFExtReferenceDescription_OnClickExpression()
+ * @model
+ * @generated
+ */
+ String getOnClickExpression();
+
+ /**
+ * Sets the value of the
+ * '{@link org.eclipse.eef.ext.widgets.reference.eefextwidgetsreference.EEFExtReferenceDescription#getOnClickExpression
+ * <em>On Click Expression</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>On Click Expression</em>' attribute.
+ * @see #getOnClickExpression()
+ * @generated
+ */
+ void setOnClickExpression(String value);
+
+ /**
* Returns the value of the '<em><b>Style</b></em>' containment reference. <!-- begin-user-doc --> <!-- end-user-doc
* --> <!-- begin-model-doc --> The style of the reference widget <!-- end-model-doc -->
*
@@ -101,8 +128,8 @@ public interface EEFExtReferenceDescription extends EEFWidgetDescription {
EEFExtReferenceWidgetStyle getStyle();
/**
- * Sets the value of the '
- * {@link org.eclipse.eef.ext.widgets.reference.eefextwidgetsreference.EEFExtReferenceDescription#getStyle
+ * Sets the value of the
+ * '{@link org.eclipse.eef.ext.widgets.reference.eefextwidgetsreference.EEFExtReferenceDescription#getStyle
* <em>Style</em>}' containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @param value
diff --git a/plugins/org.eclipse.eef.ext.widgets.reference/src-gen/org/eclipse/eef/ext/widgets/reference/eefextwidgetsreference/EefExtWidgetsReferencePackage.java b/plugins/org.eclipse.eef.ext.widgets.reference/src-gen/org/eclipse/eef/ext/widgets/reference/eefextwidgetsreference/EefExtWidgetsReferencePackage.java
index 62ace07f1..3d8b9d98e 100644
--- a/plugins/org.eclipse.eef.ext.widgets.reference/src-gen/org/eclipse/eef/ext/widgets/reference/eefextwidgetsreference/EefExtWidgetsReferencePackage.java
+++ b/plugins/org.eclipse.eef.ext.widgets.reference/src-gen/org/eclipse/eef/ext/widgets/reference/eefextwidgetsreference/EefExtWidgetsReferencePackage.java
@@ -59,9 +59,9 @@ public interface EefExtWidgetsReferencePackage extends EPackage {
.init();
/**
- * The meta object id for the '
- * {@link org.eclipse.eef.ext.widgets.reference.eefextwidgetsreference.impl.EEFExtReferenceDescriptionImpl
- * <em>EEF Ext Reference Description</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ * The meta object id for the
+ * '{@link org.eclipse.eef.ext.widgets.reference.eefextwidgetsreference.impl.EEFExtReferenceDescriptionImpl <em>EEF
+ * Ext Reference Description</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @see org.eclipse.eef.ext.widgets.reference.eefextwidgetsreference.impl.EEFExtReferenceDescriptionImpl
* @see org.eclipse.eef.ext.widgets.reference.eefextwidgetsreference.impl.EefExtWidgetsReferencePackageImpl#getEEFExtReferenceDescription()
@@ -131,13 +131,22 @@ public interface EefExtWidgetsReferencePackage extends EPackage {
int EEF_EXT_REFERENCE_DESCRIPTION__REFERENCE_OWNER_EXPRESSION = EefPackage.EEF_WIDGET_DESCRIPTION_FEATURE_COUNT + 1;
/**
+ * The feature id for the '<em><b>On Click Expression</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EEF_EXT_REFERENCE_DESCRIPTION__ON_CLICK_EXPRESSION = EefPackage.EEF_WIDGET_DESCRIPTION_FEATURE_COUNT + 2;
+
+ /**
* The feature id for the '<em><b>Style</b></em>' containment reference. <!-- begin-user-doc --> <!-- end-user-doc
* -->
*
* @generated
* @ordered
*/
- int EEF_EXT_REFERENCE_DESCRIPTION__STYLE = EefPackage.EEF_WIDGET_DESCRIPTION_FEATURE_COUNT + 2;
+ int EEF_EXT_REFERENCE_DESCRIPTION__STYLE = EefPackage.EEF_WIDGET_DESCRIPTION_FEATURE_COUNT + 3;
/**
* The feature id for the '<em><b>Conditional Styles</b></em>' containment reference list. <!-- begin-user-doc -->
@@ -146,7 +155,7 @@ public interface EefExtWidgetsReferencePackage extends EPackage {
* @generated
* @ordered
*/
- int EEF_EXT_REFERENCE_DESCRIPTION__CONDITIONAL_STYLES = EefPackage.EEF_WIDGET_DESCRIPTION_FEATURE_COUNT + 3;
+ int EEF_EXT_REFERENCE_DESCRIPTION__CONDITIONAL_STYLES = EefPackage.EEF_WIDGET_DESCRIPTION_FEATURE_COUNT + 4;
/**
* The number of structural features of the '<em>EEF Ext Reference Description</em>' class. <!-- begin-user-doc -->
@@ -155,12 +164,12 @@ public interface EefExtWidgetsReferencePackage extends EPackage {
* @generated
* @ordered
*/
- int EEF_EXT_REFERENCE_DESCRIPTION_FEATURE_COUNT = EefPackage.EEF_WIDGET_DESCRIPTION_FEATURE_COUNT + 4;
+ int EEF_EXT_REFERENCE_DESCRIPTION_FEATURE_COUNT = EefPackage.EEF_WIDGET_DESCRIPTION_FEATURE_COUNT + 5;
/**
- * The meta object id for the '
- * {@link org.eclipse.eef.ext.widgets.reference.eefextwidgetsreference.impl.EEFExtReferenceWidgetStyleImpl
- * <em>EEF Ext Reference Widget Style</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ * The meta object id for the
+ * '{@link org.eclipse.eef.ext.widgets.reference.eefextwidgetsreference.impl.EEFExtReferenceWidgetStyleImpl <em>EEF
+ * Ext Reference Widget Style</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @see org.eclipse.eef.ext.widgets.reference.eefextwidgetsreference.impl.EEFExtReferenceWidgetStyleImpl
* @see org.eclipse.eef.ext.widgets.reference.eefextwidgetsreference.impl.EefExtWidgetsReferencePackageImpl#getEEFExtReferenceWidgetStyle()
@@ -223,8 +232,8 @@ public interface EefExtWidgetsReferencePackage extends EPackage {
int EEF_EXT_REFERENCE_WIDGET_STYLE_FEATURE_COUNT = EefPackage.EEF_WIDGET_STYLE_FEATURE_COUNT + 0;
/**
- * The meta object id for the '
- * {@link org.eclipse.eef.ext.widgets.reference.eefextwidgetsreference.impl.EEFExtReferenceConditionalStyleImpl
+ * The meta object id for the
+ * '{@link org.eclipse.eef.ext.widgets.reference.eefextwidgetsreference.impl.EEFExtReferenceConditionalStyleImpl
* <em>EEF Ext Reference Conditional Style</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @see org.eclipse.eef.ext.widgets.reference.eefextwidgetsreference.impl.EEFExtReferenceConditionalStyleImpl
@@ -261,9 +270,9 @@ public interface EefExtWidgetsReferencePackage extends EPackage {
int EEF_EXT_REFERENCE_CONDITIONAL_STYLE_FEATURE_COUNT = EefPackage.EEF_CONDITIONAL_STYLE_FEATURE_COUNT + 1;
/**
- * Returns the meta object for class '
- * {@link org.eclipse.eef.ext.widgets.reference.eefextwidgetsreference.EEFExtReferenceDescription
- * <em>EEF Ext Reference Description</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ * Returns the meta object for class
+ * '{@link org.eclipse.eef.ext.widgets.reference.eefextwidgetsreference.EEFExtReferenceDescription <em>EEF Ext
+ * Reference Description</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @return the meta object for class '<em>EEF Ext Reference Description</em>'.
* @see org.eclipse.eef.ext.widgets.reference.eefextwidgetsreference.EEFExtReferenceDescription
@@ -272,8 +281,8 @@ public interface EefExtWidgetsReferencePackage extends EPackage {
EClass getEEFExtReferenceDescription();
/**
- * Returns the meta object for the attribute '
- * {@link org.eclipse.eef.ext.widgets.reference.eefextwidgetsreference.EEFExtReferenceDescription#getReferenceNameExpression
+ * Returns the meta object for the attribute
+ * '{@link org.eclipse.eef.ext.widgets.reference.eefextwidgetsreference.EEFExtReferenceDescription#getReferenceNameExpression
* <em>Reference Name Expression</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @return the meta object for the attribute '<em>Reference Name Expression</em>'.
@@ -284,8 +293,8 @@ public interface EefExtWidgetsReferencePackage extends EPackage {
EAttribute getEEFExtReferenceDescription_ReferenceNameExpression();
/**
- * Returns the meta object for the attribute '
- * {@link org.eclipse.eef.ext.widgets.reference.eefextwidgetsreference.EEFExtReferenceDescription#getReferenceOwnerExpression
+ * Returns the meta object for the attribute
+ * '{@link org.eclipse.eef.ext.widgets.reference.eefextwidgetsreference.EEFExtReferenceDescription#getReferenceOwnerExpression
* <em>Reference Owner Expression</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @return the meta object for the attribute '<em>Reference Owner Expression</em>'.
@@ -296,8 +305,20 @@ public interface EefExtWidgetsReferencePackage extends EPackage {
EAttribute getEEFExtReferenceDescription_ReferenceOwnerExpression();
/**
- * Returns the meta object for the containment reference '
- * {@link org.eclipse.eef.ext.widgets.reference.eefextwidgetsreference.EEFExtReferenceDescription#getStyle
+ * Returns the meta object for the attribute
+ * '{@link org.eclipse.eef.ext.widgets.reference.eefextwidgetsreference.EEFExtReferenceDescription#getOnClickExpression
+ * <em>On Click Expression</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>On Click Expression</em>'.
+ * @see org.eclipse.eef.ext.widgets.reference.eefextwidgetsreference.EEFExtReferenceDescription#getOnClickExpression()
+ * @see #getEEFExtReferenceDescription()
+ * @generated
+ */
+ EAttribute getEEFExtReferenceDescription_OnClickExpression();
+
+ /**
+ * Returns the meta object for the containment reference
+ * '{@link org.eclipse.eef.ext.widgets.reference.eefextwidgetsreference.EEFExtReferenceDescription#getStyle
* <em>Style</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @return the meta object for the containment reference '<em>Style</em>'.
@@ -308,8 +329,8 @@ public interface EefExtWidgetsReferencePackage extends EPackage {
EReference getEEFExtReferenceDescription_Style();
/**
- * Returns the meta object for the containment reference list '
- * {@link org.eclipse.eef.ext.widgets.reference.eefextwidgetsreference.EEFExtReferenceDescription#getConditionalStyles
+ * Returns the meta object for the containment reference list
+ * '{@link org.eclipse.eef.ext.widgets.reference.eefextwidgetsreference.EEFExtReferenceDescription#getConditionalStyles
* <em>Conditional Styles</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @return the meta object for the containment reference list '<em>Conditional Styles</em>'.
@@ -320,9 +341,9 @@ public interface EefExtWidgetsReferencePackage extends EPackage {
EReference getEEFExtReferenceDescription_ConditionalStyles();
/**
- * Returns the meta object for class '
- * {@link org.eclipse.eef.ext.widgets.reference.eefextwidgetsreference.EEFExtReferenceWidgetStyle
- * <em>EEF Ext Reference Widget Style</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ * Returns the meta object for class
+ * '{@link org.eclipse.eef.ext.widgets.reference.eefextwidgetsreference.EEFExtReferenceWidgetStyle <em>EEF Ext
+ * Reference Widget Style</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @return the meta object for class '<em>EEF Ext Reference Widget Style</em>'.
* @see org.eclipse.eef.ext.widgets.reference.eefextwidgetsreference.EEFExtReferenceWidgetStyle
@@ -331,9 +352,9 @@ public interface EefExtWidgetsReferencePackage extends EPackage {
EClass getEEFExtReferenceWidgetStyle();
/**
- * Returns the meta object for class '
- * {@link org.eclipse.eef.ext.widgets.reference.eefextwidgetsreference.EEFExtReferenceConditionalStyle
- * <em>EEF Ext Reference Conditional Style</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ * Returns the meta object for class
+ * '{@link org.eclipse.eef.ext.widgets.reference.eefextwidgetsreference.EEFExtReferenceConditionalStyle <em>EEF Ext
+ * Reference Conditional Style</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @return the meta object for class '<em>EEF Ext Reference Conditional Style</em>'.
* @see org.eclipse.eef.ext.widgets.reference.eefextwidgetsreference.EEFExtReferenceConditionalStyle
@@ -342,8 +363,8 @@ public interface EefExtWidgetsReferencePackage extends EPackage {
EClass getEEFExtReferenceConditionalStyle();
/**
- * Returns the meta object for the containment reference '
- * {@link org.eclipse.eef.ext.widgets.reference.eefextwidgetsreference.EEFExtReferenceConditionalStyle#getStyle
+ * Returns the meta object for the containment reference
+ * '{@link org.eclipse.eef.ext.widgets.reference.eefextwidgetsreference.EEFExtReferenceConditionalStyle#getStyle
* <em>Style</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @return the meta object for the containment reference '<em>Style</em>'.
@@ -375,8 +396,8 @@ public interface EefExtWidgetsReferencePackage extends EPackage {
*/
interface Literals {
/**
- * The meta object literal for the '
- * {@link org.eclipse.eef.ext.widgets.reference.eefextwidgetsreference.impl.EEFExtReferenceDescriptionImpl
+ * The meta object literal for the
+ * '{@link org.eclipse.eef.ext.widgets.reference.eefextwidgetsreference.impl.EEFExtReferenceDescriptionImpl
* <em>EEF Ext Reference Description</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @see org.eclipse.eef.ext.widgets.reference.eefextwidgetsreference.impl.EEFExtReferenceDescriptionImpl
@@ -404,6 +425,15 @@ public interface EefExtWidgetsReferencePackage extends EPackage {
.getEEFExtReferenceDescription_ReferenceOwnerExpression();
/**
+ * The meta object literal for the '<em><b>On Click Expression</b></em>' attribute feature. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute EEF_EXT_REFERENCE_DESCRIPTION__ON_CLICK_EXPRESSION = EefExtWidgetsReferencePackage.eINSTANCE
+ .getEEFExtReferenceDescription_OnClickExpression();
+
+ /**
* The meta object literal for the '<em><b>Style</b></em>' containment reference feature. <!-- begin-user-doc
* --> <!-- end-user-doc -->
*
@@ -421,8 +451,8 @@ public interface EefExtWidgetsReferencePackage extends EPackage {
.getEEFExtReferenceDescription_ConditionalStyles();
/**
- * The meta object literal for the '
- * {@link org.eclipse.eef.ext.widgets.reference.eefextwidgetsreference.impl.EEFExtReferenceWidgetStyleImpl
+ * The meta object literal for the
+ * '{@link org.eclipse.eef.ext.widgets.reference.eefextwidgetsreference.impl.EEFExtReferenceWidgetStyleImpl
* <em>EEF Ext Reference Widget Style</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @see org.eclipse.eef.ext.widgets.reference.eefextwidgetsreference.impl.EEFExtReferenceWidgetStyleImpl
@@ -432,8 +462,8 @@ public interface EefExtWidgetsReferencePackage extends EPackage {
EClass EEF_EXT_REFERENCE_WIDGET_STYLE = EefExtWidgetsReferencePackage.eINSTANCE.getEEFExtReferenceWidgetStyle();
/**
- * The meta object literal for the '
- * {@link org.eclipse.eef.ext.widgets.reference.eefextwidgetsreference.impl.EEFExtReferenceConditionalStyleImpl
+ * The meta object literal for the
+ * '{@link org.eclipse.eef.ext.widgets.reference.eefextwidgetsreference.impl.EEFExtReferenceConditionalStyleImpl
* <em>EEF Ext Reference Conditional Style</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @see org.eclipse.eef.ext.widgets.reference.eefextwidgetsreference.impl.EEFExtReferenceConditionalStyleImpl
diff --git a/plugins/org.eclipse.eef.ext.widgets.reference/src-gen/org/eclipse/eef/ext/widgets/reference/eefextwidgetsreference/impl/EEFExtReferenceConditionalStyleImpl.java b/plugins/org.eclipse.eef.ext.widgets.reference/src-gen/org/eclipse/eef/ext/widgets/reference/eefextwidgetsreference/impl/EEFExtReferenceConditionalStyleImpl.java
index 615454da8..5ed9419f5 100644
--- a/plugins/org.eclipse.eef.ext.widgets.reference/src-gen/org/eclipse/eef/ext/widgets/reference/eefextwidgetsreference/impl/EEFExtReferenceConditionalStyleImpl.java
+++ b/plugins/org.eclipse.eef.ext.widgets.reference/src-gen/org/eclipse/eef/ext/widgets/reference/eefextwidgetsreference/impl/EEFExtReferenceConditionalStyleImpl.java
@@ -23,12 +23,11 @@ import org.eclipse.emf.ecore.impl.ENotificationImpl;
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
+ * </p>
* <ul>
- * <li>
- * {@link org.eclipse.eef.ext.widgets.reference.eefextwidgetsreference.impl.EEFExtReferenceConditionalStyleImpl#getStyle
+ * <li>{@link org.eclipse.eef.ext.widgets.reference.eefextwidgetsreference.impl.EEFExtReferenceConditionalStyleImpl#getStyle
* <em>Style</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
@@ -74,11 +73,13 @@ public class EEFExtReferenceConditionalStyleImpl extends EEFConditionalStyleImpl
style = (EEFExtReferenceWidgetStyle) eResolveProxy(oldStyle);
if (style != oldStyle) {
InternalEObject newStyle = (InternalEObject) style;
- NotificationChain msgs = oldStyle.eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE
- - EefExtWidgetsReferencePackage.EEF_EXT_REFERENCE_CONDITIONAL_STYLE__STYLE, null, null);
+ NotificationChain msgs = oldStyle.eInverseRemove(this,
+ InternalEObject.EOPPOSITE_FEATURE_BASE - EefExtWidgetsReferencePackage.EEF_EXT_REFERENCE_CONDITIONAL_STYLE__STYLE, null,
+ null);
if (newStyle.eInternalContainer() == null) {
- msgs = newStyle.eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE
- - EefExtWidgetsReferencePackage.EEF_EXT_REFERENCE_CONDITIONAL_STYLE__STYLE, null, msgs);
+ msgs = newStyle.eInverseAdd(this,
+ InternalEObject.EOPPOSITE_FEATURE_BASE - EefExtWidgetsReferencePackage.EEF_EXT_REFERENCE_CONDITIONAL_STYLE__STYLE, null,
+ msgs);
}
if (msgs != null) {
msgs.dispatch();
@@ -131,12 +132,14 @@ public class EEFExtReferenceConditionalStyleImpl extends EEFConditionalStyleImpl
if (newStyle != style) {
NotificationChain msgs = null;
if (style != null) {
- msgs = ((InternalEObject) style).eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE
- - EefExtWidgetsReferencePackage.EEF_EXT_REFERENCE_CONDITIONAL_STYLE__STYLE, null, msgs);
+ msgs = ((InternalEObject) style).eInverseRemove(this,
+ InternalEObject.EOPPOSITE_FEATURE_BASE - EefExtWidgetsReferencePackage.EEF_EXT_REFERENCE_CONDITIONAL_STYLE__STYLE, null,
+ msgs);
}
if (newStyle != null) {
- msgs = ((InternalEObject) newStyle).eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE
- - EefExtWidgetsReferencePackage.EEF_EXT_REFERENCE_CONDITIONAL_STYLE__STYLE, null, msgs);
+ msgs = ((InternalEObject) newStyle).eInverseAdd(this,
+ InternalEObject.EOPPOSITE_FEATURE_BASE - EefExtWidgetsReferencePackage.EEF_EXT_REFERENCE_CONDITIONAL_STYLE__STYLE, null,
+ msgs);
}
msgs = basicSetStyle(newStyle, msgs);
if (msgs != null) {
diff --git a/plugins/org.eclipse.eef.ext.widgets.reference/src-gen/org/eclipse/eef/ext/widgets/reference/eefextwidgetsreference/impl/EEFExtReferenceDescriptionImpl.java b/plugins/org.eclipse.eef.ext.widgets.reference/src-gen/org/eclipse/eef/ext/widgets/reference/eefextwidgetsreference/impl/EEFExtReferenceDescriptionImpl.java
index 1ba91617a..a0320d76c 100644
--- a/plugins/org.eclipse.eef.ext.widgets.reference/src-gen/org/eclipse/eef/ext/widgets/reference/eefextwidgetsreference/impl/EEFExtReferenceDescriptionImpl.java
+++ b/plugins/org.eclipse.eef.ext.widgets.reference/src-gen/org/eclipse/eef/ext/widgets/reference/eefextwidgetsreference/impl/EEFExtReferenceDescriptionImpl.java
@@ -29,20 +29,19 @@ import org.eclipse.emf.ecore.util.InternalEList;
* end-user-doc -->
* <p>
* The following features are implemented:
+ * </p>
* <ul>
- * <li>
- * {@link org.eclipse.eef.ext.widgets.reference.eefextwidgetsreference.impl.EEFExtReferenceDescriptionImpl#getReferenceNameExpression
+ * <li>{@link org.eclipse.eef.ext.widgets.reference.eefextwidgetsreference.impl.EEFExtReferenceDescriptionImpl#getReferenceNameExpression
* <em>Reference Name Expression</em>}</li>
- * <li>
- * {@link org.eclipse.eef.ext.widgets.reference.eefextwidgetsreference.impl.EEFExtReferenceDescriptionImpl#getReferenceOwnerExpression
+ * <li>{@link org.eclipse.eef.ext.widgets.reference.eefextwidgetsreference.impl.EEFExtReferenceDescriptionImpl#getReferenceOwnerExpression
* <em>Reference Owner Expression</em>}</li>
+ * <li>{@link org.eclipse.eef.ext.widgets.reference.eefextwidgetsreference.impl.EEFExtReferenceDescriptionImpl#getOnClickExpression
+ * <em>On Click Expression</em>}</li>
* <li>{@link org.eclipse.eef.ext.widgets.reference.eefextwidgetsreference.impl.EEFExtReferenceDescriptionImpl#getStyle
* <em>Style</em>}</li>
- * <li>
- * {@link org.eclipse.eef.ext.widgets.reference.eefextwidgetsreference.impl.EEFExtReferenceDescriptionImpl#getConditionalStyles
+ * <li>{@link org.eclipse.eef.ext.widgets.reference.eefextwidgetsreference.impl.EEFExtReferenceDescriptionImpl#getConditionalStyles
* <em>Conditional Styles</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
@@ -88,6 +87,26 @@ public class EEFExtReferenceDescriptionImpl extends EEFWidgetDescriptionImpl imp
protected String referenceOwnerExpression = EEFExtReferenceDescriptionImpl.REFERENCE_OWNER_EXPRESSION_EDEFAULT;
/**
+ * The default value of the '{@link #getOnClickExpression() <em>On Click Expression</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getOnClickExpression()
+ * @generated
+ * @ordered
+ */
+ protected static final String ON_CLICK_EXPRESSION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getOnClickExpression() <em>On Click Expression</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getOnClickExpression()
+ * @generated
+ * @ordered
+ */
+ protected String onClickExpression = EEFExtReferenceDescriptionImpl.ON_CLICK_EXPRESSION_EDEFAULT;
+
+ /**
* The cached value of the '{@link #getStyle() <em>Style</em>}' containment reference. <!-- begin-user-doc --> <!--
* end-user-doc -->
*
@@ -184,17 +203,42 @@ public class EEFExtReferenceDescriptionImpl extends EEFWidgetDescriptionImpl imp
* @generated
*/
@Override
+ public String getOnClickExpression() {
+ return onClickExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setOnClickExpression(String newOnClickExpression) {
+ String oldOnClickExpression = onClickExpression;
+ onClickExpression = newOnClickExpression;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, EefExtWidgetsReferencePackage.EEF_EXT_REFERENCE_DESCRIPTION__ON_CLICK_EXPRESSION,
+ oldOnClickExpression, onClickExpression));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
public EEFExtReferenceWidgetStyle getStyle() {
if (style != null && style.eIsProxy()) {
InternalEObject oldStyle = (InternalEObject) style;
style = (EEFExtReferenceWidgetStyle) eResolveProxy(oldStyle);
if (style != oldStyle) {
InternalEObject newStyle = (InternalEObject) style;
- NotificationChain msgs = oldStyle.eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE
- - EefExtWidgetsReferencePackage.EEF_EXT_REFERENCE_DESCRIPTION__STYLE, null, null);
+ NotificationChain msgs = oldStyle.eInverseRemove(this,
+ InternalEObject.EOPPOSITE_FEATURE_BASE - EefExtWidgetsReferencePackage.EEF_EXT_REFERENCE_DESCRIPTION__STYLE, null, null);
if (newStyle.eInternalContainer() == null) {
- msgs = newStyle.eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE
- - EefExtWidgetsReferencePackage.EEF_EXT_REFERENCE_DESCRIPTION__STYLE, null, msgs);
+ msgs = newStyle.eInverseAdd(this,
+ InternalEObject.EOPPOSITE_FEATURE_BASE - EefExtWidgetsReferencePackage.EEF_EXT_REFERENCE_DESCRIPTION__STYLE, null, msgs);
}
if (msgs != null) {
msgs.dispatch();
@@ -247,12 +291,12 @@ public class EEFExtReferenceDescriptionImpl extends EEFWidgetDescriptionImpl imp
if (newStyle != style) {
NotificationChain msgs = null;
if (style != null) {
- msgs = ((InternalEObject) style).eInverseRemove(this, InternalEObject.EOPPOSITE_FEATURE_BASE
- - EefExtWidgetsReferencePackage.EEF_EXT_REFERENCE_DESCRIPTION__STYLE, null, msgs);
+ msgs = ((InternalEObject) style).eInverseRemove(this,
+ InternalEObject.EOPPOSITE_FEATURE_BASE - EefExtWidgetsReferencePackage.EEF_EXT_REFERENCE_DESCRIPTION__STYLE, null, msgs);
}
if (newStyle != null) {
- msgs = ((InternalEObject) newStyle).eInverseAdd(this, InternalEObject.EOPPOSITE_FEATURE_BASE
- - EefExtWidgetsReferencePackage.EEF_EXT_REFERENCE_DESCRIPTION__STYLE, null, msgs);
+ msgs = ((InternalEObject) newStyle).eInverseAdd(this,
+ InternalEObject.EOPPOSITE_FEATURE_BASE - EefExtWidgetsReferencePackage.EEF_EXT_REFERENCE_DESCRIPTION__STYLE, null, msgs);
}
msgs = basicSetStyle(newStyle, msgs);
if (msgs != null) {
@@ -272,7 +316,7 @@ public class EEFExtReferenceDescriptionImpl extends EEFWidgetDescriptionImpl imp
@Override
public EList<EEFExtReferenceConditionalStyle> getConditionalStyles() {
if (conditionalStyles == null) {
- conditionalStyles = new EObjectContainmentEList.Resolving<EEFExtReferenceConditionalStyle>(EEFExtReferenceConditionalStyle.class, this,
+ conditionalStyles = new EObjectContainmentEList.Resolving<>(EEFExtReferenceConditionalStyle.class, this,
EefExtWidgetsReferencePackage.EEF_EXT_REFERENCE_DESCRIPTION__CONDITIONAL_STYLES);
}
return conditionalStyles;
@@ -306,6 +350,8 @@ public class EEFExtReferenceDescriptionImpl extends EEFWidgetDescriptionImpl imp
return getReferenceNameExpression();
case EefExtWidgetsReferencePackage.EEF_EXT_REFERENCE_DESCRIPTION__REFERENCE_OWNER_EXPRESSION:
return getReferenceOwnerExpression();
+ case EefExtWidgetsReferencePackage.EEF_EXT_REFERENCE_DESCRIPTION__ON_CLICK_EXPRESSION:
+ return getOnClickExpression();
case EefExtWidgetsReferencePackage.EEF_EXT_REFERENCE_DESCRIPTION__STYLE:
if (resolve) {
return getStyle();
@@ -332,6 +378,9 @@ public class EEFExtReferenceDescriptionImpl extends EEFWidgetDescriptionImpl imp
case EefExtWidgetsReferencePackage.EEF_EXT_REFERENCE_DESCRIPTION__REFERENCE_OWNER_EXPRESSION:
setReferenceOwnerExpression((String) newValue);
return;
+ case EefExtWidgetsReferencePackage.EEF_EXT_REFERENCE_DESCRIPTION__ON_CLICK_EXPRESSION:
+ setOnClickExpression((String) newValue);
+ return;
case EefExtWidgetsReferencePackage.EEF_EXT_REFERENCE_DESCRIPTION__STYLE:
setStyle((EEFExtReferenceWidgetStyle) newValue);
return;
@@ -357,6 +406,9 @@ public class EEFExtReferenceDescriptionImpl extends EEFWidgetDescriptionImpl imp
case EefExtWidgetsReferencePackage.EEF_EXT_REFERENCE_DESCRIPTION__REFERENCE_OWNER_EXPRESSION:
setReferenceOwnerExpression(EEFExtReferenceDescriptionImpl.REFERENCE_OWNER_EXPRESSION_EDEFAULT);
return;
+ case EefExtWidgetsReferencePackage.EEF_EXT_REFERENCE_DESCRIPTION__ON_CLICK_EXPRESSION:
+ setOnClickExpression(EEFExtReferenceDescriptionImpl.ON_CLICK_EXPRESSION_EDEFAULT);
+ return;
case EefExtWidgetsReferencePackage.EEF_EXT_REFERENCE_DESCRIPTION__STYLE:
setStyle((EEFExtReferenceWidgetStyle) null);
return;
@@ -377,10 +429,13 @@ public class EEFExtReferenceDescriptionImpl extends EEFWidgetDescriptionImpl imp
switch (featureID) {
case EefExtWidgetsReferencePackage.EEF_EXT_REFERENCE_DESCRIPTION__REFERENCE_NAME_EXPRESSION:
return EEFExtReferenceDescriptionImpl.REFERENCE_NAME_EXPRESSION_EDEFAULT == null ? referenceNameExpression != null
- : !EEFExtReferenceDescriptionImpl.REFERENCE_NAME_EXPRESSION_EDEFAULT.equals(referenceNameExpression);
+ : !EEFExtReferenceDescriptionImpl.REFERENCE_NAME_EXPRESSION_EDEFAULT.equals(referenceNameExpression);
case EefExtWidgetsReferencePackage.EEF_EXT_REFERENCE_DESCRIPTION__REFERENCE_OWNER_EXPRESSION:
return EEFExtReferenceDescriptionImpl.REFERENCE_OWNER_EXPRESSION_EDEFAULT == null ? referenceOwnerExpression != null
- : !EEFExtReferenceDescriptionImpl.REFERENCE_OWNER_EXPRESSION_EDEFAULT.equals(referenceOwnerExpression);
+ : !EEFExtReferenceDescriptionImpl.REFERENCE_OWNER_EXPRESSION_EDEFAULT.equals(referenceOwnerExpression);
+ case EefExtWidgetsReferencePackage.EEF_EXT_REFERENCE_DESCRIPTION__ON_CLICK_EXPRESSION:
+ return EEFExtReferenceDescriptionImpl.ON_CLICK_EXPRESSION_EDEFAULT == null ? onClickExpression != null
+ : !EEFExtReferenceDescriptionImpl.ON_CLICK_EXPRESSION_EDEFAULT.equals(onClickExpression);
case EefExtWidgetsReferencePackage.EEF_EXT_REFERENCE_DESCRIPTION__STYLE:
return style != null;
case EefExtWidgetsReferencePackage.EEF_EXT_REFERENCE_DESCRIPTION__CONDITIONAL_STYLES:
@@ -405,6 +460,8 @@ public class EEFExtReferenceDescriptionImpl extends EEFWidgetDescriptionImpl imp
result.append(referenceNameExpression);
result.append(", referenceOwnerExpression: "); //$NON-NLS-1$
result.append(referenceOwnerExpression);
+ result.append(", onClickExpression: "); //$NON-NLS-1$
+ result.append(onClickExpression);
result.append(')');
return result.toString();
}
diff --git a/plugins/org.eclipse.eef.ext.widgets.reference/src-gen/org/eclipse/eef/ext/widgets/reference/eefextwidgetsreference/impl/EEFExtReferenceWidgetStyleImpl.java b/plugins/org.eclipse.eef.ext.widgets.reference/src-gen/org/eclipse/eef/ext/widgets/reference/eefextwidgetsreference/impl/EEFExtReferenceWidgetStyleImpl.java
index 2cd177a28..d35ae8c21 100644
--- a/plugins/org.eclipse.eef.ext.widgets.reference/src-gen/org/eclipse/eef/ext/widgets/reference/eefextwidgetsreference/impl/EEFExtReferenceWidgetStyleImpl.java
+++ b/plugins/org.eclipse.eef.ext.widgets.reference/src-gen/org/eclipse/eef/ext/widgets/reference/eefextwidgetsreference/impl/EEFExtReferenceWidgetStyleImpl.java
@@ -16,8 +16,6 @@ import org.eclipse.emf.ecore.EClass;
/**
* <!-- begin-user-doc --> An implementation of the model object '<em><b>EEF Ext Reference Widget Style</b></em>'. <!--
* end-user-doc -->
- * <p>
- * </p>
*
* @generated
*/
diff --git a/plugins/org.eclipse.eef.ext.widgets.reference/src-gen/org/eclipse/eef/ext/widgets/reference/eefextwidgetsreference/impl/EefExtWidgetsReferencePackageImpl.java b/plugins/org.eclipse.eef.ext.widgets.reference/src-gen/org/eclipse/eef/ext/widgets/reference/eefextwidgetsreference/impl/EefExtWidgetsReferencePackageImpl.java
index 8670e2435..403041826 100644
--- a/plugins/org.eclipse.eef.ext.widgets.reference/src-gen/org/eclipse/eef/ext/widgets/reference/eefextwidgetsreference/impl/EefExtWidgetsReferencePackageImpl.java
+++ b/plugins/org.eclipse.eef.ext.widgets.reference/src-gen/org/eclipse/eef/ext/widgets/reference/eefextwidgetsreference/impl/EefExtWidgetsReferencePackageImpl.java
@@ -91,8 +91,8 @@ public class EefExtWidgetsReferencePackageImpl extends EPackageImpl implements E
// Obtain or create and register package
EefExtWidgetsReferencePackageImpl theEefExtWidgetsReferencePackage = (EefExtWidgetsReferencePackageImpl) (EPackage.Registry.INSTANCE
- .get(EefExtWidgetsReferencePackage.eNS_URI) instanceof EefExtWidgetsReferencePackageImpl ? EPackage.Registry.INSTANCE
- .get(EefExtWidgetsReferencePackage.eNS_URI) : new EefExtWidgetsReferencePackageImpl());
+ .get(EefExtWidgetsReferencePackage.eNS_URI) instanceof EefExtWidgetsReferencePackageImpl
+ ? EPackage.Registry.INSTANCE.get(EefExtWidgetsReferencePackage.eNS_URI) : new EefExtWidgetsReferencePackageImpl());
EefExtWidgetsReferencePackageImpl.isInited = true;
@@ -149,8 +149,18 @@ public class EefExtWidgetsReferencePackageImpl extends EPackageImpl implements E
* @generated
*/
@Override
+ public EAttribute getEEFExtReferenceDescription_OnClickExpression() {
+ return (EAttribute) eefExtReferenceDescriptionEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
public EReference getEEFExtReferenceDescription_Style() {
- return (EReference) eefExtReferenceDescriptionEClass.getEStructuralFeatures().get(2);
+ return (EReference) eefExtReferenceDescriptionEClass.getEStructuralFeatures().get(3);
}
/**
@@ -160,7 +170,7 @@ public class EefExtWidgetsReferencePackageImpl extends EPackageImpl implements E
*/
@Override
public EReference getEEFExtReferenceDescription_ConditionalStyles() {
- return (EReference) eefExtReferenceDescriptionEClass.getEStructuralFeatures().get(3);
+ return (EReference) eefExtReferenceDescriptionEClass.getEStructuralFeatures().get(4);
}
/**
@@ -226,6 +236,7 @@ public class EefExtWidgetsReferencePackageImpl extends EPackageImpl implements E
eefExtReferenceDescriptionEClass = createEClass(EefExtWidgetsReferencePackage.EEF_EXT_REFERENCE_DESCRIPTION);
createEAttribute(eefExtReferenceDescriptionEClass, EefExtWidgetsReferencePackage.EEF_EXT_REFERENCE_DESCRIPTION__REFERENCE_NAME_EXPRESSION);
createEAttribute(eefExtReferenceDescriptionEClass, EefExtWidgetsReferencePackage.EEF_EXT_REFERENCE_DESCRIPTION__REFERENCE_OWNER_EXPRESSION);
+ createEAttribute(eefExtReferenceDescriptionEClass, EefExtWidgetsReferencePackage.EEF_EXT_REFERENCE_DESCRIPTION__ON_CLICK_EXPRESSION);
createEReference(eefExtReferenceDescriptionEClass, EefExtWidgetsReferencePackage.EEF_EXT_REFERENCE_DESCRIPTION__STYLE);
createEReference(eefExtReferenceDescriptionEClass, EefExtWidgetsReferencePackage.EEF_EXT_REFERENCE_DESCRIPTION__CONDITIONAL_STYLES);
@@ -273,37 +284,35 @@ public class EefExtWidgetsReferencePackageImpl extends EPackageImpl implements E
eefExtReferenceConditionalStyleEClass.getESuperTypes().add(theEefPackage.getEEFConditionalStyle());
// Initialize classes and features; add operations and parameters
- initEClass(eefExtReferenceDescriptionEClass, EEFExtReferenceDescription.class,
- "EEFExtReferenceDescription", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
- initEAttribute(
- getEEFExtReferenceDescription_ReferenceNameExpression(),
- theEcorePackage.getEString(),
- "referenceNameExpression", null, 1, 1, EEFExtReferenceDescription.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); //$NON-NLS-1$
- initEAttribute(
- getEEFExtReferenceDescription_ReferenceOwnerExpression(),
- theEcorePackage.getEString(),
- "referenceOwnerExpression", null, 0, 1, EEFExtReferenceDescription.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); //$NON-NLS-1$
- initEReference(
- getEEFExtReferenceDescription_Style(),
- this.getEEFExtReferenceWidgetStyle(),
- null,
- "style", null, 0, 1, EEFExtReferenceDescription.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); //$NON-NLS-1$
- initEReference(
- getEEFExtReferenceDescription_ConditionalStyles(),
- this.getEEFExtReferenceConditionalStyle(),
- null,
- "conditionalStyles", null, 0, -1, EEFExtReferenceDescription.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); //$NON-NLS-1$
-
- initEClass(eefExtReferenceWidgetStyleEClass, EEFExtReferenceWidgetStyle.class,
- "EEFExtReferenceWidgetStyle", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-
- initEClass(eefExtReferenceConditionalStyleEClass, EEFExtReferenceConditionalStyle.class,
- "EEFExtReferenceConditionalStyle", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
- initEReference(
- getEEFExtReferenceConditionalStyle_Style(),
- this.getEEFExtReferenceWidgetStyle(),
- null,
- "style", null, 0, 1, EEFExtReferenceConditionalStyle.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); //$NON-NLS-1$
+ initEClass(eefExtReferenceDescriptionEClass, EEFExtReferenceDescription.class, "EEFExtReferenceDescription", !EPackageImpl.IS_ABSTRACT, //$NON-NLS-1$
+ !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getEEFExtReferenceDescription_ReferenceNameExpression(), theEcorePackage.getEString(), "referenceNameExpression", null, 1, 1, //$NON-NLS-1$
+ EEFExtReferenceDescription.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE,
+ !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEAttribute(getEEFExtReferenceDescription_ReferenceOwnerExpression(), theEcorePackage.getEString(), "referenceOwnerExpression", null, 0, 1, //$NON-NLS-1$
+ EEFExtReferenceDescription.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE,
+ !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEAttribute(getEEFExtReferenceDescription_OnClickExpression(), ecorePackage.getEString(), "onClickExpression", null, 0, 1, //$NON-NLS-1$
+ EEFExtReferenceDescription.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE,
+ !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEReference(getEEFExtReferenceDescription_Style(), this.getEEFExtReferenceWidgetStyle(), null, "style", null, 0, 1, //$NON-NLS-1$
+ EEFExtReferenceDescription.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE,
+ EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE,
+ !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+ initEReference(getEEFExtReferenceDescription_ConditionalStyles(), this.getEEFExtReferenceConditionalStyle(), null, "conditionalStyles", null, //$NON-NLS-1$
+ 0, -1, EEFExtReferenceDescription.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE,
+ EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE,
+ !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
+
+ initEClass(eefExtReferenceWidgetStyleEClass, EEFExtReferenceWidgetStyle.class, "EEFExtReferenceWidgetStyle", !EPackageImpl.IS_ABSTRACT, //$NON-NLS-1$
+ !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(eefExtReferenceConditionalStyleEClass, EEFExtReferenceConditionalStyle.class, "EEFExtReferenceConditionalStyle", //$NON-NLS-1$
+ !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getEEFExtReferenceConditionalStyle_Style(), this.getEEFExtReferenceWidgetStyle(), null, "style", null, 0, 1, //$NON-NLS-1$
+ EEFExtReferenceConditionalStyle.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE,
+ EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE,
+ !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED);
// Create resource
createResource(EefExtWidgetsReferencePackage.eNS_URI);
diff --git a/plugins/org.eclipse.eef.ext.widgets.reference/src-gen/org/eclipse/eef/ext/widgets/reference/eefextwidgetsreference/util/EefExtWidgetsReferenceAdapterFactory.java b/plugins/org.eclipse.eef.ext.widgets.reference/src-gen/org/eclipse/eef/ext/widgets/reference/eefextwidgetsreference/util/EefExtWidgetsReferenceAdapterFactory.java
index c1e6c2b40..490678664 100644
--- a/plugins/org.eclipse.eef.ext.widgets.reference/src-gen/org/eclipse/eef/ext/widgets/reference/eefextwidgetsreference/util/EefExtWidgetsReferenceAdapterFactory.java
+++ b/plugins/org.eclipse.eef.ext.widgets.reference/src-gen/org/eclipse/eef/ext/widgets/reference/eefextwidgetsreference/util/EefExtWidgetsReferenceAdapterFactory.java
@@ -127,11 +127,11 @@ public class EefExtWidgetsReferenceAdapterFactory extends AdapterFactoryImpl {
}
/**
- * Creates a new adapter for an object of class '
- * {@link org.eclipse.eef.ext.widgets.reference.eefextwidgetsreference.EEFExtReferenceDescription
- * <em>EEF Ext Reference Description</em>}'. <!-- begin-user-doc --> This default implementation returns null so
- * that we can easily ignore cases; it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
+ * Creates a new adapter for an object of class
+ * '{@link org.eclipse.eef.ext.widgets.reference.eefextwidgetsreference.EEFExtReferenceDescription <em>EEF Ext
+ * Reference Description</em>}'. <!-- begin-user-doc --> This default implementation returns null so that we can
+ * easily ignore cases; it's useful to ignore a case when inheritance will catch all the cases anyway. <!--
+ * end-user-doc -->
*
* @return the new adapter.
* @see org.eclipse.eef.ext.widgets.reference.eefextwidgetsreference.EEFExtReferenceDescription
@@ -142,11 +142,11 @@ public class EefExtWidgetsReferenceAdapterFactory extends AdapterFactoryImpl {
}
/**
- * Creates a new adapter for an object of class '
- * {@link org.eclipse.eef.ext.widgets.reference.eefextwidgetsreference.EEFExtReferenceWidgetStyle
- * <em>EEF Ext Reference Widget Style</em>}'. <!-- begin-user-doc --> This default implementation returns null so
- * that we can easily ignore cases; it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
+ * Creates a new adapter for an object of class
+ * '{@link org.eclipse.eef.ext.widgets.reference.eefextwidgetsreference.EEFExtReferenceWidgetStyle <em>EEF Ext
+ * Reference Widget Style</em>}'. <!-- begin-user-doc --> This default implementation returns null so that we can
+ * easily ignore cases; it's useful to ignore a case when inheritance will catch all the cases anyway. <!--
+ * end-user-doc -->
*
* @return the new adapter.
* @see org.eclipse.eef.ext.widgets.reference.eefextwidgetsreference.EEFExtReferenceWidgetStyle
@@ -157,11 +157,11 @@ public class EefExtWidgetsReferenceAdapterFactory extends AdapterFactoryImpl {
}
/**
- * Creates a new adapter for an object of class '
- * {@link org.eclipse.eef.ext.widgets.reference.eefextwidgetsreference.EEFExtReferenceConditionalStyle
- * <em>EEF Ext Reference Conditional Style</em>}'. <!-- begin-user-doc --> This default implementation returns null
- * so that we can easily ignore cases; it's useful to ignore a case when inheritance will catch all the cases
- * anyway. <!-- end-user-doc -->
+ * Creates a new adapter for an object of class
+ * '{@link org.eclipse.eef.ext.widgets.reference.eefextwidgetsreference.EEFExtReferenceConditionalStyle <em>EEF Ext
+ * Reference Conditional Style</em>}'. <!-- begin-user-doc --> This default implementation returns null so that we
+ * can easily ignore cases; it's useful to ignore a case when inheritance will catch all the cases anyway. <!--
+ * end-user-doc -->
*
* @return the new adapter.
* @see org.eclipse.eef.ext.widgets.reference.eefextwidgetsreference.EEFExtReferenceConditionalStyle
@@ -172,10 +172,9 @@ public class EefExtWidgetsReferenceAdapterFactory extends AdapterFactoryImpl {
}
/**
- * Creates a new adapter for an object of class '{@link org.eclipse.eef.EEFControlDescription
- * <em>EEF Control Description</em>}'. <!-- begin-user-doc --> This default implementation returns null so that we
- * can easily ignore cases; it's useful to ignore a case when inheritance will catch all the cases anyway. <!--
- * end-user-doc -->
+ * Creates a new adapter for an object of class '{@link org.eclipse.eef.EEFControlDescription <em>EEF Control
+ * Description</em>}'. <!-- begin-user-doc --> This default implementation returns null so that we can easily ignore
+ * cases; it's useful to ignore a case when inheritance will catch all the cases anyway. <!-- end-user-doc -->
*
* @return the new adapter.
* @see org.eclipse.eef.EEFControlDescription
@@ -186,10 +185,9 @@ public class EefExtWidgetsReferenceAdapterFactory extends AdapterFactoryImpl {
}
/**
- * Creates a new adapter for an object of class '{@link org.eclipse.eef.EEFWidgetDescription
- * <em>EEF Widget Description</em>}'. <!-- begin-user-doc --> This default implementation returns null so that we
- * can easily ignore cases; it's useful to ignore a case when inheritance will catch all the cases anyway. <!--
- * end-user-doc -->
+ * Creates a new adapter for an object of class '{@link org.eclipse.eef.EEFWidgetDescription <em>EEF Widget
+ * Description</em>}'. <!-- begin-user-doc --> This default implementation returns null so that we can easily ignore
+ * cases; it's useful to ignore a case when inheritance will catch all the cases anyway. <!-- end-user-doc -->
*
* @return the new adapter.
* @see org.eclipse.eef.EEFWidgetDescription
@@ -213,10 +211,9 @@ public class EefExtWidgetsReferenceAdapterFactory extends AdapterFactoryImpl {
}
/**
- * Creates a new adapter for an object of class '{@link org.eclipse.eef.EEFConditionalStyle
- * <em>EEF Conditional Style</em>}'. <!-- begin-user-doc --> This default implementation returns null so that we can
- * easily ignore cases; it's useful to ignore a case when inheritance will catch all the cases anyway. <!--
- * end-user-doc -->
+ * Creates a new adapter for an object of class '{@link org.eclipse.eef.EEFConditionalStyle <em>EEF Conditional
+ * Style</em>}'. <!-- begin-user-doc --> This default implementation returns null so that we can easily ignore
+ * cases; it's useful to ignore a case when inheritance will catch all the cases anyway. <!-- end-user-doc -->
*
* @return the new adapter.
* @see org.eclipse.eef.EEFConditionalStyle
diff --git a/plugins/org.eclipse.eef.ext.widgets.reference/src-gen/org/eclipse/eef/ext/widgets/reference/eefextwidgetsreference/util/EefExtWidgetsReferenceSwitch.java b/plugins/org.eclipse.eef.ext.widgets.reference/src-gen/org/eclipse/eef/ext/widgets/reference/eefextwidgetsreference/util/EefExtWidgetsReferenceSwitch.java
index 9f9e6cb7e..23e3011df 100644
--- a/plugins/org.eclipse.eef.ext.widgets.reference/src-gen/org/eclipse/eef/ext/widgets/reference/eefextwidgetsreference/util/EefExtWidgetsReferenceSwitch.java
+++ b/plugins/org.eclipse.eef.ext.widgets.reference/src-gen/org/eclipse/eef/ext/widgets/reference/eefextwidgetsreference/util/EefExtWidgetsReferenceSwitch.java
@@ -51,7 +51,8 @@ public class EefExtWidgetsReferenceSwitch<T> extends Switch<T> {
/**
* Checks whether this is a switch for the given package. <!-- begin-user-doc --> <!-- end-user-doc -->
*
- * @parameter ePackage the package in question.
+ * @param ePackage
+ * the package in question.
* @return whether this is a switch for the given package.
* @generated
*/
diff --git a/plugins/org.eclipse.eef.ide.ui.ext.widgets.reference/src/org/eclipse/eef/ide/ui/ext/widgets/reference/internal/EEFExtMultipleReferenceLifecycleManager.java b/plugins/org.eclipse.eef.ide.ui.ext.widgets.reference/src/org/eclipse/eef/ide/ui/ext/widgets/reference/internal/EEFExtMultipleReferenceLifecycleManager.java
index 39ea9bff0..8d8da646b 100644
--- a/plugins/org.eclipse.eef.ide.ui.ext.widgets.reference/src/org/eclipse/eef/ide/ui/ext/widgets/reference/internal/EEFExtMultipleReferenceLifecycleManager.java
+++ b/plugins/org.eclipse.eef.ide.ui.ext.widgets.reference/src/org/eclipse/eef/ide/ui/ext/widgets/reference/internal/EEFExtMultipleReferenceLifecycleManager.java
@@ -17,6 +17,7 @@ import org.eclipse.eef.common.ui.api.IEEFFormContainer;
import org.eclipse.eef.core.api.EditingContextAdapter;
import org.eclipse.eef.core.ext.widgets.reference.internal.EEFExtReferenceController;
import org.eclipse.eef.ext.widgets.reference.eefextwidgetsreference.EEFExtReferenceDescription;
+import org.eclipse.eef.ide.ui.api.widgets.EEFTableSelectionListener;
import org.eclipse.emf.common.util.BasicEList;
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EObject;
@@ -40,6 +41,7 @@ import org.eclipse.sirius.common.interpreter.api.IInterpreter;
import org.eclipse.sirius.common.interpreter.api.IVariableManager;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.ScrolledComposite;
+import org.eclipse.swt.events.SelectionListener;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
@@ -86,6 +88,11 @@ public class EEFExtMultipleReferenceLifecycleManager extends AbstractEEFExtRefer
private ButtonSelectionListener downButtonListener;
/**
+ * The listener used to run the onClick expression when the user will click on the table.
+ */
+ private SelectionListener tableSelectionListener;
+
+ /**
* The constructor.
*
* @param description
@@ -208,6 +215,8 @@ public class EEFExtMultipleReferenceLifecycleManager extends AbstractEEFExtRefer
public void aboutToBeShown() {
super.aboutToBeShown();
+ this.tableSelectionListener = new EEFTableSelectionListener(this.controller);
+ this.tableViewer.getTable().addSelectionListener(tableSelectionListener);
this.initializeMoveButton(Direction.UP);
this.initializeMoveButton(Direction.DOWN);
}
@@ -388,6 +397,10 @@ public class EEFExtMultipleReferenceLifecycleManager extends AbstractEEFExtRefer
public void aboutToBeHidden() {
super.aboutToBeHidden();
+ if (this.tableViewer != null && this.tableViewer.getTable() != null && !this.tableViewer.getTable().isDisposed()) {
+ this.tableViewer.getTable().removeSelectionListener(this.tableSelectionListener);
+ }
+
this.removeListener(this.upButton, this.upButtonListener);
this.removeListener(this.downButton, this.downButtonListener);
}
diff --git a/plugins/org.eclipse.eef.ide.ui.ext.widgets.reference/src/org/eclipse/eef/ide/ui/ext/widgets/reference/internal/EEFExtSingleReferenceLifecycleManager.java b/plugins/org.eclipse.eef.ide.ui.ext.widgets.reference/src/org/eclipse/eef/ide/ui/ext/widgets/reference/internal/EEFExtSingleReferenceLifecycleManager.java
index 2f9be36cb..2f6d13fd6 100644
--- a/plugins/org.eclipse.eef.ide.ui.ext.widgets.reference/src/org/eclipse/eef/ide/ui/ext/widgets/reference/internal/EEFExtSingleReferenceLifecycleManager.java
+++ b/plugins/org.eclipse.eef.ide.ui.ext.widgets.reference/src/org/eclipse/eef/ide/ui/ext/widgets/reference/internal/EEFExtSingleReferenceLifecycleManager.java
@@ -10,10 +10,13 @@
*******************************************************************************/
package org.eclipse.eef.ide.ui.ext.widgets.reference.internal;
+import java.util.Optional;
+
import org.eclipse.eef.common.ui.api.IEEFFormContainer;
import org.eclipse.eef.core.api.EditingContextAdapter;
import org.eclipse.eef.core.ext.widgets.reference.internal.EEFExtReferenceController;
import org.eclipse.eef.ext.widgets.reference.eefextwidgetsreference.EEFExtReferenceDescription;
+import org.eclipse.eef.ide.ui.api.widgets.EEFHyperlinkListener;
import org.eclipse.emf.common.notify.Adapter;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EReference;
@@ -26,12 +29,14 @@ import org.eclipse.jface.wizard.WizardDialog;
import org.eclipse.sirius.common.interpreter.api.IInterpreter;
import org.eclipse.sirius.common.interpreter.api.IVariableManager;
import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.MouseListener;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Label;
+import org.eclipse.ui.forms.widgets.Hyperlink;
/**
* This lifecycle manager is used to handle the EEF Extension reference widget for mono-valued EReferences.
@@ -51,6 +56,16 @@ public class EEFExtSingleReferenceLifecycleManager extends AbstractEEFExtReferen
private Label text;
/**
+ * The hyperlink showing the current value.
+ */
+ private Hyperlink hyperlink;
+
+ /**
+ * The listener on the hyperlink.
+ */
+ private MouseListener hyperlinkListener;
+
+ /**
* The constructor.
*
* @param description
@@ -129,13 +144,20 @@ public class EEFExtSingleReferenceLifecycleManager extends AbstractEEFExtReferen
*/
private void createLabel(Composite parent) {
this.image = this.widgetFactory.createLabel(parent, "", SWT.NONE); //$NON-NLS-1$
- this.text = this.widgetFactory.createLabel(parent, "", SWT.NONE); //$NON-NLS-1$
GridData gridData = new GridData();
gridData.grabExcessHorizontalSpace = true;
gridData.horizontalAlignment = SWT.FILL;
- this.text.setLayoutData(gridData);
+ String onClickExpression = Optional.ofNullable(this.description.getOnClickExpression()).orElse(""); //$NON-NLS-1$
+ if (onClickExpression.isEmpty()) {
+ this.text = this.widgetFactory.createLabel(parent, "", SWT.NONE); //$NON-NLS-1$
+ this.text.setLayoutData(gridData);
+ } else {
+ this.hyperlink = this.widgetFactory.createHyperlink(parent, "", SWT.NONE); //$NON-NLS-1$
+ this.hyperlink.setLayoutData(gridData);
+ }
+
}
/**
@@ -156,7 +178,7 @@ public class EEFExtSingleReferenceLifecycleManager extends AbstractEEFExtReferen
@Override
protected void browseButtonCallback() {
IWizard wizard = new EEFExtEObjectSelectionWizard(this.target, this.eReference, this.editingContextAdapter);
- WizardDialog wizardDialog = new WizardDialog(this.text.getShell(), wizard);
+ WizardDialog wizardDialog = new WizardDialog(this.image.getShell(), wizard);
wizardDialog.open();
}
@@ -168,7 +190,7 @@ public class EEFExtSingleReferenceLifecycleManager extends AbstractEEFExtReferen
@Override
protected void addButtonCallback() {
IWizard wizard = new EEFExtEObjectCreationWizard(this.target, this.eReference, this.editingContextAdapter);
- WizardDialog wizardDialog = new WizardDialog(this.text.getShell(), wizard);
+ WizardDialog wizardDialog = new WizardDialog(this.image.getShell(), wizard);
wizardDialog.open();
}
@@ -196,12 +218,24 @@ public class EEFExtSingleReferenceLifecycleManager extends AbstractEEFExtReferen
Adapter adapter = this.composedAdapterFactory.adapt((EObject) value, IItemLabelProvider.class);
if (adapter instanceof IItemLabelProvider) {
IItemLabelProvider labelProvider = (IItemLabelProvider) adapter;
- this.text.setText(labelProvider.getText(value));
this.image.setImage(ExtendedImageRegistry.INSTANCE.getImage(labelProvider.getImage(value)));
+
+ String onClickExpression = Optional.ofNullable(this.description.getOnClickExpression()).orElse(""); //$NON-NLS-1$
+ if (onClickExpression.isEmpty()) {
+ this.text.setText(labelProvider.getText(value));
+ } else {
+ this.hyperlink.setText(labelProvider.getText(value));
+ }
}
} else if (value == null) {
this.image.setImage(null);
- this.text.setText(Messages.SingleReference_noValue);
+
+ String onClickExpression = Optional.ofNullable(this.description.getOnClickExpression()).orElse(""); //$NON-NLS-1$
+ if (onClickExpression.isEmpty()) {
+ this.text.setText(Messages.SingleReference_noValue);
+ } else {
+ this.hyperlink.setText(Messages.SingleReference_noValue);
+ }
}
}
@@ -229,4 +263,33 @@ public class EEFExtSingleReferenceLifecycleManager extends AbstractEEFExtReferen
return this.image;
}
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.eef.ide.ui.ext.widgets.reference.internal.AbstractEEFExtReferenceLifecycleManager#aboutToBeShown()
+ */
+ @Override
+ public void aboutToBeShown() {
+ super.aboutToBeShown();
+
+ String onClickExpression = Optional.ofNullable(this.description.getOnClickExpression()).orElse(""); //$NON-NLS-1$
+ if (!onClickExpression.isEmpty()) {
+ this.hyperlinkListener = new EEFHyperlinkListener(this, this.hyperlink, this.container, this.controller);
+ hyperlink.addMouseListener(hyperlinkListener);
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.eef.ide.ui.ext.widgets.reference.internal.AbstractEEFExtReferenceLifecycleManager#aboutToBeHidden()
+ */
+ @Override
+ public void aboutToBeHidden() {
+ super.aboutToBeHidden();
+
+ if (this.hyperlink != null && !this.hyperlink.isDisposed() && this.hyperlinkListener != null) {
+ this.hyperlink.removeMouseListener(this.hyperlinkListener);
+ }
+ }
}
diff --git a/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/internal/widgets/EEFHyperlinkListener.java b/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/api/widgets/EEFHyperlinkListener.java
index 03fa84b19..215eb7a92 100644
--- a/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/internal/widgets/EEFHyperlinkListener.java
+++ b/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/api/widgets/EEFHyperlinkListener.java
@@ -8,17 +8,17 @@
* Contributors:
* Obeo - initial API and implementation
*******************************************************************************/
-package org.eclipse.eef.ide.ui.internal.widgets;
+package org.eclipse.eef.ide.ui.api.widgets;
-import org.eclipse.core.runtime.IStatus;
import org.eclipse.eef.common.ui.api.IEEFFormContainer;
-import org.eclipse.eef.core.api.controllers.IEEFHyperlinkController;
-import org.eclipse.eef.ide.ui.internal.EEFIdeUiPlugin;
+import org.eclipse.eef.core.api.EEFExpressionUtils;
+import org.eclipse.eef.core.api.controllers.IEEFOnClickController;
import org.eclipse.swt.custom.StyleRange;
import org.eclipse.swt.custom.StyledText;
import org.eclipse.swt.events.MouseEvent;
import org.eclipse.swt.events.MouseListener;
import org.eclipse.swt.graphics.Point;
+import org.eclipse.swt.widgets.Control;
/**
* The listener of the hyperlink widget.
@@ -30,12 +30,12 @@ public class EEFHyperlinkListener implements MouseListener {
/**
* The life cycle manager.
*/
- private EEFHyperlinkLifecycleManager lifecycleManager;
+ private AbstractEEFWidgetLifecycleManager lifecycleManager;
/**
* The hyperlink.
*/
- private StyledText hyperlink;
+ private Control hyperlink;
/**
* The Form container.
@@ -45,7 +45,7 @@ public class EEFHyperlinkListener implements MouseListener {
/**
* The controller.
*/
- private IEEFHyperlinkController controller;
+ private IEEFOnClickController controller;
/**
* The constructor.
@@ -59,8 +59,8 @@ public class EEFHyperlinkListener implements MouseListener {
* @param controller
* The controller
*/
- public EEFHyperlinkListener(EEFHyperlinkLifecycleManager lifecycleManager, StyledText hyperlink, IEEFFormContainer container,
- IEEFHyperlinkController controller) {
+ public EEFHyperlinkListener(AbstractEEFWidgetLifecycleManager lifecycleManager, Control hyperlink, IEEFFormContainer container,
+ IEEFOnClickController controller) {
this.lifecycleManager = lifecycleManager;
this.hyperlink = hyperlink;
this.container = container;
@@ -84,21 +84,24 @@ public class EEFHyperlinkListener implements MouseListener {
*/
@Override
public void mouseDown(MouseEvent e) {
- try {
- int offset = hyperlink.getOffsetAtLocation(new Point(e.x, e.y));
- StyleRange stylerange = hyperlink.getStyleRangeAtOffset(offset);
- if (stylerange != null) {
- if (!container.isRenderingInProgress()) {
- IStatus result = controller.onClick(hyperlink.getData());
- if (result != null && result.getSeverity() == IStatus.ERROR) {
- EEFIdeUiPlugin.INSTANCE.log(result);
- } else {
+
+ if (!container.isRenderingInProgress()) {
+ if (hyperlink instanceof StyledText) {
+ try {
+ int offset = ((StyledText) hyperlink).getOffsetAtLocation(new Point(e.x, e.y));
+ StyleRange stylerange = ((StyledText) hyperlink).getStyleRangeAtOffset(offset);
+ if (stylerange != null) {
+ controller.onClick(hyperlink.getData(), EEFExpressionUtils.EEFList.SINGLE_CLICK);
lifecycleManager.refresh();
+
}
+ } catch (@SuppressWarnings("unused") IllegalArgumentException exception) {
+ // do not log, the user tried to click outside of the hyperlink
}
+ } else {
+ controller.onClick(hyperlink.getData(), EEFExpressionUtils.EEFList.SINGLE_CLICK);
+ lifecycleManager.refresh();
}
- } catch (@SuppressWarnings("unused") IllegalArgumentException exception) {
- // do not log, the user tried to click outside of the hyperlink
}
}
diff --git a/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/internal/widgets/EEFListSelectionListener.java b/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/api/widgets/EEFTableSelectionListener.java
index d72c6e92b..f6b47bdfc 100644
--- a/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/internal/widgets/EEFListSelectionListener.java
+++ b/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/api/widgets/EEFTableSelectionListener.java
@@ -8,13 +8,13 @@
* Contributors:
* Obeo - initial API and implementation
*******************************************************************************/
-package org.eclipse.eef.ide.ui.internal.widgets;
+package org.eclipse.eef.ide.ui.api.widgets;
import java.util.ArrayList;
import java.util.List;
import org.eclipse.eef.core.api.EEFExpressionUtils;
-import org.eclipse.eef.core.api.controllers.IEEFListController;
+import org.eclipse.eef.core.api.controllers.IEEFOnClickController;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.events.SelectionListener;
import org.eclipse.swt.widgets.Table;
@@ -25,12 +25,12 @@ import org.eclipse.swt.widgets.TableItem;
*
* @author sbegaudeau
*/
-public class EEFListSelectionListener implements SelectionListener {
+public class EEFTableSelectionListener implements SelectionListener {
/**
* The controller.
*/
- private IEEFListController controller;
+ private IEEFOnClickController controller;
/**
* The constructor.
@@ -38,7 +38,7 @@ public class EEFListSelectionListener implements SelectionListener {
* @param controller
* The controller
*/
- public EEFListSelectionListener(IEEFListController controller) {
+ public EEFTableSelectionListener(IEEFOnClickController controller) {
this.controller = controller;
}
diff --git a/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/internal/widgets/EEFHyperlinkLifecycleManager.java b/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/internal/widgets/EEFHyperlinkLifecycleManager.java
index 5d80ce133..e7057d55c 100644
--- a/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/internal/widgets/EEFHyperlinkLifecycleManager.java
+++ b/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/internal/widgets/EEFHyperlinkLifecycleManager.java
@@ -28,6 +28,7 @@ import org.eclipse.eef.core.api.controllers.EEFControllersFactory;
import org.eclipse.eef.core.api.controllers.IEEFHyperlinkController;
import org.eclipse.eef.core.api.controllers.IEEFWidgetController;
import org.eclipse.eef.ide.ui.api.widgets.AbstractEEFWidgetLifecycleManager;
+import org.eclipse.eef.ide.ui.api.widgets.EEFHyperlinkListener;
import org.eclipse.eef.ide.ui.api.widgets.EEFStyleHelper;
import org.eclipse.eef.ide.ui.api.widgets.EEFStyleHelper.IEEFTextStyleCallback;
import org.eclipse.eef.ide.ui.internal.EEFIdeUiPlugin;
diff --git a/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/internal/widgets/EEFListLifecycleManager.java b/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/internal/widgets/EEFListLifecycleManager.java
index 7ff81f1f4..e7ae7f877 100644
--- a/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/internal/widgets/EEFListLifecycleManager.java
+++ b/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/internal/widgets/EEFListLifecycleManager.java
@@ -25,6 +25,7 @@ import org.eclipse.eef.core.api.controllers.EEFControllersFactory;
import org.eclipse.eef.core.api.controllers.IEEFListController;
import org.eclipse.eef.core.api.controllers.IEEFWidgetController;
import org.eclipse.eef.ide.ui.api.widgets.AbstractEEFWidgetLifecycleManager;
+import org.eclipse.eef.ide.ui.api.widgets.EEFTableSelectionListener;
import org.eclipse.eef.ide.ui.internal.EEFIdeUiPlugin;
import org.eclipse.jface.viewers.ArrayContentProvider;
import org.eclipse.jface.viewers.ISelection;
@@ -214,7 +215,7 @@ public class EEFListLifecycleManager extends AbstractEEFWidgetLifecycleManager {
public void aboutToBeShown() {
super.aboutToBeShown();
- this.tableSelectionListener = new EEFListSelectionListener(this.controller);
+ this.tableSelectionListener = new EEFTableSelectionListener(this.controller);
this.tableViewer.getTable().addSelectionListener(tableSelectionListener);
this.controller.onNewValue((value) -> {

Back to the top