Commit 4b5e6b55 authored by André Pacak's avatar André Pacak

make records and variants look better (list sperated by commas, use : for inside of entries)

parent f82ad822
This diff is collapsed.
......@@ -15,7 +15,7 @@
<unit at="10,0,76,0" name="RecordTypes.structure.LanguageConceptSwitch" />
</file>
<file name="StructureAspectDescriptor.java">
<unit at="15,0,359,0" name="RecordTypes.structure.StructureAspectDescriptor" />
<unit at="15,0,358,0" name="RecordTypes.structure.StructureAspectDescriptor" />
</file>
</root>
<root nodeRef="r:a882191d-3685-4616-b5b1-384cf716b30e(RecordTypes.structure)/1894367444356272849">
......@@ -45,22 +45,21 @@
<node id="1894367444356272849" at="232,34,233,76" concept="0" />
<node id="1894367444356272849" at="252,34,253,76" concept="0" />
<node id="1894367444356272849" at="270,34,271,76" concept="0" />
<node id="1894367444356272849" at="281,71,282,76" concept="0" />
<node id="1894367444356272849" at="309,71,310,76" concept="0" />
<node id="1894367444356272849" at="318,34,319,76" concept="0" />
<node id="1894367444356272849" at="326,62,327,150" concept="3" />
<node id="1894367444356272849" at="327,150,328,19" concept="0" />
<node id="1894367444356272849" at="328,19,329,98" concept="0" />
<node id="1894367444356272849" at="329,98,330,17" concept="0" />
<node id="1894367444356272849" at="330,17,331,22" concept="4" />
<node id="1894367444356272849" at="343,71,344,76" concept="0" />
<node id="1894367444356272849" at="351,34,352,76" concept="0" />
<node id="1894367444356272849" at="326,0,333,0" concept="6" trace="createDescriptorForTerm#()Ljetbrains/mps/smodel/runtime/ConceptDescriptor;" />
<node id="1894367444356272849" at="308,71,309,76" concept="0" />
<node id="1894367444356272849" at="317,34,318,76" concept="0" />
<node id="1894367444356272849" at="325,62,326,150" concept="3" />
<node id="1894367444356272849" at="326,150,327,19" concept="0" />
<node id="1894367444356272849" at="327,19,328,98" concept="0" />
<node id="1894367444356272849" at="328,98,329,17" concept="0" />
<node id="1894367444356272849" at="329,17,330,22" concept="4" />
<node id="1894367444356272849" at="342,71,343,76" concept="0" />
<node id="1894367444356272849" at="350,34,351,76" concept="0" />
<node id="1894367444356272849" at="325,0,332,0" concept="6" trace="createDescriptorForTerm#()Ljetbrains/mps/smodel/runtime/ConceptDescriptor;" />
<scope id="1894367444356272849" at="98,38,99,29" />
<scope id="1894367444356272849" at="326,62,331,22">
<scope id="1894367444356272849" at="325,62,330,22">
<var name="b" id="1894367444356272849" />
</scope>
<scope id="1894367444356272849" at="326,0,333,0" />
<scope id="1894367444356272849" at="325,0,332,0" />
</file>
</root>
<root nodeRef="r:a882191d-3685-4616-b5b1-384cf716b30e(RecordTypes.structure)/1894367444356272850">
......@@ -83,18 +82,18 @@
<file name="StructureAspectDescriptor.java">
<node id="1894367444356272850" at="40,0,41,0" concept="1" trace="myConceptZero" />
<node id="1894367444356272850" at="104,38,105,29" concept="4" />
<node id="1894367444356272850" at="349,62,350,150" concept="3" />
<node id="1894367444356272850" at="350,150,351,34" concept="0" />
<node id="1894367444356272850" at="352,76,353,98" concept="0" />
<node id="1894367444356272850" at="353,98,354,17" concept="0" />
<node id="1894367444356272850" at="354,17,355,17" concept="0" />
<node id="1894367444356272850" at="355,17,356,22" concept="4" />
<node id="1894367444356272850" at="349,0,358,0" concept="6" trace="createDescriptorForZero#()Ljetbrains/mps/smodel/runtime/ConceptDescriptor;" />
<node id="1894367444356272850" at="348,62,349,150" concept="3" />
<node id="1894367444356272850" at="349,150,350,34" concept="0" />
<node id="1894367444356272850" at="351,76,352,98" concept="0" />
<node id="1894367444356272850" at="352,98,353,17" concept="0" />
<node id="1894367444356272850" at="353,17,354,17" concept="0" />
<node id="1894367444356272850" at="354,17,355,22" concept="4" />
<node id="1894367444356272850" at="348,0,357,0" concept="6" trace="createDescriptorForZero#()Ljetbrains/mps/smodel/runtime/ConceptDescriptor;" />
<scope id="1894367444356272850" at="104,38,105,29" />
<scope id="1894367444356272850" at="349,62,356,22">
<scope id="1894367444356272850" at="348,62,355,22">
<var name="b" id="1894367444356272850" />
</scope>
<scope id="1894367444356272850" at="349,0,358,0" />
<scope id="1894367444356272850" at="348,0,357,0" />
</file>
</root>
<root nodeRef="r:a882191d-3685-4616-b5b1-384cf716b30e(RecordTypes.structure)/1894367444356272855">
......@@ -117,19 +116,19 @@
<file name="StructureAspectDescriptor.java">
<node id="1894367444356272855" at="36,0,37,0" concept="1" trace="myConceptSucc" />
<node id="1894367444356272855" at="96,38,97,29" concept="4" />
<node id="1894367444356272855" at="316,62,317,150" concept="3" />
<node id="1894367444356272855" at="317,150,318,34" concept="0" />
<node id="1894367444356272855" at="319,76,320,98" concept="0" />
<node id="1894367444356272855" at="320,98,321,17" concept="0" />
<node id="1894367444356272860" at="321,17,322,195" concept="0" />
<node id="1894367444356272855" at="322,195,323,20" concept="0" />
<node id="1894367444356272855" at="323,20,324,22" concept="4" />
<node id="1894367444356272855" at="316,0,326,0" concept="6" trace="createDescriptorForSucc#()Ljetbrains/mps/smodel/runtime/ConceptDescriptor;" />
<node id="1894367444356272855" at="315,62,316,150" concept="3" />
<node id="1894367444356272855" at="316,150,317,34" concept="0" />
<node id="1894367444356272855" at="318,76,319,98" concept="0" />
<node id="1894367444356272855" at="319,98,320,17" concept="0" />
<node id="1894367444356272860" at="320,17,321,195" concept="0" />
<node id="1894367444356272855" at="321,195,322,20" concept="0" />
<node id="1894367444356272855" at="322,20,323,22" concept="4" />
<node id="1894367444356272855" at="315,0,325,0" concept="6" trace="createDescriptorForSucc#()Ljetbrains/mps/smodel/runtime/ConceptDescriptor;" />
<scope id="1894367444356272855" at="96,38,97,29" />
<scope id="1894367444356272855" at="316,62,324,22">
<scope id="1894367444356272855" at="315,62,323,22">
<var name="b" id="1894367444356272855" />
</scope>
<scope id="1894367444356272855" at="316,0,326,0" />
<scope id="1894367444356272855" at="315,0,325,0" />
</file>
</root>
<root nodeRef="r:a882191d-3685-4616-b5b1-384cf716b30e(RecordTypes.structure)/1894367444356272864">
......@@ -152,18 +151,18 @@
<file name="StructureAspectDescriptor.java">
<node id="1894367444356272864" at="39,0,40,0" concept="1" trace="myConceptVar" />
<node id="1894367444356272864" at="102,37,103,28" concept="4" />
<node id="1894367444356272864" at="340,61,341,149" concept="3" />
<node id="1894367444356272864" at="341,149,342,34" concept="0" />
<node id="1894367444356272864" at="342,34,343,71" concept="0" />
<node id="1894367444356272864" at="344,76,345,98" concept="0" />
<node id="1894367444356272864" at="345,98,346,17" concept="0" />
<node id="1894367444356272864" at="346,17,347,22" concept="4" />
<node id="1894367444356272864" at="340,0,349,0" concept="6" trace="createDescriptorForVar#()Ljetbrains/mps/smodel/runtime/ConceptDescriptor;" />
<node id="1894367444356272864" at="339,61,340,149" concept="3" />
<node id="1894367444356272864" at="340,149,341,34" concept="0" />
<node id="1894367444356272864" at="341,34,342,71" concept="0" />
<node id="1894367444356272864" at="343,76,344,98" concept="0" />
<node id="1894367444356272864" at="344,98,345,17" concept="0" />
<node id="1894367444356272864" at="345,17,346,22" concept="4" />
<node id="1894367444356272864" at="339,0,348,0" concept="6" trace="createDescriptorForVar#()Ljetbrains/mps/smodel/runtime/ConceptDescriptor;" />
<scope id="1894367444356272864" at="102,37,103,28" />
<scope id="1894367444356272864" at="340,61,347,22">
<scope id="1894367444356272864" at="339,61,346,22">
<var name="b" id="1894367444356272864" />
</scope>
<scope id="1894367444356272864" at="340,0,349,0" />
<scope id="1894367444356272864" at="339,0,348,0" />
</file>
</root>
<root nodeRef="r:a882191d-3685-4616-b5b1-384cf716b30e(RecordTypes.structure)/1894367444356272898">
......@@ -404,18 +403,18 @@
<node id="1894367444356273039" at="154,34,155,76" concept="0" />
<node id="1894367444356273039" at="243,34,244,76" concept="0" />
<node id="1894367444356273039" at="261,34,262,76" concept="0" />
<node id="1894367444356273039" at="290,34,291,76" concept="0" />
<node id="1894367444356273039" at="333,62,334,150" concept="3" />
<node id="1894367444356273039" at="334,150,335,19" concept="0" />
<node id="1894367444356273039" at="335,19,336,98" concept="0" />
<node id="1894367444356273039" at="336,98,337,17" concept="0" />
<node id="1894367444356273039" at="337,17,338,22" concept="4" />
<node id="1894367444356273039" at="333,0,340,0" concept="6" trace="createDescriptorForType#()Ljetbrains/mps/smodel/runtime/ConceptDescriptor;" />
<node id="1894367444356273039" at="289,34,290,76" concept="0" />
<node id="1894367444356273039" at="332,62,333,150" concept="3" />
<node id="1894367444356273039" at="333,150,334,19" concept="0" />
<node id="1894367444356273039" at="334,19,335,98" concept="0" />
<node id="1894367444356273039" at="335,98,336,17" concept="0" />
<node id="1894367444356273039" at="336,17,337,22" concept="4" />
<node id="1894367444356273039" at="332,0,339,0" concept="6" trace="createDescriptorForType#()Ljetbrains/mps/smodel/runtime/ConceptDescriptor;" />
<scope id="1894367444356273039" at="100,38,101,29" />
<scope id="1894367444356273039" at="333,62,338,22">
<scope id="1894367444356273039" at="332,62,337,22">
<var name="b" id="1894367444356273039" />
</scope>
<scope id="1894367444356273039" at="333,0,340,0" />
<scope id="1894367444356273039" at="332,0,339,0" />
</file>
</root>
<root nodeRef="r:a882191d-3685-4616-b5b1-384cf716b30e(RecordTypes.structure)/1894367444356273040">
......@@ -576,18 +575,18 @@
<file name="StructureAspectDescriptor.java">
<node id="2294833391481651910" at="33,0,34,0" concept="1" trace="myConceptRecordType" />
<node id="2294833391481651910" at="90,44,91,35" concept="4" />
<node id="2294833391481651910" at="288,68,289,156" concept="3" />
<node id="2294833391481651910" at="289,156,290,34" concept="0" />
<node id="2294833391481651910" at="291,76,292,98" concept="0" />
<node id="2294833391481651910" at="292,98,293,17" concept="0" />
<node id="2294833391481651915" at="293,17,294,197" concept="0" />
<node id="2294833391481651910" at="294,197,295,22" concept="4" />
<node id="2294833391481651910" at="288,0,297,0" concept="6" trace="createDescriptorForRecordType#()Ljetbrains/mps/smodel/runtime/ConceptDescriptor;" />
<node id="2294833391481651910" at="287,68,288,156" concept="3" />
<node id="2294833391481651910" at="288,156,289,34" concept="0" />
<node id="2294833391481651910" at="290,76,291,98" concept="0" />
<node id="2294833391481651910" at="291,98,292,17" concept="0" />
<node id="2294833391481651915" at="292,17,293,197" concept="0" />
<node id="2294833391481651910" at="293,197,294,22" concept="4" />
<node id="2294833391481651910" at="287,0,296,0" concept="6" trace="createDescriptorForRecordType#()Ljetbrains/mps/smodel/runtime/ConceptDescriptor;" />
<scope id="2294833391481651910" at="90,44,91,35" />
<scope id="2294833391481651910" at="288,68,295,22">
<scope id="2294833391481651910" at="287,68,294,22">
<var name="b" id="2294833391481651910" />
</scope>
<scope id="2294833391481651910" at="288,0,297,0" />
<scope id="2294833391481651910" at="287,0,296,0" />
</file>
</root>
<root nodeRef="r:a882191d-3685-4616-b5b1-384cf716b30e(RecordTypes.structure)/2294833391481651919">
......@@ -610,19 +609,19 @@
<file name="StructureAspectDescriptor.java">
<node id="2294833391481651919" at="34,0,35,0" concept="1" trace="myConceptRecordTypeEntry" />
<node id="2294833391481651919" at="92,49,93,40" concept="4" />
<node id="2294833391481651919" at="297,73,298,161" concept="3" />
<node id="2294833391481651919" at="298,161,299,34" concept="0" />
<node id="2294833391481651919" at="299,34,300,71" concept="0" />
<node id="2294833391481651919" at="300,71,301,98" concept="0" />
<node id="2294833391481651919" at="301,98,302,17" concept="0" />
<node id="2294833391481651924" at="302,17,303,196" concept="0" />
<node id="2294833391481651919" at="303,196,304,22" concept="4" />
<node id="2294833391481651919" at="297,0,306,0" concept="6" trace="createDescriptorForRecordTypeEntry#()Ljetbrains/mps/smodel/runtime/ConceptDescriptor;" />
<node id="2294833391481651919" at="296,73,297,161" concept="3" />
<node id="2294833391481651919" at="297,161,298,34" concept="0" />
<node id="2294833391481651919" at="298,34,299,71" concept="0" />
<node id="2294833391481651919" at="299,71,300,98" concept="0" />
<node id="2294833391481651919" at="300,98,301,17" concept="0" />
<node id="2294833391481651924" at="301,17,302,196" concept="0" />
<node id="2294833391481651919" at="302,196,303,22" concept="4" />
<node id="2294833391481651919" at="296,0,305,0" concept="6" trace="createDescriptorForRecordTypeEntry#()Ljetbrains/mps/smodel/runtime/ConceptDescriptor;" />
<scope id="2294833391481651919" at="92,49,93,40" />
<scope id="2294833391481651919" at="297,73,304,22">
<scope id="2294833391481651919" at="296,73,303,22">
<var name="b" id="2294833391481651919" />
</scope>
<scope id="2294833391481651919" at="297,0,306,0" />
<scope id="2294833391481651919" at="296,0,305,0" />
</file>
</root>
<root nodeRef="r:a882191d-3685-4616-b5b1-384cf716b30e(RecordTypes.structure)/3192721931268066706">
......@@ -648,16 +647,16 @@
<node id="3192721931268066706" at="278,69,279,157" concept="3" />
<node id="3192721931268066706" at="279,157,280,34" concept="0" />
<node id="3192721931268066706" at="280,34,281,71" concept="0" />
<node id="3192721931268066706" at="282,76,283,98" concept="0" />
<node id="3192721931268066706" at="283,98,284,17" concept="0" />
<node id="3192721931268066726" at="284,17,285,195" concept="0" />
<node id="3192721931268066706" at="285,195,286,22" concept="4" />
<node id="3192721931268066706" at="278,0,288,0" concept="6" trace="createDescriptorForRecordEntry#()Ljetbrains/mps/smodel/runtime/ConceptDescriptor;" />
<node id="3192721931268066706" at="281,71,282,98" concept="0" />
<node id="3192721931268066706" at="282,98,283,17" concept="0" />
<node id="3192721931268066726" at="283,17,284,195" concept="0" />
<node id="3192721931268066706" at="284,195,285,22" concept="4" />
<node id="3192721931268066706" at="278,0,287,0" concept="6" trace="createDescriptorForRecordEntry#()Ljetbrains/mps/smodel/runtime/ConceptDescriptor;" />
<scope id="3192721931268066706" at="88,45,89,36" />
<scope id="3192721931268066706" at="278,69,286,22">
<scope id="3192721931268066706" at="278,69,285,22">
<var name="b" id="3192721931268066706" />
</scope>
<scope id="3192721931268066706" at="278,0,288,0" />
<scope id="3192721931268066706" at="278,0,287,0" />
</file>
</root>
<root nodeRef="r:a882191d-3685-4616-b5b1-384cf716b30e(RecordTypes.structure)/5790571747095872620">
......@@ -752,19 +751,19 @@
<file name="StructureAspectDescriptor.java">
<node id="658257277626152476" at="35,0,36,0" concept="1" trace="myConceptSel" />
<node id="658257277626152476" at="94,37,95,28" concept="4" />
<node id="658257277626152476" at="306,61,307,148" concept="3" />
<node id="658257277626152476" at="307,148,308,34" concept="0" />
<node id="658257277626152476" at="308,34,309,71" concept="0" />
<node id="658257277626152476" at="310,76,311,97" concept="0" />
<node id="658257277626152476" at="311,97,312,17" concept="0" />
<node id="658257277626152481" at="312,17,313,193" concept="0" />
<node id="658257277626152476" at="313,193,314,22" concept="4" />
<node id="658257277626152476" at="306,0,316,0" concept="6" trace="createDescriptorForSel#()Ljetbrains/mps/smodel/runtime/ConceptDescriptor;" />
<node id="658257277626152476" at="305,61,306,148" concept="3" />
<node id="658257277626152476" at="306,148,307,34" concept="0" />
<node id="658257277626152476" at="307,34,308,71" concept="0" />
<node id="658257277626152476" at="309,76,310,97" concept="0" />
<node id="658257277626152476" at="310,97,311,17" concept="0" />
<node id="658257277626152481" at="311,17,312,193" concept="0" />
<node id="658257277626152476" at="312,193,313,22" concept="4" />
<node id="658257277626152476" at="305,0,315,0" concept="6" trace="createDescriptorForSel#()Ljetbrains/mps/smodel/runtime/ConceptDescriptor;" />
<scope id="658257277626152476" at="94,37,95,28" />
<scope id="658257277626152476" at="306,61,314,22">
<scope id="658257277626152476" at="305,61,313,22">
<var name="b" id="658257277626152476" />
</scope>
<scope id="658257277626152476" at="306,0,316,0" />
<scope id="658257277626152476" at="305,0,315,0" />
</file>
</root>
<root nodeRef="r:a882191d-3685-4616-b5b1-384cf716b30e(RecordTypes.structure)/7997266186978933431">
......
......@@ -15,6 +15,7 @@
<language id="18bc6592-03a6-4e29-a83a-7ff23bde13ba" name="jetbrains.mps.lang.editor">
<concept id="1071666914219" name="jetbrains.mps.lang.editor.structure.ConceptEditorDeclaration" flags="ig" index="24kQdi" />
<concept id="1140524381322" name="jetbrains.mps.lang.editor.structure.CellModel_ListWithRole" flags="ng" index="2czfm3">
<property id="1140524450557" name="separatorText" index="2czwfO" />
<child id="1140524464360" name="cellLayout" index="2czzBx" />
</concept>
<concept id="1106270571710" name="jetbrains.mps.lang.editor.structure.CellLayout_Vertical" flags="nn" index="2iRkQZ" />
......@@ -25,10 +26,15 @@
<concept id="1078939183254" name="jetbrains.mps.lang.editor.structure.CellModel_Component" flags="sg" stub="3162947552742194261" index="PMmxH">
<reference id="1078939183255" name="editorComponent" index="PMmxG" />
</concept>
<concept id="1186414536763" name="jetbrains.mps.lang.editor.structure.BooleanStyleSheetItem" flags="ln" index="VOi$J">
<property id="1186414551515" name="flag" index="VOm3f" />
</concept>
<concept id="1186414928363" name="jetbrains.mps.lang.editor.structure.SelectableStyleSheetItem" flags="ln" index="VPM3Z" />
<concept id="1630016958697344083" name="jetbrains.mps.lang.editor.structure.IMenu_Concept" flags="ng" index="2ZABuq">
<reference id="6591946374543067572" name="conceptDeclaration" index="aqKnT" />
</concept>
<concept id="1233758997495" name="jetbrains.mps.lang.editor.structure.PunctuationLeftStyleClassItem" flags="ln" index="11L4FC" />
<concept id="1233759184865" name="jetbrains.mps.lang.editor.structure.PunctuationRightStyleClassItem" flags="ln" index="11LMrY" />
<concept id="3308396621974580100" name="jetbrains.mps.lang.editor.structure.SubstituteMenu_Default" flags="ng" index="3p36aQ" />
<concept id="1139848536355" name="jetbrains.mps.lang.editor.structure.CellModel_WithRole" flags="ng" index="1$h60E">
<reference id="1140103550593" name="relationDeclaration" index="1NtTu8" />
......@@ -362,6 +368,7 @@
<property role="3F0ifm" value="{" />
</node>
<node concept="3F2HdR" id="2LeOUT3PgTq" role="3EZMnx">
<property role="2czwfO" value="," />
<ref role="1NtTu8" to="oj0p:$yAo6zIfmb" resolve="entries" />
<node concept="l2Vlx" id="2LeOUT3PgTt" role="2czzBx" />
</node>
......@@ -379,6 +386,7 @@
<property role="3F0ifm" value="{" />
</node>
<node concept="3F2HdR" id="6bPwpXIfZVu" role="3EZMnx">
<property role="2czwfO" value="," />
<ref role="1NtTu8" to="oj0p:1ZoSGYtY0bb" resolve="elems" />
<node concept="l2Vlx" id="6bPwpXIfZVw" role="2czzBx" />
</node>
......@@ -396,7 +404,7 @@
<ref role="1NtTu8" to="tpck:h0TrG11" resolve="name" />
</node>
<node concept="3F0ifn" id="6bPwpXIfZWD" role="3EZMnx">
<property role="3F0ifm" value="=" />
<property role="3F0ifm" value=":" />
</node>
<node concept="3F1sOY" id="6bPwpXIfZXb" role="3EZMnx">
<ref role="1NtTu8" to="oj0p:1ZoSGYtY0bk" resolve="ty" />
......@@ -408,11 +416,19 @@
<property role="3GE5qa" value="term" />
<ref role="1XX52x" to="oj0p:$yAo6zIfos" resolve="Sel" />
<node concept="3EZMnI" id="2LeOUT3PgPs" role="2wV5jI">
<node concept="3F1sOY" id="2LeOUT3PgPD" role="3EZMnx">
<ref role="1NtTu8" to="oj0p:$yAo6zIfox" resolve="t" />
<node concept="1kIj98" id="5z1OnvsHIJq" role="3EZMnx">
<node concept="3F1sOY" id="5z1OnvsHIJE" role="1kIj9b">
<ref role="1NtTu8" to="oj0p:$yAo6zIfox" resolve="t" />
</node>
</node>
<node concept="3F0ifn" id="2LeOUT3PgPP" role="3EZMnx">
<property role="3F0ifm" value="." />
<node concept="11L4FC" id="5z1OnvsKF5K" role="3F10Kt">
<property role="VOm3f" value="true" />
</node>
<node concept="11LMrY" id="5z1OnvsKF5V" role="3F10Kt">
<property role="VOm3f" value="true" />
</node>
</node>
<node concept="3F0A7n" id="2LeOUT3PgQ7" role="3EZMnx">
<ref role="1NtTu8" to="tpck:h0TrG11" resolve="name" />
......
......@@ -221,6 +221,7 @@
<classNode dependClassName="RecordTypes.editor.App_Editor" />
<classNode dependClassName="RecordTypes.editor.Fun_Editor" />
<classNode dependClassName="RecordTypes.editor.Let_Editor" />
<classNode dependClassName="RecordTypes.editor.Sel_Editor" />
<classNode dependClassName="RecordTypes.editor.Succ_Editor" />
<classNode dependClassName="RecordTypes.editor.Var_Editor" />
<classNode dependClassName="com.mbeddr.mpsutil.grammarcells.runtime.AbstractRule" />
......@@ -1173,7 +1174,10 @@
</dependency>
<dependency className="RecordTypes.editor.RecordType_EditorBuilder_a">
<classNode dependClassName="java.lang.Override" />
<classNode dependClassName="jetbrains.mps.editor.runtime.style.StyleAttributes" />
<classNode dependClassName="jetbrains.mps.editor.runtime.style.StyleImpl" />
<classNode dependClassName="jetbrains.mps.lang.editor.cellProviders.RefNodeListHandler" />
<classNode dependClassName="jetbrains.mps.lang.editor.cellProviders.RefNodeListHandlerElementKeyMap" />
<classNode dependClassName="jetbrains.mps.nodeEditor.cellActions.CellAction_DeleteNode" />
<classNode dependClassName="jetbrains.mps.nodeEditor.cellLayout.CellLayout_Indent" />
<classNode dependClassName="jetbrains.mps.nodeEditor.cellMenu.SChildSubstituteInfo" />
......@@ -1186,6 +1190,7 @@
<classNode dependClassName="jetbrains.mps.openapi.editor.cells.DefaultSubstituteInfo" />
<classNode dependClassName="jetbrains.mps.openapi.editor.cells.EditorCell" />
<classNode dependClassName="jetbrains.mps.openapi.editor.menus.transformation.SNodeLocation" />
<classNode dependClassName="jetbrains.mps.openapi.editor.style.Style" />
<classNode dependClassName="jetbrains.mps.smodel.adapter.structure.MetaAdapterFactory" />
<classNode dependClassName="org.jetbrains.annotations.NotNull" />
<classNode dependClassName="org.jetbrains.mps.openapi.language.SAbstractConcept" />
......@@ -1202,7 +1207,10 @@
</dependency>
<dependency className="RecordTypes.editor.Record_EditorBuilder_a">
<classNode dependClassName="java.lang.Override" />
<classNode dependClassName="jetbrains.mps.editor.runtime.style.StyleAttributes" />
<classNode dependClassName="jetbrains.mps.editor.runtime.style.StyleImpl" />
<classNode dependClassName="jetbrains.mps.lang.editor.cellProviders.RefNodeListHandler" />
<classNode dependClassName="jetbrains.mps.lang.editor.cellProviders.RefNodeListHandlerElementKeyMap" />
<classNode dependClassName="jetbrains.mps.nodeEditor.cellActions.CellAction_DeleteNode" />
<classNode dependClassName="jetbrains.mps.nodeEditor.cellLayout.CellLayout_Indent" />
<classNode dependClassName="jetbrains.mps.nodeEditor.cellMenu.SChildSubstituteInfo" />
......@@ -1215,6 +1223,7 @@
<classNode dependClassName="jetbrains.mps.openapi.editor.cells.DefaultSubstituteInfo" />
<classNode dependClassName="jetbrains.mps.openapi.editor.cells.EditorCell" />
<classNode dependClassName="jetbrains.mps.openapi.editor.menus.transformation.SNodeLocation" />
<classNode dependClassName="jetbrains.mps.openapi.editor.style.Style" />
<classNode dependClassName="jetbrains.mps.smodel.adapter.structure.MetaAdapterFactory" />
<classNode dependClassName="org.jetbrains.annotations.NotNull" />
<classNode dependClassName="org.jetbrains.mps.openapi.language.SAbstractConcept" />
......@@ -1230,18 +1239,25 @@
<classNode extendsClassName="jetbrains.mps.nodeEditor.DefaultNodeEditor" />
</dependency>
<dependency className="RecordTypes.editor.Sel_EditorBuilder_a">
<classNode dependClassName="com.mbeddr.mpsutil.grammarcells.runtime.CellActionWithReadAccess" />
<classNode dependClassName="java.lang.Iterable" />
<classNode dependClassName="java.lang.Override" />
<classNode dependClassName="java.lang.String" />
<classNode dependClassName="java.util.Objects" />
<classNode dependClassName="jetbrains.mps.baseLanguage.closures.runtime._FunctionTypes" />
<classNode dependClassName="jetbrains.mps.editor.runtime.impl.cellActions.CellAction_DeleteSPropertyOrNode" />
<classNode dependClassName="jetbrains.mps.editor.runtime.impl.cellActions.CellAction_DeleteSmart" />
<classNode dependClassName="jetbrains.mps.editor.runtime.selection.SelectionUtil" />
<classNode dependClassName="jetbrains.mps.editor.runtime.style.StyleAttributes" />
<classNode dependClassName="jetbrains.mps.editor.runtime.style.StyleImpl" />
<classNode dependClassName="jetbrains.mps.internal.collections.runtime.IWhereFilter" />
<classNode dependClassName="jetbrains.mps.internal.collections.runtime.Sequence" />
<classNode dependClassName="jetbrains.mps.lang.core.behavior.PropertyAttribute__BehaviorDescriptor" />
<classNode dependClassName="jetbrains.mps.lang.editor.cellProviders.SingleRoleCellProvider" />
<classNode dependClassName="jetbrains.mps.lang.smodel.generator.smodelAdapter.AttributeOperations" />
<classNode dependClassName="jetbrains.mps.lang.smodel.generator.smodelAdapter.IAttributeDescriptor" />
<classNode dependClassName="jetbrains.mps.lang.smodel.generator.smodelAdapter.SConceptOperations" />
<classNode dependClassName="jetbrains.mps.lang.smodel.generator.smodelAdapter.SLinkOperations" />
<classNode dependClassName="jetbrains.mps.lang.smodel.generator.smodelAdapter.SNodeOperations" />
<classNode dependClassName="jetbrains.mps.nodeEditor.EditorManager" />
<classNode dependClassName="jetbrains.mps.nodeEditor.cellActions.CellAction_DeleteNode" />
......@@ -1259,9 +1275,12 @@
<classNode dependClassName="jetbrains.mps.openapi.editor.cells.EditorCell" />
<classNode dependClassName="jetbrains.mps.openapi.editor.menus.transformation.SNodeLocation" />
<classNode dependClassName="jetbrains.mps.openapi.editor.menus.transformation.SPropertyInfo" />
<classNode dependClassName="jetbrains.mps.openapi.editor.selection.SelectionManager" />
<classNode dependClassName="jetbrains.mps.openapi.editor.style.Style" />
<classNode dependClassName="jetbrains.mps.openapi.editor.update.AttributeKind" />
<classNode dependClassName="jetbrains.mps.smodel.adapter.structure.MetaAdapterFactory" />
<classNode dependClassName="org.jetbrains.annotations.NotNull" />
<classNode dependClassName="org.jetbrains.mps.openapi.language.SAbstractConcept" />
<classNode dependClassName="org.jetbrains.mps.openapi.language.SContainmentLink" />
<classNode dependClassName="org.jetbrains.mps.openapi.language.SProperty" />
<classNode dependClassName="org.jetbrains.mps.openapi.model.SNode" />
......
<?xml version="1.0" encoding="UTF-8"?>
<product version="3" modelHash="35pso6j1kl6urhfqpnrcsjpfzrcpdo2">
<product version="3" modelHash="bi29ybukn2ip0rb4js6vle2pe785rni">
<files names="Add_Editor.java:Add_EditorBuilder_a.java:Anno_Editor.java:Anno_EditorBuilder_a.java:App_Editor.java:App_EditorBuilder_a.java:EditorAspectDescriptorImpl.java:Fun_Editor.java:Fun_EditorBuilder_a.java:GrammarActionsDescriptor.java:GrammarCellsSubstituteMenu_Add.java:GrammarCellsSubstituteMenu_Anno.java:GrammarCellsSubstituteMenu_App.java:GrammarCellsSubstituteMenu_Fun.java:GrammarCellsSubstituteMenu_IModuleElem.java:GrammarCellsSubstituteMenu_Lam.java:GrammarCellsSubstituteMenu_Let.java:GrammarCellsSubstituteMenu_Module.java:GrammarCellsSubstituteMenu_ModuleElemDef.java:GrammarCellsSubstituteMenu_ModuleElemEmpty.java:GrammarCellsSubstituteMenu_ModuleImport.java:GrammarCellsSubstituteMenu_Mult.java:GrammarCellsSubstituteMenu_Nat.java:GrammarCellsSubstituteMenu_ParensTerm.java:GrammarCellsSubstituteMenu_ParensType.java:GrammarCellsSubstituteMenu_Record.java:GrammarCellsSubstituteMenu_RecordEntry.java:GrammarCellsSubstituteMenu_RecordType.java:GrammarCellsSubstituteMenu_RecordTypeEntry.java:GrammarCellsSubstituteMenu_Sel.java:GrammarCellsSubstituteMenu_Succ.java:GrammarCellsSubstituteMenu_Term.java:GrammarCellsSubstituteMenu_Type.java:GrammarCellsSubstituteMenu_Var.java:GrammarCellsSubstituteMenu_Zero.java:Lam_Editor.java:Lam_EditorBuilder_a.java:Let_Editor.java:Let_EditorBuilder_a.java:ModuleElemDef_Editor.java:ModuleElemDef_EditorBuilder_a.java:ModuleElemEmpty_SubstituteMenu.java:ModuleImport_Editor.java:ModuleImport_EditorBuilder_a.java:Module_Editor.java:Module_EditorBuilder_a.java:Mult_Editor.java:Mult_EditorBuilder_a.java:Nat_Editor.java:Nat_EditorBuilder_a.java:ParensTerm_Editor.java:ParensTerm_EditorBuilder_a.java:ParensType_Editor.java:ParensType_EditorBuilder_a.java:RecordEntry_Editor.java:RecordEntry_EditorBuilder_a.java:RecordTypeEntry_Editor.java:RecordTypeEntry_EditorBuilder_a.java:RecordType_Editor.java:RecordType_EditorBuilder_a.java:Record_Editor.java:Record_EditorBuilder_a.java:Sel_Editor.java:Sel_EditorBuilder_a.java:Succ_Editor.java:Succ_EditorBuilder_a.java:Var_Editor.java:Var_EditorBuilder_a.java:Zero_Editor.java:Zero_EditorBuilder_a.java:template_GrammarCellsSideTransformationsMenu.java" />
</product>
<?xml version="1.0" encoding="UTF-8"?>
<product version="3" modelHash="by0f87re721kkzsjnmtn820lv99sodk">
<product version="3" modelHash="ado8p3v5lho6geh9jsa2b3uug0b5snv">
<files names="Language.java" />
</product>
<?xml version="1.0" encoding="UTF-8"?>
<product version="3" modelHash="-b22ohtir1kpa9479syiyvypr11obxj2">
<product version="3" modelHash="-2ybac4kskvya9i8uqix4j9z3vlctrer">
<files names="ConceptPresentationAspectImpl.java:LanguageConceptSwitch.java:StructureAspectDescriptor.java" />
</product>
......@@ -713,6 +713,78 @@ public class GrammarActionsDescriptor extends AbstractGrammarActionDescriptor im
}).toListSequence();
}
}.query()));
ListSequence.fromList(result).addSequence(Sequence.fromIterable(new Object() {
public Iterable<SubstituteMenuItem> query() {
List<SubstituteMenuItem> result = ListSequence.fromList(new ArrayList<SubstituteMenuItem>());
_context.getEditorMenuTrace().pushTraceInfo();
_context.getEditorMenuTrace().setDescriptor(new EditorMenuDescriptorBase("grammar.wrap in " + "Sel", new SNodePointer("r:6c4d09db-8a4c-40f2-8fdb-950cf932417a(RecordTypes.editor)", "6395623258577103834")));
try {
if (SConceptOperations.isExactly(SNodeOperations.asSConcept(expectedOutputConceptExactly), MetaAdapterFactory.getConcept(0x6b642eaa1043424aL, 0x9e0949eb41607114L, 0x9229981a3b8f61cL, "RecordTypes.structure.Sel"))) {
final SAbstractConcept wrappedConcept = MetaAdapterFactory.getInterfaceConcept(0x6b642eaa1043424aL, 0x9e0949eb41607114L, 0x1a4a252762eb92d1L, "RecordTypes.structure.Term");
for (SConcept subconcept : ListSequence.fromList(GrammarCellsUtil.getVisibleSubconceptsNonAbstract(MetaAdapterFactory.getConcept(0x6b642eaa1043424aL, 0x9e0949eb41607114L, 0x9229981a3b8f61cL, "RecordTypes.structure.Sel"), _context.getModel(), Sel_Editor.class, _context.getEditorContext()))) {
final SConcept outputConcept = ((SConcept) subconcept);
final SAbstractConcept expectedOutputConcept = GrammarCellsUtil.getExpectedOutputConcept(_context, expectedOutputConceptExactly);
boolean wrapRequired = !(SConceptOperations.isSubConceptOf(SNodeOperations.asSConcept(wrappedConcept), SNodeOperations.asSConcept(expectedOutputConcept)));
if (SConceptOperations.isSubConceptOf(SNodeOperations.asSConcept(outputConcept), SNodeOperations.asSConcept(expectedOutputConcept)) && wrapRequired) {
boolean isApplicable = GrammarCellsUtil.canBeChild(subconcept, _context);
if (isApplicable) {
List<SubstituteMenuItem> actions = _context.withLink(MetaAdapterFactory.getContainmentLink(0x6b642eaa1043424aL, 0x9e0949eb41607114L, 0x9229981a3b8f61cL, 0x9229981a3b8f621L, "t")).createItems(new DefaultSubstituteMenuLookup(LanguageRegistry.getInstance(_context.getEditorContext().getRepository()), wrappedConcept));
List<SubstituteMenuItem> wrappedActions = ListSequence.fromList(actions).where(new IWhereFilter<SubstituteMenuItem>() {
public boolean accept(SubstituteMenuItem it) {
boolean isApplicable = true;
final SAbstractConcept wrappedConcept = it.getOutputConcept();
if (SConceptOperations.isSubConceptOf(SNodeOperations.asSConcept(wrappedConcept), SNodeOperations.asSConcept(expectedOutputConcept))) {
return false;
}
return isApplicable;
}
}).select(new ISelector<SubstituteMenuItem, SubstituteMenuItem>() {
public SubstituteMenuItem select(SubstituteMenuItem it) {
SubstituteMenuItem wrapper = new SubstituteMenuItemWrapper(it) {
private SNode wrappedNode;
@Override
public SNode createNode(@NotNull String pattern) {
SNode nodeToWrap = super.createNode(pattern);
wrappedNode = nodeToWrap;
// use setupNode after setting wrapped element to allow access to the wrapped element in node factories
SNode wrapper = SConceptOperations.createNewNode(SNodeOperations.asInstanceConcept(outputConcept));
SLinkOperations.setTarget(wrapper, MetaAdapterFactory.getContainmentLink(0x6b642eaa1043424aL, 0x9e0949eb41607114L, 0x9229981a3b8f61cL, 0x9229981a3b8f621L, "t"), SNodeOperations.cast(nodeToWrap, MetaAdapterFactory.getInterfaceConcept(0x6b642eaa1043424aL, 0x9e0949eb41607114L, 0x1a4a252762eb92d1L, "RecordTypes.structure.Term")));
NodeFactoryManager.setupNode(outputConcept, wrapper, _context.getCurrentTargetNode(), _context.getParentNode(), _context.getModel());
return wrapper;
}
@Override
public SAbstractConcept getOutputConcept() {
return outputConcept;
}
@Override
public void select(@NotNull SNode createdNode, @NotNull String pattern) {
GrammarCellsSubstituteMenuItem.select(_context.getEditorContext().getEditorComponent(), createdNode);
}
};
return wrapper;
}
}).toListSequence();
ListSequence.fromList(result).addSequence(ListSequence.fromList(wrappedActions));
}
}
}
}
} finally {
_context.getEditorMenuTrace().popTraceInfo();
}
return ListSequence.fromList(result).where(new IWhereFilter<SubstituteMenuItem>() {
public boolean accept(SubstituteMenuItem it) {
return it != null;
}
}).toListSequence();
}
}.query()));
} finally {
_context.getEditorMenuTrace().popTraceInfo();
}
......@@ -1643,6 +1715,94 @@ public class GrammarActionsDescriptor extends AbstractGrammarActionDescriptor im
}.query(_context)));
}
}
{