From df2199458ba8c3791cc0e9a9dc04a09c6591384a Mon Sep 17 00:00:00 2001 From: Henrik Rentz-Reichert Date: Thu, 12 Apr 2012 10:35:13 +0200 Subject: [core.room, ui.structure] improved message in port dialog info decorators --- .../ui/structure/dialogs/PortPropertyDialog.java | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) (limited to 'plugins/org.eclipse.etrice.ui.structure') 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 295da7f96..086d813f2 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 @@ -198,7 +198,7 @@ public class PortPropertyDialog extends AbstractPropertyDialog { @Override protected void createContent(IManagedForm mform, Composite body, DataBindingContext bindingContext) { - boolean connected = ValidationUtil.isReferencedInModel(port); + Result notReferenced = ValidationUtil.isFreeOfReferences(port); boolean multiplicityAnyAllowed = true; ActorContainerClass parent = (ActorContainerClass) port.eContainer(); if (parent instanceof ActorClass) { @@ -207,7 +207,7 @@ public class PortPropertyDialog extends AbstractPropertyDialog { } NameValidator nv = new NameValidator(); ProtocolValidator pv = new ProtocolValidator(); - MultiplicityValidator mv = new MultiplicityValidator(newPort || !connected, port.getMultiplicity(), multiplicityAnyAllowed); + MultiplicityValidator mv = new MultiplicityValidator(newPort || notReferenced.isOk(), port.getMultiplicity(), multiplicityAnyAllowed); ArrayList protocols = new ArrayList(); Iterator it = scope.getAllElements().iterator(); @@ -222,21 +222,21 @@ public class PortPropertyDialog extends AbstractPropertyDialog { Combo protocol = createComboUsingDesc(body, "&Protocol:", port, ProtocolClass.class, RoomPackage.eINSTANCE.getInterfaceItem_Protocol(), protocols, RoomPackage.eINSTANCE.getRoomClass_Name(), pv); Button conj = createCheck(body, "&Conjugated:", port, RoomPackage.eINSTANCE.getPort_Conjugated()); if (!internal && !refitem && (acc instanceof ActorClass)) - createRelayCheck(body, !connected, mform.getToolkit()); + createRelayCheck(body, notReferenced, mform.getToolkit()); Multiplicity2StringConverter m2s = new Multiplicity2StringConverter(); String2MultiplicityConverter s2m = new String2MultiplicityConverter(); Text multi = createText(body, "&Multiplicity:", port, RoomPackage.eINSTANCE.getPort_Multiplicity(), mv, s2m, m2s, false); if (!newPort) { - if (connected) { + if (!notReferenced.isOk()) { protocol.setEnabled(false); - createInfoDecorator(protocol, "only changeable for unconnected ports"); + createInfoDecorator(protocol, notReferenced.getMsg()); conj.setEnabled(false); - createInfoDecorator(conj, "only changeable for unconnected ports"); + createInfoDecorator(conj, notReferenced.getMsg()); if (port.getMultiplicity()==1) { multi.setEnabled(false); - createInfoDecorator(multi, "only changeable for unconnected ports"); + createInfoDecorator(multi, notReferenced.getMsg()); } } @@ -260,14 +260,17 @@ public class PortPropertyDialog extends AbstractPropertyDialog { name.setFocus(); } - private void createRelayCheck(Composite parent, boolean enabled, FormToolkit toolkit) { + 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(enabled); + relayCheck.setEnabled(notReferenced.isOk()); + + if (!notReferenced.isOk()) + createInfoDecorator(relayCheck, notReferenced.getMsg()); } @Override -- cgit v1.2.3