Funktion für Unlink für Weichen implementiert, welche die verbundenen ShapeItemIds zurückgibt und eine welche die Ids der Weichen selbst zurück gibt, so dass Sie z.B. gelöscht werden könnten. Versuchsfunktion mit STringbearbeitung in die Gruppenfunktionen dazu

This commit is contained in:
2024-09-20 22:02:15 +02:00
parent 7e191f2308
commit e64feea47a
+324 -7
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<PROCESS Id="RDK:0001" Name="MAIN_SSG" ModernUI="True" Options="(GITSAVEMODE)(NOUPDATEINCLUDEFILES)" Expanded="True">
<PROCESSPROPERTY CrUser="pmarani [ENGMARANI17R]" CrDate="2022-05-05T18:05:31" ModUser="m.stangl [ENTW-NB08]" ModDate="2024-09-10T17:24:34" LanguageVersion="2014.1.3.635" />
<PROCESSPROPERTY CrUser="pmarani [ENGMARANI17R]" CrDate="2022-05-05T18:05:31" ModUser="m.stangl [ENTW-NB08]" ModDate="2024-09-20T21:58:04" LanguageVersion="2014.1.3.690" />
<GROUP Id="RDK:0002" Name="Declarations" SubType="Declarations" Expanded="True">
<GROUP Id="RDK:0003" Name="Types" SubType="TypeSet" IncludeDate="0">
<GROUP Id="RDK:26387" Name="SSG_Group" SubType="TypeSet" IncludeDate="0">
@@ -765,7 +765,7 @@
<FIELD Id="RDK:1516706" Name="Planquadrat" Type="string" DesignTimeNotes="Planquadrat ist die Position des Objekts auf der 2D Ebene. Wurde kein Planquadrat definiert, sollen einfach die X/Y Koordinaten des Objekts ausgegeben werden" />
<FIELD Id="RDK:1516707" Name="Merkmale" Type="string" DesignTimeNotes="Merkmale sind die vom Nutzer angegebenen Merkmale dieses Objeks, Z.B. Abstand der Motor zur Spannstation, Höhe, usw." />
</TYPE>
<TYPE Id="RDK:900066" Name="KreiselMerkmaleType" Expanded="True" SubType="structure" DesignTimeNotes="{ &quot;Abstand (Kreiselachse A - Kreiselachse) in Meter&quot;: &quot;4.5&quot;, &quot;Anzahl der Separatoren&quot;:&quot;2&quot;, &quot;Anzahl der Scanner&quot;:&quot;1&quot;, &quot;Anzahl der Scanner&quot;:&quot;1&quot;, &quot;Anzahl der Weichen&quot;: &quot;4&quot; }">
<TYPE Id="RDK:900066" Name="KreiselMerkmaleType" SubType="structure" DesignTimeNotes="{ &quot;Abstand (Kreiselachse A - Kreiselachse) in Meter&quot;: &quot;4.5&quot;, &quot;Anzahl der Separatoren&quot;:&quot;2&quot;, &quot;Anzahl der Scanner&quot;:&quot;1&quot;, &quot;Anzahl der Scanner&quot;:&quot;1&quot;, &quot;Anzahl der Weichen&quot;: &quot;4&quot; }">
<TYPE_VALUES />
<FIELD Id="RDK:900067" Name="Abstand (Kreiselachse A - Kreiselachse) in Meter" Type="string" />
<FIELD Id="RDK:900069" Name="Anzahl der Separatoren" Type="string" />
@@ -995,7 +995,6 @@
<VAR Id="RDK:1007447" Name="Point2DList" Type="Point2D[]" />
<VAR Id="RDK:1007444" Name="Point2D" Type="Point2D" />
<VAR Id="RDK:1519830" Name="SessionZip" Type="string" />
<VAR Id="RDK:20773256" Name="newItem" Type="string" DesignTimeRemark="Generated by RD" />
</GROUP>
<GROUP Id="RDK:0006" Name="Profiles" SubType="ProfileSet">
<PROFILE Id="RDK:383" Name="ImportBackgroundProfile" TypeName="ImportBackgroundType" />
@@ -9522,8 +9521,118 @@ ShapeTotalLength-SSGConnectionPoint.x_S-(KreiselData.Durchmesser/2)
</IFTHENELSE>
</FOREACHLOOP>
</FUNCTION>
<FUNCTION Id="RDK:20841567" Name="getWeichenConnected" DesignTimeRemark="gib alle Weichen zurück, die an dieses Item angebunden sind/waren. " DesignTimeTip="Suche nach dem gegebenen Item über alle existierenden Weichen" InputTypeName="string" ResultTypeName="string[]">
<GROUP Id="RDK:20841605" Name="Local Variables" SubType="VarSet" IncludeDate="0">
<VAR Id="RDK:20841600" Name="shapeItem" Type="Editor2DShapeType" />
<VAR Id="RDK:20841601" Name="selectedIds" Type="string[]" />
<VAR Id="RDK:20841603" Name="origin" Type="string">
<SET Id="RDK:20841602" VarRef="me">
<EXP><![CDATA[$=$Param.Input]]></EXP>
<PAR Name="AdvancedOptions" />
</SET>
</VAR>
<VAR Id="RDK:20841604" Name="shapeType" Type="string" />
</GROUP>
<FOREACHLOOP Id="RDK:20841587" ItemVarRef="shapeItem">
<PAR Name="ArrayValueExp">
<EXP><![CDATA[$=$ShapeList]]></EXP>
</PAR>
<PAR Name="ExitCondExp">
<EXP><![CDATA[$V$]]></EXP>
</PAR>
<IFTHENELSE Id="RDK:20841580">
<VALUECONDITION Value="true">
<EXP><![CDATA[$=$shapeItem.family = "Weiche"]]></EXP>
</VALUECONDITION>
<VALUECONDITION Value="true" Oper="OR">
<EXP><![CDATA[$=$shapeItem.shapeFromId = origin]]></EXP>
</VALUECONDITION>
<VALUECONDITION Value="true">
<EXP><![CDATA[$=$shapeItem.shapeToId = origin]]></EXP>
</VALUECONDITION>
<GROUP Id="RDK:20841579" SubType="Then">
<LIST_ADD Id="RDK:20841578" ListRef="selectedIds">
<PAR Name="VALUE_TO_ADD">
<EXP><![CDATA[$=$shapeItem.id]]></EXP>
</PAR>
<PAR Name="POS_TO_ADD" />
</LIST_ADD>
</GROUP>
</IFTHENELSE>
</FOREACHLOOP>
<SET Id="RDK:20841690" VarRef="Param.Result">
<EXP><![CDATA[$=$selectedIds
]]></EXP>
<PAR Name="AdvancedOptions" />
</SET>
</FUNCTION>
<FUNCTION Id="RDK:20847299" Name="getItemsConnectedBefore" DesignTimeRemark="Suche über die Weichen die ehemals verbundenen Items" InputTypeName="string" ResultTypeName="string[]">
<GROUP Id="RDK:20847293" Name="Local Variables" SubType="VarSet" IncludeDate="0">
<VAR Id="RDK:20847288" Name="shapeItem" Type="Editor2DShapeType" />
<VAR Id="RDK:20847289" Name="selectedIds" Type="string[]" />
<VAR Id="RDK:20847291" Name="origin" Type="string">
<SET Id="RDK:20847290" VarRef="me">
<EXP><![CDATA[$=$Param.Input]]></EXP>
<PAR Name="AdvancedOptions" />
</SET>
</VAR>
<VAR Id="RDK:20847292" Name="shapeType" Type="string" />
</GROUP>
<FOREACHLOOP Id="RDK:20847297" ItemVarRef="shapeItem">
<PAR Name="ArrayValueExp">
<EXP><![CDATA[$=$ShapeList]]></EXP>
</PAR>
<PAR Name="ExitCondExp">
<EXP><![CDATA[$V$]]></EXP>
</PAR>
<IFTHENELSE Id="RDK:20847296">
<VALUECONDITION Value="true">
<EXP><![CDATA[$=$shapeItem.family = "Weiche"]]></EXP>
</VALUECONDITION>
<VALUECONDITION Value="true" Oper="OR">
<EXP><![CDATA[$=$shapeItem.shapeFromId = origin]]></EXP>
</VALUECONDITION>
<VALUECONDITION Value="true">
<EXP><![CDATA[$=$shapeItem.shapeToId = origin]]></EXP>
</VALUECONDITION>
<GROUP Id="RDK:20847295" SubType="Then">
<IFTHENELSE Id="RDK:20847342">
<VALUECONDITION Value="true">
<EXP><![CDATA[$=$shapeItem.shapeFromId = origin]]></EXP>
</VALUECONDITION>
<GROUP Id="RDK:20847343" SubType="Then">
<LIST_ADD Id="RDK:20847294" ListRef="selectedIds">
<PAR Name="VALUE_TO_ADD">
<EXP><![CDATA[$=$shapeItem.shapeToId]]></EXP>
</PAR>
<PAR Name="POS_TO_ADD" />
</LIST_ADD>
</GROUP>
</IFTHENELSE>
<IFTHENELSE Id="RDK:20847368">
<VALUECONDITION Value="true">
<EXP><![CDATA[$=$shapeItem.shapeToId = origin]]></EXP>
</VALUECONDITION>
<GROUP Id="RDK:20847367" SubType="Then">
<LIST_ADD Id="RDK:20847366" ListRef="selectedIds">
<PAR Name="VALUE_TO_ADD">
<EXP><![CDATA[$=$shapeItem.shapeFromId]]></EXP>
</PAR>
<PAR Name="POS_TO_ADD" />
</LIST_ADD>
</GROUP>
</IFTHENELSE>
</GROUP>
</IFTHENELSE>
</FOREACHLOOP>
<SET Id="RDK:20847298" VarRef="Param.Result">
<EXP><![CDATA[$=$selectedIds
]]></EXP>
<PAR Name="AdvancedOptions" />
</SET>
</FUNCTION>
<GROUP Id="RDK:20817725" Name="StreckeGroupFunctions" SubType="FunctionSet" IncludeDate="0">
<FUNCTION Id="RDK:20817716" Name="CreateGroup" DesignTimeRemark="Erzeugt eine Gruppe aus den gegebenen zwei Ids" InputTypeName="list" ResultTypeName="boolean">
<FUNCTION Id="RDK:20817716" Name="StrTestsForGroupMethods" DesignTimeRemark="enthält die String Funktionen zum Test deren Funktionaliät" InputTypeName="list" ResultTypeName="boolean">
<GROUP Id="RDK:20824312" Name="Local Variables" SubType="VarSet" IncludeDate="0">
<VAR Id="RDK:20824311" Name="id0" Type="string">
<SET Id="RDK:20824328" VarRef="Me">
@@ -9537,9 +9646,114 @@ ShapeTotalLength-SSGConnectionPoint.x_S-(KreiselData.Durchmesser/2)
<PAR Name="AdvancedOptions" />
</SET>
</VAR>
<VAR Id="RDK:20834689" Name="lineStr" Type="string" />
<VAR Id="RDK:20852855" Name="idx" Type="integer" />
<VAR Id="RDK:20852861" Name="elemIdx" Type="integer" />
<VAR Id="RDK:20851482" Name="line" Type="string[]" />
<VAR Id="RDK:20854915" Name="testarr" Type="string[]" />
</GROUP>
<SET Id="RDK:20834693" VarRef="line">
<EXP><![CDATA[$=$NewList(id0, id1)]]></EXP>
<PAR Name="AdvancedOptions" />
</SET>
<IFTHENELSE Id="RDK:20857648">
<VALUECONDITION Value="true">
<EXP><![CDATA[$=$]]></EXP>
</VALUECONDITION>
<GROUP Id="RDK:20857649" SubType="Then" />
<GROUP Id="RDK:20857650" SubType="Else" />
</IFTHENELSE>
<SET Id="RDK:20851484" VarRef="lineStr">
<EXP><![CDATA[$=$ListToStr(line, ";")]]></EXP>
<PAR Name="AdvancedOptions" />
</SET>
<SET Id="RDK:20852851" VarRef="testarr">
<EXP><![CDATA[$=$splitStr(lineStr, ";")]]></EXP>
<PAR Name="AdvancedOptions" />
</SET>
<SET Id="RDK:20852857" VarRef="idx">
<EXP><![CDATA[$=$StrIndexOf(lineStr, id0, 0)]]></EXP>
<PAR Name="AdvancedOptions" />
</SET>
<SET Id="RDK:20852859" VarRef="idx">
<EXP><![CDATA[$=$StrIndexOf(lineStr, id1, 0)]]></EXP>
<PAR Name="AdvancedOptions" />
</SET>
<SET Id="RDK:20856965" VarRef="idx">
<EXP><![CDATA[$=$StrIndexOf(lineStr, "blubb", 0)]]></EXP>
<PAR Name="AdvancedOptions" />
</SET>
<SET Id="RDK:20852863" VarRef="elemIdx">
<EXP><![CDATA[$=$IndexOf(line, id0)]]></EXP>
<PAR Name="AdvancedOptions" />
</SET>
<SET Id="RDK:20852865" VarRef="elemIdx">
<EXP><![CDATA[$=$IndexOf(line, id1)]]></EXP>
<PAR Name="AdvancedOptions" />
</SET>
<SET Id="RDK:20856281" VarRef="elemIdx">
<EXP><![CDATA[$=$IndexOf(line, "blubb")]]></EXP>
<PAR Name="AdvancedOptions" />
</SET>
</FUNCTION>
<FUNCTION Id="RDK:20817718" Name="DestroyGroup" DesignTimeRemark="Löscht die Gruppe mit der gegeben Id" InputTypeName="string" ResultTypeName="boolean">
<FUNCTION Id="RDK:20857698" Name="CreateGroup" DesignTimeRemark="Erzeugt eine Gruppe aus den gegebenen zwei Ids" InputTypeName="list" ResultTypeName="boolean">
<GROUP Id="RDK:20857685" Name="Local Variables" SubType="VarSet" IncludeDate="0">
<VAR Id="RDK:20857677" Name="id0" Type="string">
<SET Id="RDK:20857676" VarRef="Me">
<EXP><![CDATA[$=$Param.Input[0]]]></EXP>
<PAR Name="AdvancedOptions" />
</SET>
</VAR>
<VAR Id="RDK:20857679" Name="id1" Type="string">
<SET Id="RDK:20857678" VarRef="Me">
<EXP><![CDATA[$=$Param.Input[1]]]></EXP>
<PAR Name="AdvancedOptions" />
</SET>
</VAR>
<VAR Id="RDK:20857680" Name="lineStr" Type="string" />
<VAR Id="RDK:20857681" Name="idx" Type="integer" />
<VAR Id="RDK:20857682" Name="elemIdx" Type="integer" />
<VAR Id="RDK:20857683" Name="line" Type="string[]" />
<VAR Id="RDK:20857684" Name="testarr" Type="string[]" />
</GROUP>
<SET Id="RDK:20857686" VarRef="line">
<EXP><![CDATA[$=$NewList(id0, id1)]]></EXP>
<PAR Name="AdvancedOptions" />
</SET>
<SET Id="RDK:20857690" VarRef="lineStr">
<EXP><![CDATA[$=$ListToStr(line, ";")]]></EXP>
<PAR Name="AdvancedOptions" />
</SET>
<SET Id="RDK:20857691" VarRef="testarr">
<EXP><![CDATA[$=$splitStr(lineStr, ";")]]></EXP>
<PAR Name="AdvancedOptions" />
</SET>
<SET Id="RDK:20857692" VarRef="idx">
<EXP><![CDATA[$=$StrIndexOf(lineStr, id0, 0)]]></EXP>
<PAR Name="AdvancedOptions" />
</SET>
<SET Id="RDK:20857693" VarRef="idx">
<EXP><![CDATA[$=$StrIndexOf(lineStr, id1, 0)]]></EXP>
<PAR Name="AdvancedOptions" />
</SET>
<SET Id="RDK:20857694" VarRef="idx">
<EXP><![CDATA[$=$StrIndexOf(lineStr, "blubb", 0)]]></EXP>
<PAR Name="AdvancedOptions" />
</SET>
<SET Id="RDK:20857695" VarRef="elemIdx">
<EXP><![CDATA[$=$IndexOf(line, id0)]]></EXP>
<PAR Name="AdvancedOptions" />
</SET>
<SET Id="RDK:20857696" VarRef="elemIdx">
<EXP><![CDATA[$=$IndexOf(line, id1)]]></EXP>
<PAR Name="AdvancedOptions" />
</SET>
<SET Id="RDK:20857697" VarRef="elemIdx">
<EXP><![CDATA[$=$IndexOf(line, "blubb")]]></EXP>
<PAR Name="AdvancedOptions" />
</SET>
</FUNCTION>
<FUNCTION Id="RDK:20817718" Name="DestroyGroup" DesignTimeRemark="Löscht die Gruppe mit dem Element der gegeben Id" InputTypeName="string" ResultTypeName="boolean">
<GROUP Id="RDK:20832590" Name="Local Variables" SubType="VarSet" IncludeDate="0">
<VAR Id="RDK:20832587" Name="id0" Type="string">
<SET Id="RDK:20832586" VarRef="Me">
@@ -9549,7 +9763,7 @@ ShapeTotalLength-SSGConnectionPoint.x_S-(KreiselData.Durchmesser/2)
</VAR>
</GROUP>
</FUNCTION>
<FUNCTION Id="RDK:20817720" Name="IsInGroup" DesignTimeRemark="Prüft ob die gegeben Id in einer Gruppe ist" InputTypeName="string" ResultTypeName="boolean">
<FUNCTION Id="RDK:20817720" Name="IsInGroup" DesignTimeRemark="Prüft ob das Element der gegeben Id in einer Gruppe ist" InputTypeName="string" ResultTypeName="boolean">
<GROUP Id="RDK:20832570" Name="Local Variables" SubType="VarSet" IncludeDate="0">
<VAR Id="RDK:20832569" Name="id0" Type="string">
<SET Id="RDK:20832568" VarRef="Me">
@@ -9625,6 +9839,22 @@ ShapeTotalLength-SSGConnectionPoint.x_S-(KreiselData.Durchmesser/2)
</VAR>
</GROUP>
</FUNCTION>
<FUNCTION Id="RDK:20857710" Name="MergeIdsToGroup" DesignTimeRemark="nimmt die gebenen beiden Ids und macht bei Bedarf eine neue Gruppe oder Merged vorhandene" InputTypeName="string[]" ResultTypeName="boolean">
<GROUP Id="RDK:20857709" Name="Local Variables" SubType="VarSet" IncludeDate="0">
<VAR Id="RDK:20857706" Name="id0" Type="string">
<SET Id="RDK:20857705" VarRef="Me">
<EXP><![CDATA[$=$Param.Input[0]]]></EXP>
<PAR Name="AdvancedOptions" />
</SET>
</VAR>
<VAR Id="RDK:20857708" Name="id1" Type="string">
<SET Id="RDK:20857707" VarRef="Me">
<EXP><![CDATA[$=$Param.Input[1]]]></EXP>
<PAR Name="AdvancedOptions" />
</SET>
</VAR>
</GROUP>
</FUNCTION>
</GROUP>
</GROUP>
<FUNCTION Id="RDK:1332780" Name="InheritHeight" DesignTimeNotes="20231005 -1-" InputTypeName="string">
@@ -15509,7 +15739,7 @@ me.x
<GROUP Id="RDK:20819412" SubType="Then">
<CALLFUNCTION Id="RDK:20819411" DesignTimeNotes="20231005 -1-">
<PAR Name="FuncName">
<EXP><![CDATA[$C$CreateGroup]]></EXP>
<EXP><![CDATA[$C$MergeIdsToGroup]]></EXP>
</PAR>
<PAR Name="InputExp">
<EXP><![CDATA[$=$NewList(id0, id1)]]></EXP>
@@ -15525,6 +15755,40 @@ me.x
</IFTHENELSE>
</FUNCTION>
<FUNCTION Id="RDK:19960886" Name="OnEditor2DUnlinked" InputTypeName="Editor2DEventArgumentsTypeList" Options="(TYPEFUNCTION)">
<GROUP Id="RDK:20833997" SubType="VarSet" IncludeDate="0">
<VAR Id="RDK:20834001" Name="id0" Type="string">
<SET Id="RDK:20834000" VarRef="Me">
<EXP><![CDATA[$=$Param.Input[0].shapeID]]></EXP>
<PAR Name="AdvancedOptions" />
</SET>
</VAR>
<VAR Id="RDK:20834005" Name="ids" Type="string" />
<VAR Id="RDK:20841666" Name="connectedId" Type="string" />
</GROUP>
<CALLFUNCTION Id="RDK:20841660">
<PAR Name="FuncName">
<EXP><![CDATA[$C$getWeichenConnected]]></EXP>
</PAR>
<PAR Name="InputExp">
<EXP><![CDATA[$=$id0]]></EXP>
</PAR>
<PAR Name="ResultRef">
<EXP><![CDATA[$V$ids]]></EXP>
</PAR>
<PAR Name="Options" />
</CALLFUNCTION>
<CALLFUNCTION Id="RDK:20847376">
<PAR Name="FuncName">
<EXP><![CDATA[$C$getItemsConnectedBefore]]></EXP>
</PAR>
<PAR Name="InputExp">
<EXP><![CDATA[$=$id0]]></EXP>
</PAR>
<PAR Name="ResultRef">
<EXP><![CDATA[$V$ids]]></EXP>
</PAR>
<PAR Name="Options" />
</CALLFUNCTION>
<SELECTCASE Id="RDK:19961188">
<EXP><![CDATA[$=$ShapeList["id="+Param.Input[0].shapeID].family]]></EXP>
<CASEGROUP Id="RDK:19961090" CaseType="0">
@@ -15564,6 +15828,59 @@ me.x
<EXP />
</CASEGROUP>
</SELECTCASE>
<IFTHENELSE Id="RDK:20833972">
<VALUECONDITION Value="true" Oper="OR">
<EXP><![CDATA[$=$ShapeList["id="+id0].family = "Strecke"]]></EXP>
</VALUECONDITION>
<VALUECONDITION Value="true" Oper="OR">
<EXP><![CDATA[$=$ShapeList["id="+id0].family = "Foerderer"]]></EXP>
</VALUECONDITION>
<VALUECONDITION Value="true" Oper="OR">
<EXP><![CDATA[$=$ShapeList["id="+id0].family = "Gefaellestrecke"]]></EXP>
</VALUECONDITION>
<GROUP Id="RDK:20833971" SubType="Then">
<CALLFUNCTION Id="RDK:20833968">
<PAR Name="FuncName">
<EXP><![CDATA[$C$SplitGroup]]></EXP>
</PAR>
<PAR Name="InputExp">
<EXP><![CDATA[$=$id0]]></EXP>
</PAR>
<PAR Name="ResultRef">
<EXP><![CDATA[$V$]]></EXP>
</PAR>
<PAR Name="Options" />
</CALLFUNCTION>
</GROUP>
</IFTHENELSE>
<IFTHENELSE Id="RDK:20843772">
<VALUECONDITION Value="true" Oper="OR">
<EXP><![CDATA[$=$ShapeList["id="+id0].family = "Strecke"]]></EXP>
</VALUECONDITION>
<VALUECONDITION Value="true" Oper="OR">
<EXP><![CDATA[$=$ShapeList["id="+id0].family = "Foerderer"]]></EXP>
</VALUECONDITION>
<VALUECONDITION Value="true" Oper="OR">
<EXP><![CDATA[$=$ShapeList["id="+id0].family = "Gefaellestrecke"]]></EXP>
</VALUECONDITION>
<VALUECONDITION Value="true">
<EXP><![CDATA[$=$ShapeList["id="+id0].family = "Gefaellestrecke"]]></EXP>
</VALUECONDITION>
<GROUP Id="RDK:20843771" SubType="Then">
<CALLFUNCTION Id="RDK:20843770">
<PAR Name="FuncName">
<EXP><![CDATA[$C$SplitGroup]]></EXP>
</PAR>
<PAR Name="InputExp">
<EXP><![CDATA[$=$id0]]></EXP>
</PAR>
<PAR Name="ResultRef">
<EXP><![CDATA[$V$]]></EXP>
</PAR>
<PAR Name="Options" />
</CALLFUNCTION>
</GROUP>
</IFTHENELSE>
</FUNCTION>
<FUNCTION Id="RDK:296" Name="OnEditor2DRegrouped" InputTypeName="Editor2DShapePropertyType" Options="(TYPEFUNCTION)">
<COMMENTS Id="RDK:32100" />