diff --git a/src/tepe/TEPEComponent.java b/src/tepe/TEPEComponent.java index 07abeab0683f403456fa4cdc254296329ea790a1..d204b174a360269a1200ff0b48d82fe9d7f37884 100644 --- a/src/tepe/TEPEComponent.java +++ b/src/tepe/TEPEComponent.java @@ -200,5 +200,42 @@ public abstract class TEPEComponent { } } + public void addInSignalComponent(TEPEComponent _tepec) { + if (inSignalComponents != null) { + inSignalComponents.add(_tepec); + } + } + + public void addInNegatedSignalComponent(TEPEComponent _tepec) { + if (inNegatedSignalComponents != null) { + inNegatedSignalComponents.add(_tepec); + } + } + + public void addOutSignalComponent(TEPEComponent _tepec) { + if (outSignalComponents != null) { + outSignalComponents.add(_tepec); + } + + } + + public void addInPropertyComponent(TEPEComponent _tepec) { + if (inPropertyComponents != null) { + inPropertyComponents.add(_tepec); + } + } + + public void addInNegatedPropertyComponent(TEPEComponent _tepec) { + if (inNegatedPropertyComponents != null) { + inNegatedPropertyComponents.add(_tepec); + } + } + + public void addOutPropertyComponent(TEPEComponent _tepec) { + if (outPropertyComponents != null) { + outPropertyComponents.add(_tepec); + } + } + } diff --git a/src/ui/AvatarRequirementPanelTranslator.java b/src/ui/AvatarRequirementPanelTranslator.java index 3f57e8a8728518a8c60eac365ef5205a7acb64bc..923441914e8955e704dea7dfff17e22c3499f298 100644 --- a/src/ui/AvatarRequirementPanelTranslator.java +++ b/src/ui/AvatarRequirementPanelTranslator.java @@ -232,6 +232,27 @@ public class AvatarRequirementPanelTranslator { element2.addInAttributeComponent(element1); } } + } else if (tgc instanceof AvatarPDPropertyConnector) { + AvatarPDPropertyConnector apdpco = (AvatarPDPropertyConnector)tgc; + tgc1 = _apdp.getComponentToWhichBelongs(apdpco.getTGConnectingPointP1()); + tgc2 = _apdp.getComponentToWhichBelongs(apdpco.getTGConnectingPointP2()); + if ((tgc1 == null) || (tgc2 == null)) { + TraceManager.addDev("Tgcs null in Avatar translation"); + } else { + element1 = (TEPEComponent)(listE.getObject(tgc1)); + element2 = (TEPEComponent)(listE.getObject(tgc2)); + if ((element1 != null) && (element2 != null)) { + TraceManager.addDev("Adding output / input"); + element1.addOutAttributeComponent(element2); + + // Must know whether it is negated, or not + if (apdpco.isNegated()) { + element2.addInNegatedPropertyComponent(element1); + } else { + element2.addInPropertyComponent(element1); + } + } + } } } } diff --git a/src/ui/avatarpd/AvatarPDPropertyConnector.java b/src/ui/avatarpd/AvatarPDPropertyConnector.java index 4816241056950ce04c5b055400335f49a192f058..8cda1ab843fee2208017fb34e1ab419bca4be372 100644 --- a/src/ui/avatarpd/AvatarPDPropertyConnector.java +++ b/src/ui/avatarpd/AvatarPDPropertyConnector.java @@ -198,6 +198,13 @@ public class AvatarPDPropertyConnector extends TGConnector implements ScalableT oldScaleFactor = scaleFactor; } + public boolean isNegated() { + if (value.compareTo("not") == 0) { + return true; + } + return false; + } + }