Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJan Belle2020-08-10 09:24:05 +0000
committerJan Belle2020-08-10 09:24:05 +0000
commit0d97270c977e5784d9066dcf704cdbec07c6ca77 (patch)
tree7857016143350ba77f1be9f6e17783262813eaa8
parent0162be14f31b7828d08fd83fd036f4019266fa12 (diff)
downloadorg.eclipse.etrice-0d97270c977e5784d9066dcf704cdbec07c6ca77.tar.gz
org.eclipse.etrice-0d97270c977e5784d9066dcf704cdbec07c6ca77.tar.xz
org.eclipse.etrice-0d97270c977e5784d9066dcf704cdbec07c6ca77.zip
[ui.structure] Restore the relay check box in the port property dialog
I removed this check box by mistake when I removed compound protocols. Bug 565943 Change-Id: I714ddc819e211fd80166a680582695b2a0be7c86
-rw-r--r--plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/dialogs/PortPropertyDialog.java27
1 files changed, 27 insertions, 0 deletions
diff --git a/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/dialogs/PortPropertyDialog.java b/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/dialogs/PortPropertyDialog.java
index 81bcc3334..530cf4373 100644
--- a/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/dialogs/PortPropertyDialog.java
+++ b/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/dialogs/PortPropertyDialog.java
@@ -18,6 +18,7 @@ import java.util.ArrayList;
import java.util.Iterator;
import org.eclipse.core.databinding.DataBindingContext;
+import org.eclipse.core.databinding.beans.PojoObservables;
import org.eclipse.core.databinding.conversion.Converter;
import org.eclipse.core.databinding.validation.IValidator;
import org.eclipse.core.databinding.validation.ValidationStatus;
@@ -38,17 +39,23 @@ import org.eclipse.etrice.core.room.SubSystemClass;
import org.eclipse.etrice.ui.common.base.dialogs.AbstractPropertyDialog;
import org.eclipse.etrice.ui.structure.Activator;
import org.eclipse.etrice.ui.structure.support.SupportUtil;
+import org.eclipse.jface.databinding.swt.SWTObservables;
+import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.graphics.Point;
+import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Combo;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;
import org.eclipse.ui.forms.IManagedForm;
+import org.eclipse.ui.forms.widgets.FormToolkit;
import org.eclipse.xtext.resource.IEObjectDescription;
import org.eclipse.xtext.scoping.IScope;
+@SuppressWarnings("deprecation")
public class PortPropertyDialog extends AbstractPropertyDialog {
class NameValidator implements IValidator {
@@ -175,6 +182,7 @@ public class PortPropertyDialog extends AbstractPropertyDialog {
private boolean newPort;
private boolean refitem;
private boolean internal;
+ private Button relayCheck = null;
private boolean relay;
private boolean oldRelay;
@@ -240,6 +248,8 @@ public class PortPropertyDialog extends AbstractPropertyDialog {
Text name = createText(body, "&Name:", port, FSMPackage.eINSTANCE.getAbstractInterfaceItem_Name(), nv);
Combo protocol = createComboUsingDesc(body, "&Protocol:", port, ProtocolClass.class, RoomPackage.eINSTANCE.getInterfaceItem_Protocol(), protocols, pv);
Button conj = createCheck(body, "&Conjugated:", port, RoomPackage.eINSTANCE.getPort_Conjugated());
+ if (!internal && !refitem && (acc instanceof ActorClass))
+ createRelayCheck(body, notReferenced, mform.getToolkit());
Multiplicity2StringConverter m2s = new Multiplicity2StringConverter();
String2MultiplicityConverter s2m = new String2MultiplicityConverter();
@@ -277,6 +287,23 @@ public class PortPropertyDialog extends AbstractPropertyDialog {
name.setFocus();
}
+ private void createRelayCheck(Composite parent, Result notReferenced, FormToolkit toolkit) {
+ Label l = toolkit.createLabel(parent, "Is Relay Port:", SWT.NONE);
+ l.setLayoutData(new GridData(SWT.NONE));
+
+ relayCheck = toolkit.createButton(parent, "", SWT.CHECK);
+ relayCheck.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ relayCheck.setSelection(relay);
+ relayCheck.setEnabled(notReferenced.isOk());
+
+ getBindingContext().bindValue(SWTObservables.observeSelection(relayCheck), PojoObservables.observeValue(this, "relay"));
+
+ if (notReferenced.isOk())
+ createDecorator(relayCheck, "");
+ else
+ createInfoDecorator(relayCheck, notReferenced.getMsg());
+ }
+
@Override
protected void okPressed() {
if (relay!=oldRelay) {

Back to the top