Sidebar-Sysml.js 132 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415
  1. (function()
  2. {
  3. /**
  4. * Adds the sysML palettes to the sidebar.
  5. */
  6. Sidebar.prototype.addSysMLModelElementsPalette = function(expand)
  7. {
  8. var gn = '';
  9. var dt = 'sysml model element ';
  10. var sb = this;
  11. var s = 'html=1;shape=mxgraph.sysml.';
  12. var fns = [
  13. this.addDataEntry(dt + 'comment', 180, 80, 'Comment',
  14. '1ZS7bsMgFIafhrXCOJGytk6bpZUqZWlHFE4NEgYLn8ROn74Hg5I4FylDlg6W///cgM8WrKyaYRVkqz+8AsvKV1ZWwXtMqhkqsJYJbhQrl0wITg8TbzeyxZjlrQzg8J4GkRp20m4hRSrfNLFZcIQBU7rDvc3pTss2SueRXi+d+Y2umJOW1tSOjIUfjKlWboyr30e3LDiFNDY2apK9NghrKontPZ2fYnkvEGjlm+cZQ/kwK/ANYNhTyT5lZ+m4vDcKdW6Y55gGU2uc1sku+fow6QiLROZ1nV15we6CFqga1tk67yIxcOo5BN+fRAaDX2T50yy77+hIK9lpUJnYCby0Thw+wdT5bdjA5MPeQW6KOoCVaHbTwdco5UGf3ow/S54izriiDDVgLjpDe9jDXbRnD6e9+Pe0i8WjcJM9Xjqp/PRO+gM='),
  15. this.addDataEntry(dt + 'constraint note', 180, 80, 'Constraint Note',
  16. '1ZQxb8IwEIV/jVcUO1BYIaUsVKrE0o4WvsaWHDtyDEn663uOLSAUJAaWDlHuPd8921+kkLyouo3jtXy3AjTJ1yQvnLU+VlVXgNaEZUqQ/JUwluFD2NudVTqsZjV3YPwjAywOHLk+QHTIfFVQki/RxXJLyRzdbE0nXXDYS4m5q+CwST+shfnG9zrNN5LXoTTW42vVqJ+g6AxrrlVpUGj4DiFNzffKlNtBvdIMLekrHWosW6k87LAljLcIaNh2OCw4D93dCw9Wuu0GbAXe9djSx9Vp5JG1SniZBmbJk6BK6cd9vIm6PCWdaWKRgN6Gm/+Fe00LRAm7JI01gRgYsXTOthdOp/wnymwyTeorKKwFbySIROwCXtwnhI8wNfbg9jD68g+QG6N2oLlXx3HwLUop6MMqzD+lsCuunrsSfGq6Qns6w0O0p0+nvfj3tOniWbhRnv9Ksf3yp/UL'),
  17. this.addDataEntry(dt + 'constraint textual note', 160, 60, 'Constraint Textual Note',
  18. 'lVNNb8MgDP01SNuNgtSel6TrZZMm9bAzTdyASiAidEn362cCaZV+SN0ByX72g+dnQXjeDBsnWvlpK9CErwnPnbU+Rs2Qg9aEUVURXhDGKB7C3h9UF2OVtsKB8c8QWCT8CH2EiKw1NEjGm5aE8QUlPHsR5oRNdVCpShH4BsW+Rm7nTzpxOynaEDoo8fWs884e4FtVXiLIENlb47epf4G59I1OYS+Vh20rylDr8SnEhFa1wbREQeAQSGrBeRgeTjxCadwN2Aa8C/L7pCN0LKMrVIKqZaJNmOhiXp+pF/8wSBbet5Pf2ElWWWkNOiEU6mMUhXuyKm6sm0bVsPdzY8K0wfW31NGoqgqsTIsd6C/bKa9sKLg4y5nwcVWfEzNRHmpnj6bKrbZobmGsgWlH6ndcUbIEJzC4UrGb1NKnFsHuL2K4WsIpefd//zG9fJWxNvtJfw=='),
  19. this.addDataEntry(dt + 'constraint textual note', 160, 0, 'Constraint Textual Note',
  20. 'lVNBbsIwEHyNj5WMI5UzCS2nSpU49GySJVg4XuQsNPD6rmNDSBskerDkHc+s7RlbZEXTrbw+7D6wAiuyN5EVHpHirOkKsFYoaSqRLYVSkodQ7w9WZ/2qPGgPjp4RqCg4aXuEiIh5XqJryWvDLZQk6EjMl5HX0tkm3gk8mVLbhTW1Y2iDRNiILN9Rw9dYzngKrlp4j99cOnQQkKqGdWqSIKs3YHNd7muPR1cVaNEPq1t0tDaXwJ9JrvlguIcvU9GOIcVIPFlo/NCDHkoGrAAbIH9migeryZzGOt3Gsr7xbtJPjJZcKS0efQkJvTf5SuxS51c57k3a10B/hDy5O98A9ZlN55dN5adduF0dHlVIqDeD7ZoI0UNrLnrTl3KcnU65Wtiyi/nvuAkP/84ubs+vy0FJadfbC5VhB+geZqimM0yCl6R4OtKR54PBXA6fL+Zx/zd/AA=='),
  21. this.createVertexTemplateEntry(s + 'composite;symbol0=folder;fontStyle=1;spacingTop=15;tabWidth=80;tabHeight=20;tabPosition=left;symbol1=triangle;symbol1Width=7;symbol1Height=10;symbol1Align=right;symbol1VerticalAlign=top;symbol1Spacing=8;symbol1VSpacing=25;symbol1Direction=north;strokeWidth=2;whiteSpace=wrap;align=center;',
  22. 160, 90, 'Model', 'Model', null, null, this.getTagsForStencil(gn, '', dt + 'model').join(' ')),
  23. this.addDataEntry(dt + 'package diagram', 300, 120, 'Package Diagram',
  24. '3VVNj5swEP01HHdlTBJpjyHp7h7aqmoOPZswGCsGu8YkpL++Y2wCaNlVKlU9VAqK580H4/dGQ5Tsqu7FMF1+UTnIKPkUJTujlPWnqtuBlBElIo+SfUQpwSeiz+94495LNDNQ23sSqE84M9mCRyK6kZiaaoQbe5Ue3vxsXUtpxQwXdZRsie5u5oNVGqHVFJJQYPw29nEWOvvApOAu1bvSsSieePjvX50NgD7xAcMrZGMc8b+vrIJJgB4D6Kx7WtoKqd3H6GtKph1addyx/thcm0o+anY8MY542h3EL+d/ImiElveh5QbDRM0/99Y+dhHqDKaQ6oJ2IZBaDLJGneCHyG0ZXmng2JpGnOE7NL44uTWJ6UjOu+r1UJDuBVQF1lwx5BKqozchXmFSguDlkBZkJ6zxAL/ljsOAhzAPy7ORLM1GRJP+3oc2C5zFb9geKC6UzMEs82ZZNlC0CvbrcIF45YFvqhFWqIkAhapt0KevMtH1UgoLB3yRc15Q2nsppssUDwlrn3H15ibwOhEgXhJg/Rf4X93HP/2/+X8iMwHoPxRgvSQAq9zNwsqZWqLSytgbxmcRy2sJcg6HYNaqdusH6nxrTL9PlAakPs1ZU0IeWHZciiOT27CY+s2bSpaBTHEcuFFtne+UVGZWctCMzjXzDbkuPlYHm1atOcJsL1hc9GAno/pWQwOSWdx7s+p/oAia46ew982+lL8B'),
  25. this.addDataEntry(dt + 'package tab', 300, 120, 'Package (Tab)',
  26. '3VVNj9sgEP01HCsRnGy1x3XS3T200qqp1DMxE4wWGwuP89Ff38GQjb1xVqlU9dCDZd4bZhjeQ8CyZXV48rIpvzkFlmVfWLb0zmEcVYclWMsEN4plKyYEp4+JxyvRWR/ljfRQ4y0JIibspO0gMi+yeJUaUqUWjzYF2lI2Ybh1VoFnWX5Ym1+BuOcEpDW6JmBhSwvnbSMLU+uvPVrNJmbswKMppH1INLrmIm9xZn6E8OrTnBiUm59GYUn4M4/4GYwuQ4ZIxItrDRo3WK/EyoZWQkn07hVONQLjoeh8a3bwHdq4qVAnaUONwuGqvj2VxH0CVwH6I03Zp+oUzXj0gJenLkNaMobLNhL6LfdsFw2SY9PuZRfuMXHHRNbrve42zc1eTvg1kHn+XubZ/JrMW1djOhd9lYHs+9IgrGmhENzTkb9VYjEt8SlhETOOEd4lXQcGzKYMWPwF/ee36S/+b/3v+ciA7B8asJgyQFZhZxb77Q2RqRrn8Y3ToxkJvTMKlIZ1grWr6ZdDrR68d3tiXAMkfa5kW4JKKk/fa1ZuwOZ0HLR3Xa2Wzjo/KnnyTIw9iw2FLj52h5p2nS9gdC+g9BpwcFQvPfRgJdK9N6r+B44QPD9WfWz0lv0G'),
  27. this.createVertexTemplateEntry('shape=folder;tabWidth=80;tabHeight=20;tabPosition=left;strokeWidth=2;html=1;whiteSpace=wrap;align=center;',
  28. 160, 90, 'Package1', 'Package (Name)', null, null, this.getTagsForStencil(gn, '', dt + 'package name').join(' ')),
  29. this.createVertexTemplateEntry('shape=note;size=15;align=left;spacingLeft=10;html=1;whiteSpace=wrap;',
  30. 160, 60, '<<problem>>\nDescription', 'Problem', null, null, this.getTagsForStencil(gn, '', dt + 'problem').join(' ')),
  31. this.createVertexTemplateEntry('shape=note;size=15;align=left;spacingLeft=10;html=1;whiteSpace=wrap;',
  32. 160, 60, '<<rationale>>\nDescription', 'Rationale', null, null, this.getTagsForStencil(gn, '', dt + 'rationale').join(' ')),
  33. this.createVertexTemplateEntry('shape=folder;tabWidth=80;tabHeight=20;tabPosition=left;html=1;whiteSpace=wrap;align=center;',
  34. 160, 80, '\n<<view>>\n{viewpoint = View name}\nName', 'View (Name)', null, null, this.getTagsForStencil(gn, '', dt + 'view name').join(' ')),
  35. this.createVertexTemplateEntry('shape=folder;html=1;tabWidth=80;tabHeight=40;tabPosition=left;align=left;verticalAlign=top;spacingLeft=10;whiteSpace=wrap;',
  36. 160, 120, '<<view>>\nName', 'View', null, null, this.getTagsForStencil(gn, '', dt + 'view').join(' ')),
  37. this.createVertexTemplateEntry('shape=rect;html=1;overflow=fill;whiteSpace=wrap;', 120, 140,
  38. '<p style="margin:0px;margin-top:4px;text-align:center;">' +
  39. '&lt;&lt;viewpoint&gt;&gt;<br/>' +
  40. '<b>Name</b></p><hr/>' +
  41. '<p style="margin:0px;margin-left:8px;text-align:left;">' +
  42. 'stakeholders="..."<br/>' +
  43. 'purpose="..."<br>' +
  44. 'concerns="..."<br>' +
  45. 'languages="..."<br>' +
  46. 'methods="..."</p>',
  47. 'Viewpoint', null, null, this.getTagsForStencil(gn, '', dt + 'viewpoint').join(' ')),
  48. this.createEdgeTemplateEntry('edgeStyle=none;html=1;endArrow=open;endSize=12;dashed=1;verticalAlign=bottom;',
  49. 160, 0, '&lt;&lt;conform&gt;&gt;', 'Conform', null, this.getTagsForStencil(gn, '', dt + 'conform').join(' ')),
  50. this.createEdgeTemplateEntry('edgeStyle=none;html=1;endArrow=open;endSize=12;dashed=1;verticalAlign=bottom;',
  51. 160, 0, '&lt;&lt;stereotype1&gt;&gt;\ndependency1', 'Dependency', null, this.getTagsForStencil(gn, '', dt + 'dependency').join(' ')),
  52. this.createEdgeTemplateEntry('edgeStyle=none;html=1;endArrow=open;endSize=12;dashed=1;verticalAlign=bottom;',
  53. 160, 0, '&lt;&lt;import&gt;&gt;', 'Public Package Import', null, this.getTagsForStencil(gn, '', dt + 'public package import').join(' ')),
  54. this.createEdgeTemplateEntry('edgeStyle=none;html=1;endArrow=open;endSize=12;dashed=1;verticalAlign=bottom;',
  55. 160, 0, '&lt;&lt;access&gt;&gt;', 'Private Package Import', null, this.getTagsForStencil(gn, '', dt + 'private package import').join(' ')),
  56. this.createEdgeTemplateEntry('edgeStyle=none;html=1;' + mxConstants.STYLE_STARTARROW + '=sysMLPackCont;startSize=12;' + mxConstants.STYLE_ENDARROW + '=none;',
  57. 160, 0, '', 'Package Containment', null, this.getTagsForStencil(gn, '', dt + 'package containment').join(' ')),
  58. this.createEdgeTemplateEntry('edgeStyle=none;html=1;endSize=12;endArrow=block;endFill=0;dashed=1;',
  59. 160, 0, '', 'Realization', null, this.getTagsForStencil(gn, '', dt + 'realization').join(' ')),
  60. this.createEdgeTemplateEntry('edgeStyle=none;html=1;endArrow=open;endSize=12;dashed=1;verticalAlign=bottom;',
  61. 160, 0, '&lt;&lt;refine&gt;&gt;', 'Refine', null, this.getTagsForStencil(gn, '', dt + 'refine').join(' '))
  62. ];
  63. this.addPalette('sysmlModel Elements', 'SysML / Model Elements', expand || false, mxUtils.bind(this, function(content)
  64. {
  65. for (var i = 0; i < fns.length; i++)
  66. {
  67. content.appendChild(fns[i](content));
  68. }
  69. }));
  70. };
  71. Sidebar.prototype.addSysMLBlocksPalette = function(expand)
  72. {
  73. var gn = '';
  74. var dt = 'sysml block ';
  75. var sb = this;
  76. var s = 'html=1;strokeWidth=1;shape=mxgraph.sysml.';
  77. var fns =
  78. [
  79. this.addDataEntry(dt + 'block definition diagram', 300, 100, 'Block Definition Diagram',
  80. '1VbbjtMwEP2avCBtlUtbxGPTsvsCPFAkeHWSqWPVsYPj3vh6xrcm3bS7K1gESK0an5nxeM4ZTxply+b4oEhbf5QV8Ch7H2VLJaV2T81xCZxHacyqKFtFaRrjN0rvb1gTa41bokDolwSkLmBP+A4cEqVzjqF5i3CnT9zB8+87c6S8IYoyEWWLuD2el3datghNhxCHDfovEuen4ajvCGfUhDpT3m+KT9T/2tRFAIqqChiWUPR+sft8Ig10LSkhGbi1vVt6UUNa6wYJXiVo67SSW/jKKl0HpCat8WuO1Kgx6U5dwye4+ZZQxHNOCuDfjDOmznJfzMoXY07BBP1gV6vEeMg9qA2XB1xvGJKe5QrKnerYHj5Dx36YZPH5mOiMJN1U0UJewgeQDWh1QpeDLwCtWeyUjmtgtA5hASSdA+g5tm8KfPB9cb1HslGP5FyW22TEb6AQ6zScbKTQa281DA/oP9RMw9ooh8AB+R4wWmLRoF5KTHqdmBAwcxGnwJFbDmhLrtE2ewXWptdZS/8H1t7Ff4222Yg2PLce91qoW7n0Q5pM7awkfOFdCqm1bNAAolooZW+kkALsGMDNA1Yx0khRfanNgHOmtbumyTQA9/Ym2zRQUQhC+e0wgXfoL7Zxe1oHrEvuVAkXtw2TUdCDVrqtlgtQwInG2XIB/o4S85ESYxWUGWSk4GGWDVR4NCAfi2JfGW6o5jhjqZI7US0ll6qn014Fr4BvrVIKgffEpzy/3p7r99mTDN79KQrfjiiMJ5M3v8JiaPN/mcZXYhGX/f8fa7v4e/QT'),
  81. this.addDataEntry(dt + 'relation', 160, 0, 'Relation',
  82. 'zVRNb8IwDP01vUwaCi3aHcrgNGkS+wOhMW20NEapYYVfP9MmLVVh2qYddqjkPNvPHy9NlKRlvXZyX7ygAhMlz1GSOkRqrbJOwZgoFlpFyTKKY8FfFK/ueKeNV+ylA0vfSYjbhKM0B2gRziVPU9HJeFQanVs2nc4LJl4UVHKvyymbR3CkM2nmPmSLRFiyA6yaO4cfjFm0TLSoiMkDprQs0aq3Qtvg2ujzpd50FoCVNqEMqBw2viFP13Z5cdydvoH86GvAEsidOKQeJDgwkvRxyCKr9ph3WR3RK2rm70MqPLgMPHq97BAYyj2JITePmAONEtm46raHGu1u65iMdBxr6KDSZ7ltjmKoYZDXwI5uSEq4Z9TILZiFzN5zhwerUjToejF2aDv9/JgZWgsZ+ZLdXRQXeqjvahZ/qdnjT0UbbPWLFc5GKxSTycNvthh+kv+8xj/aIh/7x6q9t9dv2Sc='),
  83. this.createVertexTemplateEntry('shape=rect;html=1;overflow=fill;verticalAlign=top;align=left;whiteSpace=wrap;', 220, 340,
  84. '<p style="margin:0px;margin-top:4px;text-align:center;">' +
  85. '&lt;&lt;block&gt;&gt;<br/>' +
  86. '{encapsulated}<br/>' +
  87. '<b>Block1</b></p><hr/>' +
  88. '<p style="font-size:10px;margin:0px;text-align:center;"><i>constraints</i></p>' +
  89. '<p style="margin:0px;margin-left:8px;text-align:left;">{x &gt; y}</p><hr/>' +
  90. '<p style="font-size:10px;margin:0px;text-align:center;"><i>operations</i></p>' +
  91. '<p style="margin:0px;margin-left:8px;text-align:left;">operation1 (p1 : Type1) : Type2</p><hr/>' +
  92. '<p style="font-size:10px;margin:0px;text-align:center;"><i>parts</i></p>' +
  93. '<p style="margin:0px;margin-left:8px;text-align:left;">property1 : Block2</p><hr/>' +
  94. '<p style="font-size:10px;margin:0px;text-align:center;"><i>references</i></p>' +
  95. '<p style="margin:0px;margin-left:8px;text-align:left;">property2 : Block3 [0..*] {ordered}</p><hr/>' +
  96. '<p style="font-size:10px;margin:0px;text-align:center;"><i>values</i></p>' +
  97. '<p style="margin:0px;margin-left:8px;text-align:left;">property3 : Integer = 99 {readOnly}<br/>property4 : Real = 10.0</p><hr/>' +
  98. '<p style="font-size:10px;margin:0px;text-align:center;"><i>properties</i></p>' +
  99. '<p style="margin:0px;margin-left:8px;text-align:left;">property5 : Type1</p>',
  100. 'Block', null, null, this.getTagsForStencil(gn, '', dt + 'block').join(' ')),
  101. this.createVertexTemplateEntry('shape=umlActor;html=1;verticalLabelPosition=bottom;verticalAlign=top;align=center;',
  102. 30, 60, 'ActorName', 'Actor', null, null, this.getTagsForStencil(gn, '', dt + 'actor').join(' ')),
  103. this.createVertexTemplateEntry('shape=rect;html=1;overflow=fill;whiteSpace=wrap;align=center;', 160, 80,
  104. '<p>&lt;&lt;actor&gt;&gt;<br/><b>ActorName</b></p>',
  105. 'Actor', null, null, this.getTagsForStencil(gn, '', dt + 'actor').join(' ')),
  106. this.createVertexTemplateEntry('shape=rect;html=1;overflow=fill;whiteSpace=wrap;', 200, 180,
  107. '<p style="margin:0px;margin-top:4px;text-align:center;">' +
  108. '&lt;&lt;valueType&gt;&gt;<br/>' +
  109. '<b>ValueType1</b></p><hr/>' +
  110. '<p style="font-size:10px;margin:0px;text-align:center;"><i>operations</i></p>' +
  111. '<p style="margin:0px;margin-left:8px;text-align:left;">operation1 (p1 : Type1) : Type2</p><hr/>' +
  112. '<p style="font-size:10px;margin:0px;text-align:center;"><i>properties</i></p>' +
  113. '<p style="margin:0px;margin-left:8px;text-align:left;">property1 : Type3</p><hr/>' +
  114. '<p style="margin:0px;margin-left:8px;text-align:center;">&lt;&lt;valueType&gt;&gt;</p>' +
  115. '<p style="margin:0px;margin-left:8px;text-align:left;">unit = UnitName</p>',
  116. 'ValueType', null, null, this.getTagsForStencil(gn, '', dt + 'value type valuetype').join(' ')),
  117. this.createVertexTemplateEntry('shape=rect;html=1;overflow=fill;whiteSpace=wrap;', 200, 80,
  118. '<p style="margin:0px;margin-top:4px;text-align:center;">' +
  119. '&lt;&lt;enumeration&gt;&gt;<br/>' +
  120. '<b>Enumeration1</b></p><hr/>' +
  121. '<p style="margin:0px;margin-left:8px;text-align:left;">literalName1<br/>literalName2</p>',
  122. 'Enumeration', null, null, this.getTagsForStencil(gn, '', dt + 'enumeration').join(' ')),
  123. this.createVertexTemplateEntry('shape=rect;html=1;overflow=fill;whiteSpace=wrap;align=center;', 80, 40,
  124. '<p style="margin:13px;"><b><i>Name</i></b></p>',
  125. 'Abstract Definition', null, null, this.getTagsForStencil(gn, '', dt + 'abstract definition').join(' ')),
  126. this.createVertexTemplateEntry('shape=rect;html=1;overflow=fill;whiteSpace=wrap;align=center;', 80, 40,
  127. '<p style="margin:5px;">{abstract}<br/><b><i>Name</i></b></p>',
  128. 'Abstract Definition', null, null, this.getTagsForStencil(gn, '', dt + 'abstract definition').join(' ')),
  129. this.createVertexTemplateEntry('shape=rect;html=1;overflow=fill;whiteSpace=wrap;align=center;', 80, 40,
  130. '<p style="margin:5px;"><b><i>Name</i></b><br/>{abstract}</p>',
  131. 'Abstract Definition', null, null, this.getTagsForStencil(gn, '', dt + 'abstract definition').join(' ')),
  132. this.createVertexTemplateEntry('shape=rect;html=1;overflow=fill;whiteSpace=wrap;align=center;', 200, 80,
  133. '<p style="margin:0px;margin-top:4px;text-align:center;">' +
  134. '&lt;&lt;stereotype1&gt;&gt;<br/>' +
  135. '<b>Block1</b></p><hr/>' +
  136. '<p style="margin:0px;margin-left:8px;text-align:center;">&lt;&lt;stereotype1&gt;&gt;</p>' +
  137. '<p style="margin:0px;margin-left:8px;text-align:left;">property1 = value</p>',
  138. 'Stereotype Property Compartment', null, null, this.getTagsForStencil(gn, '', dt + 'stereotype property compartment').join(' ')),
  139. this.addDataEntry(dt + 'namespace compartment', 300, 100, 'Namespace Compartment',
  140. '1VZNj5swEP01XCplZSBJ1WNIunvqpanUs4EJWDE2Nc5Xf30HfyQEQnbbbrXbQxTzxmO/efNsCOJldXxStC6/yBx4EH8O4qWSUttRdVwC50FEWB7EqyCKCP6C6HEkGpooqakCoV+SENmEPeU7sEgQzTmmJjXCjT5xC89/7FpKSUVVwUQQL0h9PD9OtKwRmhpIw1FPKGdFOytDGqAQvayAo8L9m31SDyRcZtvQw0g57U9FrO5jpWqL64G3uW+k0JOG/UR0EXb5n8v5Xe7MA4JW0NQ0gw5Vdp9+dMUxakpat0MFWRt3JFYcNqZKXaE1ViEO5R7UhssDPm4Y9jJODiXTsDa7x6sDWgmxRiu5he8s16XLw4V3qmF7+ApWgxU588AlsfRRCxnI+ecJZAVanXDKwa2O0ZhYm5ESWFH6NOc9QhsLFOfciyNx4Ex526DxwKDGJ9FzAnYUa/u+dhPDEb283p2mv0CY6LYwPmFmM072ce7U6MgW3pJt9gqqTW+rFv8Pqn0ibybbbCAb8tbhQDVft7LbJ23BLKN84fBUai0rDIDIF0qZwyqkAHMwcUWP5YxWUuTfyvYOsqG1PZvh1AOP5pCbFkBegG+JW67TMMuynXNfeaxE7lQGV+cLdypAd8wz3h+boIBTjbfJFfg32s8H2g91V+3VRVPub69O9b0Ls98R84ZKOE2BJzTbFkruRL6UXKqLlsbxTn5npkwKgSfDbXl+mz7n8NldBSf/SsKPAwnJw8OHP1FxzNjvScZXUhEfL59bJnb1NfYL'),
  141. this.createVertexTemplateEntry('shape=rect;html=1;overflow=fill;whiteSpace=wrap;', 250, 100,
  142. '<p style="margin:0px;margin-top:4px;text-align:center;">' +
  143. '<b>Block1</b></p><hr/>' +
  144. '<p style="font-size:10px;margin:0px;text-align:center;"><i>namespace</i></p>',
  145. 'Block', null, null, this.getTagsForStencil(gn, '', dt + 'block').join(' ')),
  146. this.addDataEntry(dt + 'structure compartment', 300, 100, 'Structure Compartment',
  147. '1VZNj5swEP01XCplZSBJ1WNIunvqpanUs4EJWDE2Nc5Xf30HfyQEQnbbbrXbQxTzxmO/efNsCOJldXxStC6/yBx4EH8O4qWSUttRdVwC50FEWB7EqyCKCP6C6HEkGpooqakCoV+SENmEPeU7sEgQzTmmJjXCjT5xC89/7FpKSUVVwUQQL0h9PD9OtKwRmhpIw1FPKGdFOytDGqAQvayAo8L9m31SDyRcZtvQw0g57U9FrO5jpWqL64G3uW+k0JOG/UR0EXb5n8v5Xe7MA4JW0NQ0gw5Vdp9+dMUxakpat0MFWRt3JFYcNqZKXaE1ViEO5R7UhssDPm4Y9jJODiXTsDa7x6sDWgmxRiu5he8s16XLw4V3qmF7+ApWgxU588AlsfRRCxnI+ecJZAVanXDKwa2O0ZhYm5ESWFH6NOc9QhsLFOfciyNx4Ex526DxwKDGJ9FzAnYUa/u+dhPDEb283p2mv0CY6LYwPmFmM072ce7U6MgW3pJt9gqqTW+rFv8Pqn0ibybbbCAb8tbhQDVft7LbJ23BLKN84fBUai0rDIDIF0qZwyqkAHMwcUWP5YxWUuTfyvYOsqG1PZvh1AOP5pCbFkBegG+JW67TMMuynXNfeaxE7lQGV+cLdypAd8wz3h+boIBTjbfJFfg32s8H2g91V+3VRVPub69O9b0Ls98R84ZKOE2BJzTbFkruRL6UXKqLlsbxTn5npkwKgSfDbXl+mz7n8NldBSf/SsKPAwnJw8OHP1FxzNjvScZXUhEfL59bJnb1NfYL'),
  148. this.addDataEntry(dt + 'relation', 160, 0, 'Relation',
  149. '3VTLboMwEPwa3x2Ieg/kcapUKV/gwNZYNV60bFKSr68BB4IIVQ499YDkHe+MvTMWIk7L5kCqKt4xByvinYhTQuR+VTYpWCsiaXIRb0UUSf+JaL+wu+p2ZaUIHL9CiHrCRdkz9EgWNGq+2gBdgNhkym6s0c5DJ2TGUsRJwaW/8Xbll+DyDRF++9Kh88SkZkX8DDuaWyu8Wt+BvbGtjGxlcg3HcDISF6jRKbsb0aS/Xdu3OHIHhXkPgCUwXX0LgVVsLlOeqvtSD30D9QONVxxbajxTBgF99PTe2ATlNznV9jNq4BnRLx7uN0JdRM/jimdxzdMiqM1NnbpSTkNSIUAyuvBeJYvBWnUCm6jsSxOeXZ6iRRpT/EQ3hBhGzdA5yDgcOzw72Z4AzWJS0fOkpoSXc5sY+4uL65mL8Kc2Mlb/zUNfjj+l/uE+/rN+AA=='),
  150. this.createVertexTemplateEntry('shape=rect;html=1;overflow=fill;whiteSpace=wrap;', 200, 60,
  151. '<p style="margin:0px;margin-top:10px;text-align:center;">' +
  152. '&lt;&lt;unit&gt;&gt;<br/>' +
  153. '<p style="margin:0px;margin-left:8px;text-align:center;">{quantityKind = QuantityKind1}<br/>' +
  154. '<b>Unit1</b></p>',
  155. 'Unit', null, null, this.getTagsForStencil(gn, '', dt + 'unit').join(' ')),
  156. this.createVertexTemplateEntry('shape=rect;html=1;overflow=fill;whiteSpace=wrap;', 200, 80,
  157. '<p style="margin:0px;margin-top:4px;text-align:center;">' +
  158. '<b>Unit1</b></p><hr/>' +
  159. '<p style="margin:0px;margin-left:8px;text-align:center;">&lt;&lt;unit&gt;&gt;<br/>' +
  160. '{quantityKind = QuantityKind1}</p>',
  161. 'Unit', null, null, this.getTagsForStencil(gn, '', dt + 'unit').join(' ')),
  162. this.createVertexTemplateEntry('shape=rect;html=1;overflow=fill;whiteSpace=wrap;', 200, 60,
  163. '<p style="margin:0px;margin-top:10px;text-align:center;">' +
  164. '&lt;&lt;quantityKind&gt;&gt;<br/>' +
  165. '<p style="margin:0px;margin-left:8px;text-align:center;"><b>QuantityKind1</b></p>',
  166. 'Quantity Kind', null, null, this.getTagsForStencil(gn, '', dt + 'quantity kind').join(' ')),
  167. this.createVertexTemplateEntry('shape=rect;html=1;overflow=fill;fontSize=15;whiteSpace=wrap;', 70, 30,
  168. '<p style="margin:0px;margin-top:4px;text-align:center;text-decoration:underline;">' +
  169. '<B>i1: Type1</b><br/>',
  170. 'Instance Specification', null, null, this.getTagsForStencil(gn, '', dt + 'instance specification').join(' ')),
  171. this.addDataEntry(dt + 'instance specification', 280, 30, 'Instance Specification',
  172. '3VVNj5swEP01HFcCk416DWG7p5VWSv+AgQlYNR7XOF/76zvGBkLYtDmt1B6ieJ7nDeP3PBCl2/b8arhu3rACGaUvUbo1iNav2vMWpIxYLKoozSPGYvpF7Pud3aTfjTU3oOwjBOYJRy4P4JGIrSVRM01wZy/Sw+tfB9dS1nJTCxWlm1ifx/DJoiZo1UMWzvaJS1G7rJLaADOgFZRouBXotg6qAiOFovrZVJ9WdfjvuxgBkRCHWvpx0ZAMu3Su4pZRGHfaEWSzY7Cu4dotDZRuv7EtSZ5T7QyPYPYSTxTuBWmUZntUdic+XHryTPGpERZ2mpcOOZFl4wOISge8a0EPBf1fAVuw5kIpJ1HZxmd88y7FDYi6Caw0YLzzcT0yJz9pESz93N70n7GXTfay/8PeQGBx8PEL7F4t7N4kC43caUTJ5cabmBdoLbZztUBVG2N6tVCD8sggFnNhVcMu1ERjG6xRcfkyoUE6lzcTrsODKWH28rF0y8DOLuwD8hqQdNeO8+qfiReo7yio4pTiGwno9RtySBwMX98Y49tdEHtvxv4esut5YZdOF3YZ6MQHL/ownrsUxjA3/hZlt872c5tJXoDMePmzNkhTuUWJNLK5wn42r6cgHLREpWh+wjPHT8jfxmD1xzEIhIddu3PlKZw+jl7y62/nbw=='),
  173. this.addDataEntry(dt + 'relation', 160, 0, 'Relation',
  174. 'jVPBbsIwDP2a3Esi7U4L4zRpEl8QWi+NlsaV60Lh65c2gdIBEodK9rP9Er/XCFU0w450W39hBU6orVAFIXKMmqEA54TMbCXURkiZhU/IzxfV1VTNWk3g+Z0BGQeO2vUQkXXi6PjsEnQEYltqt3bW+AAdkBkbofKam3DjzSqE4Ks1EZ5Cii34iOztZaRYyTGtDOwTJxLXaNBrt53RPJ479r1cZoLSJjvABpjOoYXAabbH5ZzuYmpufbfRb7SBcW7psKcSEnqv1rVxSMwf2ZKbNRngh8EQ3N1vhibxnxuhHoxo1YMRBJ296MOUZkv9dfKGrKmDWPl/zxjbgDp9AJfr8tcQ9r4q0CGFokc/GvCDnq+WpUVL9B5KTmfefqdspIfhpU/yuU/LgbddW8g6axjS+aFEye/f0R8='),
  175. this.createVertexTemplateEntry('shape=rect;html=1;overflow=fill;whiteSpace=wrap;', 120, 60,
  176. '<p style="margin:0px;margin-top:10px;text-align:center;text-decoration:underline;">' +
  177. 'instance1: Type1<br/></p>' +
  178. '<p style="margin:0px;margin-top:4px;text-align:center;">value1</p>',
  179. 'Instance Specification', null, null, this.getTagsForStencil(gn, '', dt + 'instance specification').join(' ')),
  180. this.createVertexTemplateEntry('shape=rect;html=1;overflow=fill;whiteSpace=wrap;', 160, 80,
  181. '<p style="margin:0px;margin-top:10px;text-align:center;text-decoration:underline;">' +
  182. 'instance1: Type1<br/></p><hr/>' +
  183. '<p style="margin:0px;margin-top:4px;margin-left:4px;text-align:left;">property1 = 10<br/>property2 = "value"</p>',
  184. 'Instance Specification', null, null, this.getTagsForStencil(gn, '', dt + 'instance specification').join(' ')),
  185. this.addDataEntry(dt + 'instance specification', 200, 180, 'Instance Specification',
  186. '1ZXLTsMwEEW/xstKrl0qtn1AV2wAibVJpomFExvHfYSvZxw7SSNSqUVIwKKqfccznvG5UghfFceNFSZ/0Ckowu8IX1mtXVgVxxUoRRiVKeFrwhjFH2H3Z6LTJkqNsFC6SxJYSNgLtYOgEDZXmLo0KFeuVkGev+98S8tC2EyWhC+oOXbbidMGpZtGcnB0E6Fk5k8l2AbYVk0h0VY4qX1oV6ZglSyx/rKvj6us+ecLvP+5NjBtG8qtH6ONRxEl02ts0DOrcmH80kLSFHAFvu96iku9B7tV+oDbrcQH4ctDLh08GZH4hAPyQK1yVr/Bi0xdHvOw0s5Wcg+PUMkPf5R2F2NJnPIsh0aKEDagC3C2xiOHWN2zoIEVzUFmeZt2G0VRBSHrcnusuIhkxynzP0pZlpUTZeIZ0wYuNVYbfMd62huA/Z4BLgLLxsG2CRFfHUnE7Qn2jvAA++wHsM/+OHb2BTtrsIceX09xeyPwK4zw3TFnp5KCreu0weghMjJa718czV9KvQFGBuonbg/2xQKw09r/wupsaPX5iNXnY1an11sdt/03sokNPqGf'),
  187. this.createVertexTemplateEntry('shape=rect;html=1;overflow=fill;whiteSpace=wrap;', 200, 160,
  188. '<p style="margin:0px;margin-top:4px;text-align:center;text-decoration:underline;">' +
  189. ': Type1</p><hr/>',
  190. 'Instance Specification', null, null, this.getTagsForStencil(gn, '', dt + 'instance specification').join(' ')),
  191. this.createEdgeTemplateEntry('edgeStyle=none;html=1;endArrow=open;endSize=12;dashed=1;verticalAlign=bottom;',
  192. 160, 0, '&lt;&lt;stereotype&gt;&gt;\ndependency1', 'Dependency', null, null, this.getTagsForStencil(gn, '', dt + 'dependency').join(' ')),
  193. this.addDataEntry(dt + 'reference association', 250, 0, 'Reference Association',
  194. '3VRRa4MwEP41eRlMoq6UPda269Ng0F+Q6lXDYk7OtLP99Yuaap11jMJg7EHIfXffJfm+eCxc5tWGRJG9YgKKhWsWLgnRtKu8WoJSLOAyYeGKBQG3HwteJrJ+k+WFINDmJ4SgJRyFOkCLiLLEWAojUbtupTkplzwCGRkLtVAy1RbaoTGYszDKTG7PvvLtEnSyIMIPG2IBukW28ly38IM6TFLYup5IJsMUtVDrHo3afeu6yWs1kLvTBjAHQydbQqDs0Y9DnijbMO3qOuobStuxLynxQDE49Fq3S2HldJvxYW8jKAUzItrF1fl6qLHhtiXhyBLueWMrCEp5Frsm5EMHhHNHwd6qFX01zWBhUSV2oCIRv6eEB50sUSHZpEZdO7BHbS6euZvGqDXExm3ZvSxet4dq0qjgtlGO8OgYP/ZtIOw3Kj6NVGTzCCkBgoTNbcx9z3u4R1WSafbXZeXe8y/pOhvpWpD9zcmc7nqiU2J2g+Wf6WnDfri3w+F69n8C'),
  195. this.addDataEntry(dt + 'reference association', 250, 0, 'Reference Association',
  196. '3ZVRb4IwEMc/TV+WzFSYM3sUdD4tWeInqHBis9IjR3Xop1+BDmTIYoxLzB5Iete74/r7H5T5YVosSWTbN4xBMX/B/JAQTb1KixCUYh6XMfPnzPO4fZj3OrA7rnZ5Jgi0uSTBqxP2Qu2g9og8x0gKI1G7ark5KLe5BzIyEmqmZKKta43GYMr8YGtS2/t8bJeg4xkRflpTo4bSEyewckWQzBYT1EItWm9Qv6iMGzxH5XKHWAKmYOhgQwiU7XXfzRN5bSZNXJP6jtJWbENy3FEEznsK6juwcKAmvFvbCErA9BLt4qS/1lVxP6+B39OgD54gl0exrkze5S2cFgo2FlXwUyKDmfUqsQYViOgjIdzpOESF1Aq0QW1W8lgWH7tjRqg1RMa9spkjXpaHYlAl77xKLuHRZVwsWofqLwifeggzwsy2evBuiLKZ9n9Oc9KjyaYBUgwEMZtam/PR6OEasCST7b0PKR+9/BHX58EpveqDH4J5Z2N6M57WbC/G+j97em9+AQ=='),
  197. this.addDataEntry(dt + 'part association', 250, 0, 'Part Association',
  198. '3VXLasMwEPwaXQo1st0QeozzOhUK6Q8o1sYWlbVmraRJvr6yrThO3ZQQKJQeDNrZ3Vlpxkgsnhb7JYkyf0EJmsVzFk8J0barYj8FrVnElWTxjEURdx+LFleyYZPlpSAw9paGqG3YCb2FFhFVhakSVqHxbJU9aJ/cAVmVCj3RKjMOWqO1WLA4yW3h9j4L3RKMnBDhhwuxBNMiK3WsKcKoDmUGK8+JZHPM0Ag9P6NJZQXZhdInyibuUzTAaYpUokAj33JVD2v3XM+4KkkDeT2WgAVYOrgSAu2OvbvsE1UbZl1d1/qKyjGeSyrcUgoe7Wt+Ktx7zUf8ktsdJgM7aHSL3v7OUGPh93bGAzt5EAxtJKjUUaybkF+6J7yzGjZOreSr4RZLh2qxBp2I9D0j3Bo5RY3kkgZN7d4GTWeWP2mKxkBq/cjur+Q1PeyvGhV9b5RveOTBc9tzs3MX0v6g49NARzZOkCQQSDZ2MQ+D4OEeXUll+V8X9vd0HQ10LcldEmQPd/2k18TsrqV/pqcLz09Dez30X45P'),
  199. this.addDataEntry(dt + 'part association', 250, 0, 'Part Association',
  200. '3VXLbsIwEPwaXyoVmaQU9Uh4nSpVoj9g4iWx6nijjaHA19ckJoGmqRCiEuohkne8s17P2DELx9l2TiJPX1GCZuGUhWNCtNUo245BaxZwJVk4YUHA3ceCWcdsv5zluSAw9hJCUBE2Qq+hQkRRYKyEVWh8tcLutJ/cAFkVCz3SKjEOWqK1mLEwSm3mep/03RCMHBHhpwsNGjggMoGFL4JkU0zQCD1t0KiwguxM6WONMl6o/YHRD47AsaxUIkMj31PleoiqJg9rdGpQQl6AOWAGlnYuhUC7fW7OeaKowqTOq6lvqFzFJqXANcXg0VORj4lbL/KAn9d2m0nAtohucNJfA5We/exf2PKvbRpBofZiWYb83CvhfdSwclJF3+21mDtUiyXoSMQfCeHayDFqpMbcFZraKb/NGI2B2Pol6zPID+Vh2+lS8LNLnvDIey8V52LbznT9RcSnlog5Ye6a3QU3FLO+K/9ez0FLTzaMkCQQSDZ0Mee93sM10pJK0ns/qH+n63PnOb3q0neJeWcH9WZ6urB5WKt/7em7+wU='),
  201. this.addDataEntry(dt + 'shared association', 250, 0, 'Shared Association',
  202. '3VXLasMwEPwaXQo1st0QeozzOhUK6Q8o1sYWlbVmraRJvr6yrThO3ZQQKJQeDNrZ3Vlpxkgsnhb7JYkyf0EJmsVzFk8J0barYj8FrVnElWTxjEURdx+LFleyYZPlpSAw9paGqG3YCb2FFhFVhakSVqHxbJU9aJ/cAVmVCj3RKjMOWqO1WLA4yW3h9j4L3RKMnBDhhwuxBNMiK3WsKcKoDmUGK8+JZHPM0Ag9P6NJZQXZhdI1JT/FfYoGOE2RShRo5Fuu6mHtnusZVyVpIK/HErAASwdXQqDdsXeXfaJqw6yr61pfUTnGc0mFW0rBo33NT4V7r/mIX3K7w2RgB41u0dvfGWos/N7OeGAnD4KhjQSVOop1E/JL94R3VsPGqZV8Ndxi6VAt1qATkb5nhFsjp6iRXNKgqd3boOnM8idN0RhIrR/Z/ZW8pof9VaOi743yDY88eG57bnbuQtofdHwa6MjGCZIEAsnGLuZhEDzcoyupLP/rwv6erqOBriW5S4Ls4a6f9JqY3bX0z/R04flpaK+H/svxCQ=='),
  203. this.addDataEntry(dt + 'shared association', 250, 0, 'Shared Association',
  204. '3VXLbsIwEPwaXyoVmaQU9Uh4nSpVoj9g4iWx6nijjaHA19chJoGmqRCiEuohkne8s17P2DELx9l2TiJPX1GCZuGUhWNCtNUo245BaxZwJVk4YUHA3ceCWcds/zDLc0Fg7CWEoCJshF5DhYiiwFgJq9D4aoXdaT+5AbIqFnqkVWIctERrMWNhlNrM9T7puyEYOSLCTxcaNFAiMoGFL4JkU0zQCD1t0KiwguxM6bIGP8YLtS8Z/eAIHMtKJTI08j1VroeoarJco1ODA+QFmANmYGnnUgi02+fmnCeKKkzqvJr6hspVbFIKXFMMHj0V+Zi49SIP+Hltt5kEbIvoBif9NdDBs5/9C1v+tU0jKNReLA8hP/dKeB81rJxU0Xd7LeYO1WIJOhLxR0K4NnKMGqkxd4WmdspvM0ZjILZ+yfoM8rI8bDtdCn52yRMeee+l4lxs25muv4j41BIxJ8xds7vghmLWd+Xf6zlo6cmGEZIEAsmGLua813u4RlpSSXrvB/XvdH3uPKdXXfouMe/soN5MTxc2D2v1rz19d78A'),
  205. this.addDataEntry(dt + 'multibranch part association', 250, 50, 'Multibranch Part Association',
  206. '7VbBbuIwEP2aXPZQBbts99rQwqnSSt0fMPGQWHU8kWMo8PU7iU1oGiJStbS7UpGQPDOZ5/F7eeCIz4rtwooyf0AJOuL3EZ9ZROdXxXYGWkcsVjLidxFjMX0jNh+oTppqXAoLxo1pYL5hI/QafEZUFaZKOIUmoFVup0NxA9apVOhbrTJDqSU6h0XEk9wVNPvdhJa0gSorakhWSusZarRNM4+bD+UrZ/EJTlXCNLQLbAdP1KTCcRaABTi7o0cODYz7lp2PQ/SspMt95tpnclBZ7jopUfkwa1GP1NEisHeaSd5jsrRY0kl2fRpBZvAYQtBLfL4/JrpUUo3WOVq1R+MEFRIRuLd+/GRQEzDy1toGwKCpoS2ujYR64JpsLZagE5E+ZU3+oEd41g9dT9oRosK1TaHz8rxBG99gQdP7tekCn+I+AP1GRfgtCpvGHYWnXQAnbAYu9LzSrx1plKTXPUnjq6sfPTUtVGovlk0YdwU8p5XD8qwQKxL+Ue1r9MlY2VI0BlIXhmp/Bc45i3+oemOdMx10Dnu3cw6Ef/vmhG/iSxnn5z9onPf4YvolvrgZ9AW/hC80rMbaQipRoJF/cmV67qDH5kq3+xl5kID9j9a59F/Mr57G/dvCCJsMaPe5Lrn5DJdQeLwde8JfXp7/Ag=='),
  207. this.addDataEntry(dt + 'multibranch shared association', 250, 50, 'Multibranch Shared Association',
  208. '7VbbToQwEP0aXnwwbOuqr7LqPpmY6A90YRYaS4eU7vXrHWjZFVkiZl0viSQknZnOYTiHExrwSb6eGlFkD5iACvhdwCcG0bpVvp6AUgELZRLw24CxkO6A3fdUR3U1LIQBbYc0MNewFGoBLiPKEmMprETt0Uq7Ub64BGNlLNSNkqmm1AytxTzgUWZzmv12REt6gCxKaojmUqkJKjR1Mw/ri/L+mYQF696565QfegqYgzUb2tI0MO5aNi720UomNnOZC5fJQKaZbaVE6cJ0h7oniBaeo8N88Q5fhcGC3mTTJQuSFJ58CGqGq7t9ok0Y1WidoZFb1FZQIRKeYePGj3qZB53cGFMDaNQVtMGFTqAauCJbiRmoSMQvaZ1v9PB73dDVpC0hSlyYGFqfyCe0cQ0GFH1FyzbwIe490CNKwt+hsHHYUnjcBrDCpGB9zzv9diMNkvSiI2l4fn7WUdNAKbdiVofhAYHeCPpeK4vFh0LMSfgnua3QR0Nli1FriK0fauf1j5zFv1S9oc4Z9zqHHe2chvB/3xzwTXgq41z+QuMc44vxj/jiqtcX/BS+UDAfaotEihx18pxJ3XEHbbuX1Ts1USMB+4vWOfUv5rqjcfe00GcTL9ivccnVd7iEwv0Z2BH+9oj8Cg=='),
  209. this.createEdgeTemplateEntry('edgeStyle=none;html=1;endSize=12;endArrow=block;endFill=0;',
  210. 160, 0, '', 'Generalization', null, this.getTagsForStencil(gn, '', dt + 'generalization').join(' ')),
  211. this.addDataEntry(dt + 'multibranch generalization', 140, 50, 'Multibranch Generalization',
  212. '7VXLbsIwEPwa350Y2l4hPE6VKvEFBm8TC8eLnOX59XViF3AFag70UIlIkbyzu5P1TCwzUdSHuZOb6h0VGCamTBQOkcKqPhRgDMu5VkxMWJ5z/7J8diebdVm+kQ4s9WnIQ8NOmi0EJAANHU0EduBIr6QZGV1aDy2RCGsmxhXVft5J5peeVG8a3zD+1MYUaNB1zYJ3j8cbcriGW5k4gf8KHO7uooPiFuaANZA7+pLY8PIWOo5xUyKEe62oCtAgIBXosqIEkk0IyzPrRS6/iIrdVk/8rh6oEhYxBLPE/fQCJApatdCntirLQzhyDvet3gZX6wDNdDvKhHeKL7tshU6f0JL0ibHDrVWgYkmYpR0gkbXBrVtBYn9/pSOHAyNJ71LiW0pGog/Unv/M8srTDpKuBIpFP+Q/z9DLkcEDHYkKf///Hrp7FK7ssmjhH1mRDXhydoZ/Zs3waU1Pax5thQ8vN0oov75wvgA='),
  213. this.addDataEntry(dt + 'generalization set', 140, 50, 'Generalization Set',
  214. '7VXJbsIwEP0a37NA6ZWE5VQJiS9w8JBMcTJoYtavrxO7QApIOdBDpUaKNO/Nouc3jiLitDzOWW6LD1KgRTwVccpExkXlMQWtRRSgEvFERFFgXxHNnmTDNhtsJUNl+jRErmEv9Q4cI0aJwvqT0A4YTVy6Nift07Ydt7UFSWFKK3cS2nCNWqekiduaOGgfy9eGaQOPMlpmoBdUo0GqbI4xL6zgRGrMG6xh3UCvDtjA8ekJW8ofbw5UguGTLfENb++u4+QPHDt4QGUKRw0cU4DTcEPJ2sH8MvVqpQ28m4+dje+dvfNS5bD0EHRGh+mVuLUXKrXEc1MVRg6OmelgcaZptXHUDBspk8bcdpaNC2I8U2WkTSRMu0qB8iVOSyOgY2tNO15B52r0d9rPYNDS4L47+JGTftCivWqXKaOg22Ek52B80Q/7Lxp6bWTwwo14h5ubiavW3+9w7G9wRsZQ2V1XRRX8oVWEg6Dz7Qx/bTXD/9X0XM2rV2Hh9W/jym9/Rl8='),
  215. this.addDataEntry(dt + 'generalization set', 150, 80, 'Generalization Set',
  216. '5ZXBboMwDIafJncITPQ6YO1pUqU+QVo8iGYSFFIGe/oFErUwilYxqZceEPlt/5blT1FIkJTtTrGqeJcZIAneSJAoKbU9lW0CiIR6PCNBSij1zEfodiHrD1mvYgqEvsdAraFheAYbsYFad+gCkOVwcFJIYX5xoUszaeqbI4jsVSn5ZeQR5enThrYc+wLPqgP/7s0+NdK273suTjyE3Lg7kCVo1ZkSBcg0b6Y+VluZX+ou1r3kpiP1Wmfwpg7NVA7aFY03tODrrNz8alPLszrBrI05jIa/hob130YRPA2KcCWK8FEowqdBEa1EET0KxcscRRTLBhSyquIiJ1G6no1LZqwuIHNpZEfAvay55lKYmOJ5YRDEDHnea4QP/S9i7cSwll93+yotLH7GbzPld+eN/JufkdfHy5aP37Yf'),
  217. this.addDataEntry(dt + 'block namespace containment', 140, 70, 'Block Namespace Containment',
  218. '7ZXPjoIwEMafhjtQ192roOtlTUx8gmpHaCyMKfUPPv0OtKJ1McvBwx6WxKTztfMxfD8MAUuL81zzfb5AASpgs4ClGtHYVXFOQakgDqUI2DSI45B+Qfz5ZDdqd8M911CaIQ2xbThydQCrWKEytXLCEbSRG64mSmYlSWs0BouAJbkpaN5pREsylfuKGpKtVCpFhbptZmF7kV4ZjTvo23ET0F3g/PQpWsk9whywAKNrOuIaxh+2o7Ylc+VJCpNbaWSVHGSWG0/ilS2zzvUWFy1cYv3psd/TA5HBypWg1nia3QQvwVKs5KU5FcW2nGiNJ6qrulp8Lflml2KTRtK6kJ6jlheSOFkkGg+lgGasJlLuUCnYNh2PBAspBN2/HbWZz0u9woPegPd2DAfhPDQobuTRN+4L2hktUZJ/5/IeejijsW9guM7AuJ4HWN1Ig/iNXsjPUblm3RN798e5g1tiCT/w/V0y0chHcyX1ejRv/2gGonk1Cipv3x97/P7z9A0='),
  219. this.addDataEntry(dt + 'participant property', 400, 140, 'Participant Property',
  220. '5ZfbbtswDEC/xi8DWviS2x7tZOvLBhTrFyg2YwuVLU9WmmRfP+qW1LfBRdKhQB+aiqTpkEekqHjRujw+CFIXP3kGzIu+edFacC7NqjyugTEv9GnmRRsvDH3888LvI9ZAW/2aCKjkFIfQOLwQtgejSRhPn626kSdm1U1BarUUkOKLk0KWGOsmwOWOV/LJPqjkQ0ElPNUkVYoDZoY6wmheoZhiWCBQYb8WhITjaOhaZeN+AF6CFCd85EAzWZgn5iY7vwCaF9bLZuyTxsj52fPCARcWxTCWaBhL8JGxWIfIMfkPmGY9TF64YApE3cK0+L1XBZ2UROQUE479+ngW7yRHFvFMqzBveWexxK+wuDfgKrf/9fdsnSJuGp5KSiTlVeCsGP+261EIlV5Hiaq6q3tLCgx2aIxXb82BlKoMWF/C/ZY0pTXBTXeGtpOVfG+ZQJWphQrTrwWvsXxUQQTeUmsCbYzxUxextjh8HRjvGk9o4wl78YTD+zC51zh2zI7xA4o7qqp1sNtu0FyukU5GXPRbLfIHem11g16b93pNl/y54juwIMvBHT8Vr6ANDHcoFkIDs0aFhaaExfZI2nIpeXmmpl7XYtbwvUihNUQk9gLI1gE6gawAhim8tN9+DahFD5SrwYGphhVCq/yHbt9N1IbkTmfT3OOEGNkCe+QNVTuh6tNsvNEnJH3OBd9X2ZozLi7A9Xygf/R4sOWR8qrC2iZbF54/qWTn/yzZO+txc87LHueB8XgFXz0WPivc1WgRj0L+Zc+bEcoO3OQyttvyMUC/F+ev/RvMMuEiAwGZGVf+/f2XGyMfruxPwdsF3boyXjm6MtIUkFnzhHE1u/1ssq6PnKr7kYMY+u3rQtC5BpiBaZ06DM9RDGFF8fIT0Tz++hfkXw=='),
  221. this.addDataEntry(dt + 'participant property', 400, 260, 'Participant Property',
  222. '5ZhLj9owEMc/TS6VWOXBY/cYoN1LK612Dz2bZEgsnDh1HB799B07NmxIQEHQ7lYcAHvMmJmf/3hGcYJZtn0WpEh/8BiYE3x1gpngXNajbDsDxhzfpbETzB3fd/Hl+N9OrHp61S2IgFz2cfBrhzVhFdSWKePRyphLuWPGXKakUEMBEW48TWWGsc49HJZS8BX8pLFMjWXJc/lmXNV8k1IJbwWJlGGDuaKNMJrkOI0wUBBoMIGAkLA9mYw2mUyegWcgxQ6/sjE/jqujOl83BZqkxsswcElZz5O954EMDgycblBBNyjv/wJlHAJL6R+AG7bAOf6YKTRFA9z4V6VEP82ISCgmHLrFdj8dSI4swqE2Yd5yYLCE77DYHXCUmE/9OwtrCMuSR5ISSXnu2VWMf3Hsgbbi2JYKlfKRsVcKl8ZLrQEFU0WyEvAuLno+1ivEyFFSS8Y3OF1SdZydcsSdKlHSNbxCSX+rBfc2mrRa29XTcVuhwbhDot7oBhodfaRGSaa4svYM2Uka0YIgQLvQdGrKvCHQyRTyGIPXcbuF4AUejsLtO5N5t8tZozUUvt40xHd9Aeode/+VesuzLcaYlCnEZy7KXhocXqLBjlvS67omH28gwfEdSdC7UoJeS4IX3OafXILe08dpcNLSoK6Y+4J5hA7iBGz3kvMcmvjw7EMhND6zqLjQiLDQdDQLLiXP9tjUdg1oJa9EBI0+VaLMQTY6sh4VRgDDFNbN3a8B9dgCZdXd0TijRGiefIelCjJoQrLNHdOrpwkxsgD2wkuqTkKptT742j4l0SoRvMrjGWdcHIDr9rIu0p6RR8TzHJVOFjY8t5dmJ2c1OzAeN+f81OLc0W9fwVdfl/cK10bdoeKTlF/NhXMCsyXXW8fmXD4H6b8G2mvX9smUixgEVhNVCl334eHLjZl3a/s+gLefalxdvBq1v0fBGt6+OhnXF05VN3boWZsNg3fUCNQl0zgdMdxH0YUVp4fnUPXX3z+m+gM='),
  223. this.addDataEntry(dt + 'participant property', 400, 80, 'Participant Property',
  224. '5ZZfT+MwDMA/TV+QDvXPxu4e18Hxckjo+ARZY9qINK7SjG18etwm3ShpUREDIfEwLXbi1P7FjhMkq3J3rVlV3CAHGSRXQbLSiMaOyt0KpAziUPAguQziOKRfEP8dmY3a2bBiGpSZYhBbg0cmN2A1qcTswalrs5dOXResaoYaMto4LUxJvl5GNLxHZe7cwkbeFsLAXcWyRrGlyEjHpMgViRm5BZoU7rOgDexGXW9Vzu9rwBKM3tOSreCmsCvmNrqwAJEXzspFHLLayvnB8siBBg7FMJZkGEv0nbE4g6Rj8gWYZh6mZV1jJpgRqN4D6wRxRzMX0N7KFz6GKP4kDnOPgxc78By6dFCo6C8FxZda4/ao8Yg0Vj0eNW50Br3aNUznYHp5O4GaBkmn9Njf/SMMLjwGlcaKTnQ/cJlQGQiV/4P7xsmkH3lXFLKdTZukEBmTS6deozFY0oRka5C3WIsm2Zqssmdq9SnLHnKNG8VXKFEfEbdlKZ7aqnQnn6FSlJFs3bkXTkrH+Zvp+MtZnJzzwuM8UGgf4Guw+rlwf48m8Sjk/+4qGaHcgZucxu5Yvgfoz+L8x78wFylqDhp4sCA5DM/Pz06MfDizfwTvzul3dqgXcP1mxVldAJ/erman703O9BYF7XiASMnTewlErzq8bZjO6BXDgxdDWEk8vszt8pcP92c='),
  225. this.createVertexTemplateEntry('shape=rect;html=1;overflow=fill;whiteSpace=wrap;', 300, 80,
  226. '<p style="margin:0px;margin-top:4px;text-align:center;">' +
  227. '<b>Assoctiation1</b></p><hr/>' +
  228. '<p style="margin:0px;margin-left:8px;text-align:center;">&lt;&lt;participant&gt;&gt; {end = property 1} p1 : Blcok 1<br/>' +
  229. '&lt;&lt;participant&gt;&gt; {end = property 2} p2 : Blcok 2</p>',
  230. 'Association', null, null, this.getTagsForStencil(gn, '', dt + 'association').join(' ')),
  231. this.createVertexTemplateEntry('shape=rect;html=1;overflow=fill;whiteSpace=wrap;', 300, 80,
  232. '<p style="margin:0px;margin-top:4px;text-align:center;">' +
  233. '<b>Assoctiation1</b></p><hr/>' +
  234. '<p style="margin:0px;text-align:center;"><i>structure</i></p>',
  235. 'Association', null, null, this.getTagsForStencil(gn, '', dt + 'association').join(' ')),
  236. this.createVertexTemplateEntry('shape=rect;html=1;overflow=fill;dashed=1;whiteSpace=wrap;', 150, 80,
  237. '<p style="margin:0px;margin-top:4px;text-align:center;">' +
  238. '&lt;&lt;participant&gt;&gt;<br/>' +
  239. '{end = property 1}<br/><br/>' +
  240. '<b>p1 : Block 1</b></p>',
  241. 'Participant', null, null, this.getTagsForStencil(gn, '', dt + 'participant').join(' ')),
  242. this.addDataEntry(dt + 'connector property', 400, 250, 'Connector Property',
  243. '5ZhLb+MgEMc/jY+RDE6z6TGPbk8rVe1Keyb2xEbFxovJaz/9jg12bONUadNN1e0hCQwMjx/Df0S8YJHu7xXLkx8yAuEFd16wUFJqU0r3CxDCoz6PvGDpUerjx6PfT7SSqtXPmYJMn+NAjcOWiQ0Yi0cnAl3nOZoLfRDGPPm9KZc0T5mKeeYFMz/fN9WRljmaxpVJw16PmOBx2SvEZYBC63EELMX2t5pnVRvmQobPpDbjklf9rokqN9Izoinv216/9tGkbROwRocZ8d0dmabh/bAUh5oLtxbKLINQS9WYuy625oe4fR8nwe9ZUciQM81l1jBZ9fZ/+Xx0aD56Pd7DwbKWmR4V/A8cz+B0/PDaUGi1CfVGQWul/OXV0866aZGwvCwqZFduX6d4H5cEi3ILai3kDqtrjhcomO8SruEpZ2HpsMP7a1Ygn+EXj3Ri/XCkjSr4Fh7B7GfpNxPjkLj9k/e2MtlLew8yBa0O2GVnR8fWsW/utp8AjxPrRm+skRXGEDe+RxnAglWCYVUIHFXISRUmE48GpNzCz0MO5BUAyyN9sh3JCXw2DpYt0TiDEx3mZB2s/PkH618ja2GcDlAcvwPEsQuRuhDpJ4AY+B9H8cahGJIhhexBhCiGGlUmM+iChCyaKVVdZ9tY8uEhEzOLbyW1lmmDrxzuZXg4u9yoEDoXSKPkgW6Fg4tYgcAtbLujXwJs4gAbuKcYMzyLH+1RBV06dQgp03yajWArEA+y4OUZYIPNjZV5zsLnWMlNFi2kwETUkK6C2GghsfFh0xVb1evzzwramxeD1jq8O99vDt8hIbwIcJUivybdqSuagSuawScQzX7mmVxPM29diGMX4vgTQHQyzxUp1ven8za6MM28LZtM3Wxye6VsQsiXSSfG/eqKR9wn+P+ZUD6Kr/uYCenQm/dsMfwXQkfGXaFr1KcldIQOvffeQ+ncp8rFShexIoHINr9N9szJXSBy1vVBcpyllZh7OWXaQ2h01nr1KDbLGAKL1eM/d6Z7+4+9vw=='),
  244. this.createVertexTemplateEntry('shape=rect;html=1;overflow=fill;whiteSpace=wrap;', 200, 120,
  245. '<p style="margin:0px;margin-top:4px;text-align:center;">' +
  246. '<b>Block1</b><hr/>' +
  247. '&lt;&lt;connector&gt;&gt; c1 : Association1<br/>' +
  248. '&lt;&lt;connector&gt;&gt; c2 : Association2<hr/></p>',
  249. 'Connector Property', null, null, this.getTagsForStencil(gn, '', dt + 'connector property').join(' ')),
  250. this.addDataEntry(dt + 'internal block diagram', 300, 100, 'Internal Block Diagram',
  251. '3ZbBjpswEIafhuOuwGxS9QhJu5f20q3UXg1MwIrB1JgE+vQdYzuAnGxXaqSqlYKC/5mx8TfjgSDe1cOzpG31WRTAg/hDEO+kEMrc1cMOOA9IyIog3geEhHgF5OMNazRZw5ZKaNRbAogJOFHeg1ECsuUYmrYod2rkRt7+6PUjpTWVJWuCOAnb4TJ8UKJF6WkpcTigfxIZPwWDeqCclTrUmNJ5Urwr7f+0dOYElhVOwy1ks19ofikX+TFauLSzC1k9P6lUjXD3Edo6JcURvrFCVU6paKv96qHUmXjsxq7mjy3Nj7REPeU0A/5dO4chDu1G9nYjHTqypvw0jdAFpcVq4gTywMUZhweG7OP0XDEFLxiklzzjgt4z6Skk5L3s2Am+QMd+glVtukAi0ZspnySb72cQNSg5osvZzo7WODRlEVbAysqFOZF2RigvsXMF4Y0tousFFXsF1SKFBPMSkHhi83VsIfLy41KA21ZrgAfRqBfrGN3A5zKSIwOQb+VErnNyARsTMTpkZrigGF2juLkDxCcfIvEhkn8B4vvwr1HceBRzXYrULz69RZZTnlgCmVBK1GuC0BSJlNM5bkSjuwIUJTimVjIza8PrvHB10cscVmdGYecEtagAn6oEThX2hNXsf8Jo6zHy6UjdgGjGXQ9aQHElI03m0psgpw6aYkMtpeibYie4kDO2qTpNk4ts4nPRNFjFdtnLe+x31bh5vRpNwN0pvvPPa3xPjNP79f9iiMP5K2eyrT6CfgE='),
  252. this.addDataEntry(dt + 'property', 300, 120, 'Property',
  253. 'tVTLbsIwEPyaXCqBnEcR1wAt6qGXUqlnQ5bYaoJdx5CkX981dggpQUqk9gDsjr2v2cFeuMyrtaKSvYoEMi988sKlEkJbK6+WkGVeQHjihSsvCAh+vOD5zql/PiWSKjjoIQGBDTjR7AgWsUCh68wBBaPSmAp2mHLBdI5drnw0C63EJ3zwRDNEAkRKxjVsJN2ZgBKnurll4jDTURX8BG9Q8G9zlSDqOgGlobo7zRlyo6xB5KBVjVdKlx1PQ2InJgx4ypowRwOhhQXSS2xLDhqOn36uwh6uZpnhRHYYm30dzfoWOVUpP3hhTGR1cSdaIClxdA0p26gDcXw9oRlPTag7WuzFQU8sWbFv87WF0ErNL5lOH5qWcBjZ4KPa7JTfIfGgeos1SbcNIHE3uMcYv99rCf5VJ9vfQUwZ1h1YXeJesFqK9YyPHZKof5rBAhWopn0mSnT33Ox1oGTd+Kur8QdoM+jXpgtoFFh33Svl+lGPcud/INzoRrjKbxc15h9vZLhxF42f0IJBMuo5+A9u/XmX3LCH3L5n4XE8uei2r/P5rPN4/wA='),
  254. this.createVertexTemplateEntry(s + 'package;html=1;overflow=fill;whiteSpace=wrap;', 300, 135,
  255. '<p style="margin:0px;margin-top:4px;margin-left:10px;text-align:left;"><b>idb</b> Block1</p>',
  256. 'Package', null, null, this.getTagsForStencil(gn, '', dt + 'package').join(' ')),
  257. this.createVertexTemplateEntry('shape=rect;html=1;overflow=fill;whiteSpace=wrap;align=center;', 100, 80,
  258. '<p style="margin:0px;margin-top:4px;margin-right:4px;text-align:right;font-size:10px;">' +
  259. '0..*</p>' +
  260. '<p style="margin:0px;text-align:center;">' +
  261. '<b>p1 : Type1</b><hr/>' +
  262. 'x : Integer = 4</p>',
  263. 'Property', null, null, this.getTagsForStencil(gn, '', dt + 'property').join(' ')),
  264. this.addDataEntry(dt + 'property', 250, 160, 'Property',
  265. 'tVXJbsIwEP0aXyqBHBu4s7Scemmr9mxgSKw62HUMJP36TuKsVUBBpYck4zeefZ5C+DJO11aY6FnvQBH+SPjSau28FKdLUIowKneErwhjFB/Cni5og0JLjbBwcEMMmDc4CXUEjxA2U2i6MAgnLlMenn0d85QWsbChPBA+pyatjyOnDUKTNmRlGLkadJC6kVAyzE1L1WKvD26UyG+MMA+8vyYQSmH+pePxQ5USlmEq/KY0O+G32BqwvcEM9o/iFXy/ZQaCKkhk8w7+itzNhnXyYEkkTC5a2BYOXIyjXQUo6hPYvdJnPO4lzoIvzpF08GrENjc44yogljirP+FD7lxU2qGno03kCV7A92xF68DoEku8uAIFVM5/DToGZzO8ci6952sw9WtCI/DDKcxmJSgSD4S1bbNRKJRL1b9g/O4LNnSYVZxNPV3emS5vDXJzfbhXtqC/ip7Vvn9hsgLkQTop1Hve46RVgRxS1R95rmDvmiI7JXhVTwGppxmGo9MxrefUbm/K6iuNvdM7kXXc/T8RBxGM9ROsNOAljTJ/rKjWol8w6aMfvZ1+eGz+HYWu82v5AQ=='),
  266. this.createVertexTemplateEntry('shape=rect;html=1;overflow=fill;whiteSpace=wrap;', 100, 100,
  267. '<p style="margin:0px;margin-top:4px;text-align:center;">' +
  268. '<b>p3 : Type3</b></p><hr/>' +
  269. '<p style="font-size:10px;margin:0px;margin-top:4px;text-align:center;">' +
  270. '<i>initialValues</i></p>' +
  271. '<p style="margin:0px;margin-top:4px;margin-left:10px;text-align:left;">' +
  272. 'x1 = 5.0<br/>x2 = "today"</p>',
  273. 'Property', null, null, this.getTagsForStencil(gn, '', dt + 'property').join(' ')),
  274. this.createVertexTemplateEntry('shape=rect;html=1;overflow=fill;whiteSpace=wrap;', 300, 70,
  275. '<p style="margin:0px;margin-top:4px;text-align:center;">' +
  276. '<b>p1 : [Type1]</b></p><hr/>' +
  277. '<p style="font-size:10px;margin:0px;margin-top:4px;text-align:center;">' +
  278. '<i>values</i></p>' +
  279. '<p style="margin:0px;margin-top:4px;margin-left:10px;text-align:left;">' +
  280. '&lt;&lt;normal&gt;&gt; {mean = 2, stdDeviation = 0.1} x : Real</p>',
  281. 'Property Specific Type', null, null, this.getTagsForStencil(gn, '', dt + 'property specific type').join(' ')),
  282. this.createVertexTemplateEntry('shape=rect;html=1;overflow=fill;whiteSpace=wrap;', 100, 70,
  283. '<p style="margin:0px;margin-top:4px;text-align:center;">' +
  284. '<b>p2</b></p><hr/>' +
  285. '<p style="font-size:10px;margin:0px;margin-top:4px;text-align:center;">' +
  286. '<i>values</i></p>' +
  287. '<p style="margin:0px;margin-top:4px;margin-left:10px;text-align:left;">' +
  288. 'y : Integer = 5</p>',
  289. 'Property Specific Type', null, null, this.getTagsForStencil(gn, '', dt + 'property specific type').join(' ')),
  290. this.createEdgeTemplateEntry('edgeStyle=none;html=1;endArrow=open;endSize=12;dashed=1;verticalAlign=bottom;',
  291. 160, 0, '&lt;&lt;stereotype1&gt;&gt;\ndependency1', 'Dependency', null, null, this.getTagsForStencil(gn, '', dt + 'dependency').join(' ')),
  292. this.addDataEntry(dt + 'property', 160, 0, 'Property',
  293. 'zVTBboMwDP2aXCatgjDtXmjX06RJPeycggtRQ4yM29F+/QJkpYx2qqYddohkv/g58XtRRJSUzYpUVbxiBkZESxElhMh9VDYJGCNkoDMRLYSUgVtCvtzYDbvdoFIElu8hyJ5wUGYPPdIDNR+NBw5ArFNl5kbn1kEbZMZSRHHBpbvvInQh2GxOhB8utWihRbIc1r4JEheYo1VmOaBxzYQ7eNcZF65GOqQ/umXenKaD/CgrwBKYjq6EwCjWhzFP1X2an+vO1DfUruNQUuOeUvDopVxfhY3v/ByMe7OiHHhCdMHF/QaoU/+6E9HEiXBiBUGtT2rTpcHYAeXdMbB1UsXfTWOsHGrUBkys0l1OuLdZggZpsGyLltf61DYP/ZgpWgsp+yPPrylo20Nz0yV53SVPePSMu00bqfqDhE8TCYPZ7OE3KpLOi/8u4x+p6NLhu+nf7eVv9Ak='),
  294. this.addDataEntry(dt + 'binding connector', 160, 0, 'Binding Connector',
  295. 'zVSxboMwEP0aj5XAVNlDknaqVClDZwcuxorxpceRknx9DbgQmqTKkKEDku/53jN+72SRLMrmldS+eMMcrEhWIlkQIverslmAtUJGJhfJUkgZ+U/Ilxu7cbcb7RWB43sIsicclK2hR4ScqXIvktR6gXRawWet7ADpSUOoWrWKjzaoHYDYZMrOrdHOQxtkxtJ3Flz6yy7jVtXlcyL88qVDBy2Sa1gHESQuUKNTdjWiacWEO/gwORe+Rw5Ht8ybVnRQ8OEVsASmo28hsIrNYcpTVV/qoW+gvqPximNLhTVlENBzr38am6A8i6barEgDXxD94uz/RqiL7nqMyUWM8UUUBJU5qU1XRtMEVEjHwrZN8XdojN0EqA3YVGU7TVi7fIEWaYxsi47X5tSKx+GaGToHGYcjh1GMWnlobqYkr6cUCE+BcXdoE1f/sPD5MRaS0cV/9/BBFvpyfKj6oT1/x74B'),
  296. this.addDataEntry(dt + 'bidirectional connector', 160, 0, 'Bidirectional Connector',
  297. '3VXBboMwDP2aXCatCrD1XmjX06RJ/YIUXIgWYhRMR/v1C5BBGe1UTZ1U7QCKH89O/J5FWBDl9dqIInvFBBQLViyIDCJ1q7yOQCnmc5mwYMl8n9uH+S8XvnrtV14IA5quSfC7hL1QFXRIbGtwFizsW5QlxlKQRN3RSjooR9uDIRkLtVAy1RbaIhHmLAgzym0XS88uQScLY/DDhho1NEiSwsYVQUMZpqiFWg1o2G3U8C521EKunTVgDmQOlmJA2aPux3mi7MK05/WpbyhtxYFSYmVicOipZF/E2lWe83FtEiYFmiTaxcn5Bqh14LwbwcQNPpt5E+0NlPIotm3Ix5ILZ4eCnVUr/O4SYWFRJbagQhG/pwYrnUSo0Awe7VDTRh6b4p7rNEatISa3ZT9UvCkP9UWj/PNGuYRHl3G1byNhf1DxaaJicUsN+0n/5zI+nxvGh98IaWSa3fs0/pWK8+kw+rfU8M6m8UYy2nC4A7sf6ekV+Qk='),
  298. this.addDataEntry(dt + 'unidirectional connector', 160, 0, 'Unidirectional Connector',
  299. '3VXBboMwDP2aXCatCrD1XmjX06RJ/YIUXIgWYhRMR/v1C5BBGe1UTZ1U7QCKH89O/J5FWBDl9dqIInvFBBQLViyIDCJ1q7yOQCnmc5mwYMl8n9uH+S8XvnrtV14IA5quSfC7hL1QFXRIbGtwFizsW5QlxlKQRN3RSjooR9uDIRkLtVAy1RbaIhHmLAgzym0XS88uQScLY/DDhho1NEiSwsYVQUMZpqiFWg1o2G3U8C521EKunTVgDmQOlmJA2aPux3mi7MK05/WpbyhtxYFSYmVicOipZF/E2lWe83FtEiYFmiTaxcn5Bqh14LwbwcQNPpt5E+0NlPIotm3Ix5ILZ4eCnVUr/O4SYWFRJbagQhG/pwYrnUSo0Awe7VDTRh6b4p7rNEatISa3ZT9UvCkP9UWj/PNGuYRHl3G1byNhf1DxaaJicUsN+0n/5zI+nxvGh98IaWSa3fs0/pWK8+kw+rfU8M6m8UYy2nC4A7sf6ekV+Qk=')
  300. ];
  301. this.addPalette('sysmlBlocks', 'SysML / Blocks', expand || false, mxUtils.bind(this, function(content)
  302. {
  303. for (var i = 0; i < fns.length; i++)
  304. {
  305. content.appendChild(fns[i](content));
  306. }
  307. }));
  308. };
  309. Sidebar.prototype.addSysMLPortsAndFlowsPalette = function(expand)
  310. {
  311. var gn = '';
  312. var dt = 'sysml port flow ';
  313. var sb = this;
  314. var s = 'html=1;shape=mxgraph.sysml.';
  315. var fns = [
  316. this.addDataEntry(dt + 'port', 160, 60, 'Port',
  317. 'xVTRTsMgFP0aXpcOjO+21b1oYjJ/gLV3hQjcBphr9/XSQrvptmiixocmcA6HnntOU8IK3a0sb8UT1qAIuyessIg+rnRXgFKEZrImrCSUZuEh9OEKuxzZrOUWjP+OgEbBG1c7iMiL5cZp6ZxEE0nne5VI4XWwWC4Jy53g7YDqrhncL1zvtFq0aP3AbtH4ddIN+72QHtYtrwZgHwQB40o2Jmyr4BVsAJIXsB66q/OMUBpmBajB2z4c2cvai3TiNs6cCZCNSLIJ4y7um1l6TCcsUkCXw2JnYbXLs4imXCxU4dX5SWIWnDzwzZzJNL+NLvNhcFlxdZfwDXqPOhCKb0A9o5N+6ISVCran5x8/0R7bSZTz6rWxuDN1gQpDxqVBA1M/8jBayeboKzQm2E4e54/nq0ro5Ur6xKZLThqiFwqiv1DQzXlB9AcF/X+Ek+Am3fLnkYbt8eczch/+Te8='),
  318. this.addDataEntry(dt + 'port conjugated', 200, 60, 'Port (Conjugated Ports)',
  319. 'xVTLboMwEPwaXyNiotwDaXNpparJDziwAau2F9lOAzn027uAyUMkaqVG6gHkndm1ZmcQLE51vbKiKl8xB8XiJxanFtH3J12noBTjkcxZvGScR/Qw/nyHnXZsVAkLxv9mgPcDn0LtoUc2VhinpXMSTU8636hAll6TxOWUxYkrRdWiui5a9RPXOK0mFVrPid2h8esw13VXIpOmeJdF2eoiVXFyKKWHNRFt04EuIUwoWRgqM9IPloCgD6yH+u6OHRQWXAFq8LahloPMfRn2jHofohKCBCrnAROur4vT6NkxOgTTbhsYjwysSA2tt6D312Y6snDwzUJGMpILRy04eRTbk2eDF7ZXnLQmyEyoRcC36D1qIpTYgnpDJ71scQW7y/aXM4st7bEaZhKRfRQW9yZPUSHZvTRoYIhPHjslwaQMjSHJQd/pw/opGn47mmaIpZ+4SmocFH9AULNxUPwiKP6HoP7Zy2FgFm657+38Md5Sef5DddzVD+wb'),
  320. this.addDataEntry(dt + 'port flow property', 160, 80, 'Ports with Flow Properties',
  321. '7ZTLboMwEEW/xtuI4KbqtoE2m1aqlP6AAxOwanuQPWkgX18DJi9S9aFI3XSBZN87V5o5g8x4ouuFFVX5jDkoxh8YTywi9SddJ6AUiyOZM56yOI78x+LHT9xp50aVsGDoO4G4D7wLtYFeebXCOC2dk2h601GjglmS9i2mU8bnrhRVq+q6aLufuMZpNanQEvfuGg0tQ66t3paSYFmJrBW2PuA1oWRh/DXzvYL1QugFLEH96TydFIZZAGog2/iSrcypDBW3/cxRCbIoQ+wuaML192IfPdDxhwDoMiw+glVNR4gsOLkTq+4a+aGOkA0D276teTupzIS6D/oKiVB7Q4kVqBd0ktol8FTB+rj+6cwmrIbQXGRvhcWNyRNU6KGmBg0MC5G7bh8BRYbGQEah1/2v8tUC4ssLaELgCpxvxpzjf86nnGdX4Dwbc+a/4XyG7TLmvyM2BIZnIRDkPyfor4enufNOXu4P'),
  322. this.createVertexTemplateEntry('shape=rect;html=1;overflow=fill;whiteSpace=wrap;', 160, 70,
  323. '<p style="margin:0px;margin-top:4px;text-align:center;">' +
  324. '<b>Transmission</b></p><hr/>' +
  325. '<p style="font-size:10px;margin:0px;margin-top:4px;text-align:center;">' +
  326. '<i>ports</i></p>' +
  327. '<p style="margin:0px;margin-top:4px;margin-left:10px;text-align:left;">' +
  328. 'p1 : ITransCmd</p>',
  329. 'Port (Compartment Notation)', null, null, this.getTagsForStencil(gn, '', dt + 'port compartment notation').join(' ')),
  330. this.addDataEntry(dt + 'nested port', 160, 60, 'Nested Port',
  331. '7ZXLboMwEEW/xtsIcJp9gTabVoqU/oADE7DqB7KdBvL1tbHJk6iPdFVlgeS54yvPnLEwwhlv54o09assgSH8hHCmpDR+xdsMGENJREuEc5Qkkf1Q8nwlG/fZqCEKhPmOIfGGD8I24JU3RYTmVGsqhU9q07GQrA23JeYxwqmuSeNU3lau+onuNGcTAdpAuZDKnp6upTDLYHaWbU0NLBtSOGFrXVYjjFbChoUtGJQVQkGgDLRXm+ql0NEcJAejOrtlS0tThx0z33hUA63qYBs0on1c7a0HRHYRKI0TwxfEmngSX5BSoOmOrPowsm0dkRtaVr6w1PVKC8Ieg85pWTpfysgK2EJqatwscM5gfbz/5SxtZDOYUlK8V0puRJlJJi3WXEgBw0jorp9IgFFIIaAwodb9jflqBMn4CLpgmN5OejpGOrmTPiWN/+BOP4yRxnfSp6Sns9tJz0ZI/4bzGbZ/gTkYhjdp+JP8/H7b8PCC9rmTB/YT'),
  332. this.addEntry(dt + 'proxy port', function()
  333. {
  334. var cardCell = new mxCell('Transmission', new mxGeometry(0, 0, 160, 60), s + 'port1;fontStyle=1;whiteSpace=wrap;align=center;');
  335. cardCell.vertex = true;
  336. var label1 = new mxCell('&lt;&lt;proxy&gt;&gt;\np1', new mxGeometry(0, 20, 20, 20), 'shape=rect;html=1;resizable=1;align=right;verticalAlign=bottom;labelPosition=left;verticalLabelPosition=top;labelBackgroundColor=none;fontSize=10');
  337. label1.geometry.relative = false;
  338. label1.setConnectable(false);
  339. label1.vertex = true;
  340. cardCell.insert(label1);
  341. return sb.createVertexTemplateFromCells([cardCell], cardCell.geometry.width, cardCell.geometry.height, 'Proxy Port');
  342. }),
  343. this.addEntry(dt + 'full port', function()
  344. {
  345. var cardCell = new mxCell('Transmission', new mxGeometry(0, 0, 160, 60), s + 'port1;fontStyle=1;whiteSpace=wrap;align=center;');
  346. cardCell.vertex = true;
  347. var label1 = new mxCell('&lt;&lt;full&gt;&gt;\np1', new mxGeometry(0, 20, 20, 20), 'shape=rect;html=1;resizable=1;align=right;verticalAlign=bottom;labelPosition=left;verticalLabelPosition=top;labelBackgroundColor=none;fontSize=10');
  348. label1.geometry.relative = false;
  349. label1.setConnectable(false);
  350. label1.vertex = true;
  351. cardCell.insert(label1);
  352. return sb.createVertexTemplateFromCells([cardCell], cardCell.geometry.width, cardCell.geometry.height, 'Full Port');
  353. }),
  354. this.createVertexTemplateEntry('shape=rect;html=1;overflow=fill;whiteSpace=wrap;', 200, 100,
  355. '<p style="margin:0px;margin-top:4px;text-align:center;">' +
  356. '<b>Transmission</b></p><hr/>' +
  357. '<p style="font-size:10px;margin:0px;margin-top:4px;text-align:center;">' +
  358. '<i>flow properties</i></p>' +
  359. '<p style="margin:0px;margin-top:4px;margin-left:10px;text-align:left;">' +
  360. 'in gearSelect: Gear<br/>' +
  361. 'in engineTorque: Torque<br/>' +
  362. 'out wheelsTorque: Torque</p>',
  363. 'Flow Property', null, null, this.getTagsForStencil(gn, '', dt + 'flow property').join(' ')),
  364. this.createVertexTemplateEntry('shape=rect;html=1;overflow=fill;whiteSpace=wrap;', 250, 150,
  365. '<p style="margin:0px;margin-top:4px;text-align:center;">' +
  366. '<b>Transmission</b></p><hr/>' +
  367. '<p style="font-size:10px;margin:0px;margin-top:4px;text-align:center;">' +
  368. '<i>operations</i></p>' +
  369. '<p style="margin:0px;margin-top:4px;margin-left:10px;text-align:left;">' +
  370. 'prov Boolean selectGear(g : Gear)<br/>' +
  371. 'reqd Torque getTorque()</p><hr/>' +
  372. '<p style="font-size:10px;margin:0px;margin-top:4px;text-align:center;">' +
  373. '<i>properties</i></p>' +
  374. '<p style="margin:0px;margin-top:4px;margin-left:10px;text-align:left;">' +
  375. 'prov temperature : Integer<br/>' +
  376. 'reqd geometry : Spline</p>',
  377. 'Required and Provided Features', null, null, this.getTagsForStencil(gn, '', dt + 'required provided feature').join(' ')),
  378. this.createVertexTemplateEntry('shape=rect;html=1;overflow=fill;whiteSpace=wrap;', 200, 80,
  379. '<p style="margin:0px;margin-top:4px;text-align:center;">' +
  380. '&lt;&lt;interfaceBlock&gt;&gt;\n' +
  381. '<b>ISpeedObserver</b></p><hr/>' +
  382. '<p style="margin:0px;margin-top:4px;margin-left:10px;text-align:left;">' +
  383. 'notifySpeedChange(): void</p>',
  384. 'Interface Block', null, null, this.getTagsForStencil(gn, '', dt + 'interface block').join(' ')),
  385. this.addDataEntry(dt + 'item flow', 120, 180, 'Item Flow',
  386. '1ZXBbtswDIafRscFjt0Gu8bJ2ks3DEgO21GxGVuYLHkUk9h9+lG2nMRNuhVYVmAHA+JPUhY/UrZIFlXziLIuP9sctEg+iWSB1lK/qpoFaC3iSOUiWYo4jvgR8cMr3mnnjWqJYOgtCXGfsJd6B70CphDJnDVeKAMinok4mUYiSftQR60OoSVVfODllH2ulLVXq6bwtUxc6yo9UQTVg7YHDthaQ6uQ6hO2LC8VsrUK1rrtdrA7Pnh6KDl3VcvMSwfekjWpVWHYzLg2wOOB9oAEzav1d1Io/hFsBYQth4SEgCc6qJzKXvoYpBJUUYZNZkGTrreL40YntrwIeK+jTi5Qn7ElNK7HvkZpXKWcU9b8I+JfxsSVeQ/gbfBeIX7Ubo387gL52uJPXr/kCnkBAytjeeqT9Az1wAH706Vg8jmihzwEQ6PoG5vR5D5Y30MuY8H2zOVN7ztdKP/uEUxnd5jB6H6SxAJoNEdvQI6gJan9ePe/4Xl/wbO+QIng1LPcdGZ0naOGrcfoeNqUKZ46a9ldAz9aKpN6HiLJ+jnUcgP6q3WK/J045g/BTy/cG0tkqyEvldmPAu3O5AurLZ561t0P9Qz9u7syMmsMZBROf/x4/mni7377ifkQMm7ejdl7d2MM9r9tyI36webpP935Rr/xXw=='),
  387. this.addDataEntry(dt + 'item flow property', 140, 180, 'Item Flow (Item Property)',
  388. '1ZXfb5swEMf/Gj8uIpBGew3J2pdumpQ+bI8OXMCqsZl9SaB//c7YkFDardLSSntA8n3vB/bnfMCSddXcGV6XX3UOkiVfWLI2WqNfVc0apGRxJHKWbFgcR/Sw+PYV77zzRjU3oPAtCbFPOHJ5AK+AKliyIo0WQgGLlyxO5hFLUh9qsZUhtMSKNryZk8+WvHZq1RTuLDPb2krOBEJ1K/WJAvZa4TakuoQ9yRthyNoG66HtKugDbTw9lZS7rXnmpBOVJI1LUSgyMzobmGFDRzAIzavn76Rw+DvQFaBpKSQkLDye6CRyLL30OUgliKIMRZZB49bbxVDozJYWAe/LqJMJ6gu2aJT12B8MV7YS1gqt3on4tzFxoT4QeLiPURuC42kDBu3aHVhMOoDa/HLrDrxfP0cOeQE9RqVpIJL0ogs9IuN3moLKV8Y4/n0wNAJ/kBnNboL1M+QSMdNeuJzpfOdZc+8ecbb6YDIYjS5yUwCOrtgbumFAchTHcfV/YXszYVtPUBqw4onvOjN6maOEvcNo6SIKVdx31qabEHfrRMblKkSidldU8h3I79oKdOMy5PfB98/cO42oqz4v5dljYfRB5WsttTn3rBsd8QT+3d0xMq0UZBh2P3xX/zYMiz8Ow6eQcfVuLD+6G2Ow/21DrtQPMs+/8M43+sP/Bg=='),
  389. this.createVertexTemplateEntry(s + 'itemFlow;fontStyle=1;flowDir=N;flowType=in;whiteSpace=wrap;align=center;',
  390. 200, 80, 'eng:Engine', 'Item Flow North In', null, null, this.getTagsForStencil(gn, '', dt + 'item flow north in').join(' ')),
  391. this.createVertexTemplateEntry(s + 'itemFlow;fontStyle=1;flowDir=E;flowType=out;whiteSpace=wrap;align=center;',
  392. 200, 80, 'eng:Engine', 'Item Flow East Out', null, null, this.getTagsForStencil(gn, '', dt + 'item flow east out').join(' ')),
  393. this.addDataEntry(dt + 'item flow', 470, 370, 'Item Flow',
  394. '7Vnbkps4EP0aHsfFxZeZR18m2a2aVE0lrs3mUQYZVAOICDm25+vTumAbJBMHEye7ycPUoBYtus+RulttJ5hnu7cMFck7GuHUCR6dYM4o5eop281xmjq+SyInWDi+78Kf4785M+vJWbdADOf8EgVfKXxB6QYrCc5jJ5iCDB5IjtV8yfepnk94BlYuPCeYlQkqhDTbxcKBQbkvs3RAOM7epHQLL6xpzj9oVanAGX3BH0nEEy1Zw4sLwmD0qEfLvVwzp/Bt0ChQSPL4PYkT4Q94E8y2CXziA0yI97bwZZChlMQ5DEPwG8NyM+0XZhzvzmIjRRqYt5hmmLM9vKIVhgo6d6vtFQquliVYWwTDsZahUo3jw0pH4OFBY2/nITB44CwvFRFLhvIyRZzQ/Co2LOg3+Dmy8bGNjSe8Fq57oxuScUD5lI3hD2JjaLCxpOzzxjwMOIpxBaDG6ISRCodU4jUT/pMQpVMt5lSAhfNoypggqFoB7wj/Vy8hnj/BszsYyXfBETHlVoPjnLJNGFRDuKQbFuLaYeeIxZjX9t0FPDAstuCX+urXgDwyQw/gMX18NlBmuCSvaCWHbivE9Q06soC+opzTDCZStMLpMy2JPFcGSU+N6breDIUvMaObPJrTlLIjd/JEkVd5oPRGDGme45Br+w8R+VvHYdh6HO60Ru+sjM1AJFhZdmKFqWPZjOL/Y15+FC0TgxbHH6cCmKLGyvjzRpQOswzOOAF8pm6xOwzvZMSZDqUIfOR3mqjpSaSuVoCnWP+X31lVgtBTaWlaljQkMi2J3ajeAj9WTU2QFU1ZwoTrDeH3uKK2hc0XvWEE43elpHzqDh5wds47lIkwnJojYB22HCkQUF9N1JXUaCJiuCNKk4WIwIUzUf//zp9I/iInBF4Q2EYzzxktDog2MOjZEF4ZwhuGLJuGWMmwsXYRQfaNdRkdUKJsQr5h2G5FIwJVFQ+DY1wPQBQO8VpWPYs1EYfKWqeYBRGstGElHNz3WNkqI9s15ctez/pm+TKcWMoXf9RD/XJvSa3mbuxcS+o4bpb39TA/7LdYn7QG3kDDVuHtWsrFsQXvAzHX4P1gwXvgGQB3z5jCcyNlZiSKxFpGyqwWOZczVeF5q4R5354wx3Xigh7oqAyu8+H/4aMDH31cpzzPxkfwh48OfDz0wYfZ9eHN/GAp+C/OD0/HCsySHvTl7KbZwb//menBs3R3OuYH6z33+3b/Ny5Ut938aiueLZt6yQZmN4d3zAa/Gfq9xH6zzcM7xv7fDP1eIr3ZzvmHrJi9l9zezDzbsLm0gem3dTD9lhamEebrXU192Tntap5Dtve2jGf2Zf7CiN8a2o694V8ZWPMKO98wae6NsZ20gTv5j6JrXlhNWA18TlA9xRynK7p9PApmUgATCWXkFaIlEv2XCJUJjrT6GcROsZhY4uWV6GjVZ0rELrr0Aqo400oNiA9W2FCH4fF3XPX66c+8XwE='),
  395. this.addDataEntry(dt + 'item flow', 200, 120, 'Item Flow',
  396. '7ZXfasIwFMafJrdSm22wS1unDBwI7gVie2yD+VOSuLY+/U6bVN1WcYNdetGQfOd84ZzfKYTQVDZLw6ryTecgCH0hNDVaO7+TTQpCkDjiOaFzEscRfiReXIlO+2hUMQPK/cYQe8MHEwfwiqte1YqrPaqEznB9X/sc61oRckonsdL5lNDElqzqVNkUXRMT21opJtyBXAhdr2CHZSQ7rdwm2DtTXWLCpmJZJ9ToQ40JXig8Zlg5GBRCZWAcNFe766XQ2hK0BGdaTKl57srQYeQJRCXwohxsAUvErBeKk/cMCzeB1zg7OsJuMv0By4DlR7btj4g0uYA39Cw8JotEuCo8tHnXWNK1zzMmZiFT8jzvbkoE24JYa8sd1xdXDPmrb2Gnq8GUsGxfGH1QeaqFRtJzpRUMU+LHfkgBT6aVgsyF6k9/062pxONTaQO3f2D/MMY+vrO/xf7pH9g/jrGnd/a32D//nT0ez29BH/vyVHwC'),
  397. this.addDataEntry(dt + 'item flow', 200, 120, 'Item Flow',
  398. '7ZVdb4IwFIZ/TW8N0m3JLgXULHGJmb+gwhk09oO0dYC/fgco6hxmH/HSC0j79rzNOc9LAqGxrJeGlcWrzkAQOic0Nlq7fiXrGIQgYcAzQhMShgE+JFxcOZ12p0HJDCj3G0PYGz6Y2EOvQPmiVlztUCV0hu/5uq+xrhG+pnASO02mhEa2YGWryjpvh5jYxkox4Q7kQujqjecF9hG9a+U23t+6qgIrNiVLW6FCI2pM8FzhNsXWwaDgWwPjoL46Xif52ZagJTjTYEnFM1f4EYMeQVBA301n81wCZnshP3pPtHDhgY3DoyPwJtNvtAxYfmDbbotMozN6w8zGc7KIhKvcY0va0aIWAE+ZmPlaybOsvSsSbAtirS13XJ9fMhhWF+dOl4MrYukuN3qvslgLjbATpRUMQfFDl5MnlGqlIHV+gOMX9VMw4Xgw9UUojUd5gzgexuII73H8I46nG8TxOBYHvcfxjzie/x4Hbk9/ke7sy0/mEw=='),
  399. this.createVertexTemplateEntry('shape=rect;html=1;overflow=fill;whiteSpace=wrap;', 200, 80,
  400. '<p style="margin:0px;margin-top:4px;text-align:center;">' +
  401. '&lt;&lt;interface&gt;&gt;<br/>' +
  402. '<b>ISpeedObserver</b></p><hr/>' +
  403. '<p style="margin:0px;margin-top:4px;margin-left:4px;text-align:left;">' +
  404. 'notifySpeedChange(): void</p>',
  405. 'Interface', null, null, this.getTagsForStencil(gn, '', dt + 'interface').join(' ')),
  406. this.addDataEntry(dt + 'item flow', 250, 60, 'Required Interface',
  407. '3ZVNj5swEIZ/DdeImN2qPW7IdrXSrhR1e2iPDkzAqvFQe5LA/vqOwZAvokbVnhopkv2OZxi/jw1RklbNk5V1+Yo56Ch5jJLUIlI/qpoUtI5ErPIoWUZCxPyPxNcr0XkXjWtpwdAtCaJP2Em9hV75bqVxlXJOoemDjlodgiVV3OJyHiULV8raq1VT+O5nrnWVntVo6Y6jGzT0FvL86n2pCN5qmXlhzwmsSa0Kw9OMewXLQugFLEFzdT+dFDbzBFgB2ZaXhIQv/XbjvcqpDAmfglaCKspQZdCk6+fFWOlgFg+CX9PeJRfe1fMLxwabLGT86MWRgRacepfrbmF8ZIeGjV/pbVCZ1A9BXiMRVhzQcg16hU6RJ8SV+12NCS9nccJ6yFrI7FdhcWvyFDWy5UuDBgZc6r2jFY8kMjSG2w49jmfpb4TENKE2RC8JiQlA4gMA3V0Aeu5Od1rlF5wgL2A4sMGUI1a3sgGTP1iLe9b4Pry+fIPfz94WHwj+fvazRtGPgN2Pf/rx7N6DUFoPbCKRbLrfCMQ3eWK7w63N4OQq335XQg0LWpLanRaesj0UWqHi+oclJG0BFNQzOONDb+J1f4XXUpL8WGD9nTintbK4O8c1F/8Lr3b6zffP+Hh6+E71y48/Y38A'),
  408. this.addDataEntry(dt + 'provided interface', 250, 60, 'Provided Interface',
  409. '3ZVdb9owFIZ/jW9RcNppuyxhqyqtUrXuYrs0ySGxavtktoGkv37HiROgCRqaelUkJPs9Hzl+XkNYmunm3oq6esQCFEu/sjSziL5f6SYDpRhPZMHSNeM8oS/j3y5El100qYUF468p4H3BXqgd9MpPK4zT0jmJpg8636oYrLymEddLlq5cJeqg6qYM0y9c67Ra1Gj9DUW3aPxzrAvZh0p6eK5FHoQDFZAmlCwNbXOaFSwJcRawHpqL5+mkeJh7QA3etpQSC770x00OsvBVLPgUtQpkWcUugyZcvy/HTkdYtIi85tmlE3b1ckJswGQhp0evTgBacPJVbLrEhPZKbECtRP5SWtyZIkOFBGVt0MAAVL52PJORVY7GUOPYZXT7Xwz5PMM2RqcM+QxC/g4IbyYIH7r7l+liQhKKEoYrFaGc0Bwuk4Jt4BwAyFyouyhv0HvUFABT3FmLB9Loxj5+/wF/HgKWEIh8P4ddI/2vaExY/w7rxW0wQio1eMN4uu0+oyFhyDPsDnc2h7Mf2/W3OfawoISX+/PGc9hjoyeU1P+Y4oUtwUf1jTnjQ6/y6/aCX2vhxfsa5rGecevJ4v6tXUv+Ufxq5/+b/ts+2h7fJH366YvmLw==')
  410. ];
  411. this.addPalette('sysmlPorts and Flows', 'SysML / Ports and Flows', expand || false, mxUtils.bind(this, function(content)
  412. {
  413. for (var i = 0; i < fns.length; i++)
  414. {
  415. content.appendChild(fns[i](content));
  416. }
  417. }));
  418. };
  419. Sidebar.prototype.addSysMLConstraintBlocksPalette = function(expand)
  420. {
  421. var s = 'html=1;shape=mxgraph.sysml.';
  422. var gn = '';
  423. var dt = 'sysml constraint block ';
  424. var sb = this;
  425. var fns = [
  426. this.createVertexTemplateEntry('shape=rect;html=1;overflow=fill;whiteSpace=wrap;', 200, 180,
  427. '<p style="margin:0px;margin-top:4px;text-align:center;">' +
  428. '&lt;&lt;constraint&gt;&gt;<br/>' +
  429. '<b>ConstraintBlock1</b></p><hr/>' +
  430. '<p style="font-size:10px;margin:0px;margin-top:4px;text-align:center;">' +
  431. '<i>constraints</i></p>' +
  432. '<p style="margin:0px;margin-top:4px;margin-left:10px;text-align:left;">' +
  433. '{{L1} x > y }<br/>nested: ConstraintBlock2</p><hr/>' +
  434. '<p style="font-size:10px;margin:0px;margin-top:4px;text-align:center;">' +
  435. '<i>parameters</i></p>' +
  436. '<p style="margin:0px;margin-top:4px;margin-left:10px;text-align:left;">' +
  437. 'x: Real<br/>y: Real</p>',
  438. 'Constraint Block', null, null, this.getTagsForStencil(gn, '', dt + '').join(' ')),
  439. this.addDataEntry(dt + 'parametric diagram', 300, 170, 'Parametric Diagram',
  440. '7Zddb5swFIZ/DZet+CjJdhlg600nTe3FsksHTsCKwcw4CezX7xibBAJ0VZt10jQpUfD5wPbzHh+I5YV5fS9ImX3hCTDL+2R5oeBc6qu8DoExy7VpYnmR5bo2fi3384zXab12SQQU8iUJrk44ELYHbbHcBcPUoERzJRumzYsfe7WkICcipYXlreyyPg1vJC/RdNc3Mdhi/MrRcRJqeUMYTVWqdgXnm+JVan7bqTedAffR2XALm3OcrT8B4/HO6YWU5xB3sH43kznCjRz0VRkplTWvU8X9tmqqnN2WJN6RFO0BIxtgaxWMk3iBWXZkll1hIC3Sh3YUOSqCH0BsGT/ieEsRrxccMyrhCSPVPEecRSVKwXfwjSYyMwsREO9FRQ/wCBX9qULt09LxlghtVtXWZCS9B56DFA2GHM3d0evZWnk7A5pmXdrSGEmlDekp91wkeGHqZLpmvFHNhLibFZpCXuAuCcVVvoK/IHmU5hiw5YV8MqnODM1OlRiRgHgpNncaW5fgGTqNHvtm2KPq+FNU7StQvRtRrVuo8xyFqhqyYV3hXBSqQkFjwlbGnNMkYaf6/sorKimfiH+4cA/zAjwmqeD7Igk54wg+KngBnWi6ittDMTwnCvtIV725mBcFxNJs5NSxfielNy2lkc71366IP1Kk+a/IqxVZXkGRxUgRBkWqzqbqPo9A2Eidrtlgr1VIe2Jd4pmj3T7cRtptuJQ8v07fuWg7C3/UdtyJruNeoeksR0DNpP8ST8d5P6AfJt6nLghCkayEaN8WzEHtQYQkhe5AGi/UVH5XDeUWO5Ierk1/QR6i0T6/G64HR1nd73mKuDa+FzEMnu0SX+JA9g7d/DNTJwhgROKbzMD4FpAf/yTI5V8BuXwPkDg8/3tofYM/F78A'),
  441. this.addDataEntry(dt + 'constraint property', 150, 100, 'Constraint Property',
  442. '7VTLbsIwEPwaX1FIinrOo+VCpap8gUkW26ofkW1Kwtd3nRgoDaituPYQyZ7dsXdmIpOsVN3S0pa/mAYkyZ5IVlpj/LhSXQlSkjQRDckqkqYJfiR9vlGdD9WkpRa0/w0hHQkfVO5gRMo5yfLSaOctFdrHE53vZWzgXuGYFbYVjtM2oKpjQcHM9U7JGd5OVcUUNmyN9utIDYQ9Fx7WLa0DsEcOYlQKpnFb48hgEYgjgfXQ3ZQ1QFHTEowCb3ts2YvG89ixGKUnHATjR1oSQepGgJ24Z5dwEY26blo2MQ3nzBF5Ayonfllw4kA3wzZBeV/8O0qXsMX5iiBZ1FTmEVaiaQKtkHQD8tU44YW50r/6Vr7kFbR+Z9bsdFMaadDgShsNx3DEYcgmDOYwF6HZaji8CvZO8hvF1UZrqH3UdPrHfoosvR5ZH6uL+4N5mATT/wdzbzCPfw8Gt+cnbKhdvHCf'),
  443. this.addDataEntry(dt + 'constraint property', 150, 120, 'Constraint Property',
  444. '3VTLboMwEPwaHxMRk0a9xtDmkkpR0x9wwAGrflDbSUi/vmswIPJQK/VS9YDwzu7Y3pkFFCeyXhlalS86ZwLFTyhOjNauXck6YUIgHPEcxSnCOIIH4ec72VmTjSpqmHI/IeCWcKTiwFoE4YUAKqkAtu4sWnjxcfBXIpKagisUL6Oq7sOJ0xVA8wZyrHYTKnjhqzK4BjOADjvAqghvKoFGxHWUaWWdoRx66PAxp4ua6p3x/Q3btmAHJDO4B/SS9HvOuhqg7S55gFWXWDk+AI+UwaWTYFsKxxBb0sqjsi68o1N7tlJMfTcb4yUi+sjMXugT1Ow5GBGTU8kd21Y087wTsPojoBS0vOtrAwVTV0xL5swZSk48d2WoeGi9j0rGi7KjhYGIqG2BoucOYwKLMCm3pya+mpq6FfmVUXElkGGWf9JdE0ZezkGwMCepYHuvrW+ZZ1QsAyx5nnsaEXTHxEZb7ri+Ub++SI95hGbvhdEHlSdaaJjGVGnlsxZk56pYN5ulXs4OevNupV6rmOy1ctvQzax3B0xVLHOhrf47+841fNu135gxvzLj/C/NePyDZkA4/Kub3OhX/gU=')
  445. ];
  446. this.addPalette('sysmlConstraint Blocks', 'SysML / Constraint Blocks', expand || false, mxUtils.bind(this, function(content)
  447. {
  448. for (var i = 0; i < fns.length; i++)
  449. {
  450. content.appendChild(fns[i](content));
  451. }
  452. }));
  453. };
  454. Sidebar.prototype.addSysMLActivitiesPalette = function(expand)
  455. {
  456. var s = 'html=1;shape=mxgraph.sysml.';
  457. var gn = '';
  458. var dt = 'sysml activity ';
  459. var sb = this;
  460. var fns = [
  461. this.createVertexTemplateEntry('shape=rect;html=1;rounded=1;whiteSpace=wrap;align=center;',
  462. 160, 80, 'Action', 'Action', null, null, this.getTagsForStencil(gn, '', dt + 'action').join(' ')),
  463. this.createVertexTemplateEntry(s + 'callBehAct;whiteSpace=wrap;align=center;',
  464. 160, 80, 'action name:\nbehavior name', 'Call Behavior Action', null, null, this.getTagsForStencil(gn, 'callBehAct', dt + 'call behavior action').join(' ')),
  465. this.createVertexTemplateEntry(s + 'accEvent;strokeWidth=2;whiteSpace=wrap;align=center;',
  466. 100, 60, 'Event', 'Accept Event Action', null, null, this.getTagsForStencil(gn, 'accEvent', dt + 'accept event action').join(' ')),
  467. this.createVertexTemplateEntry(s + 'timeEvent;strokeWidth=2;verticalLabelPosition=bottom;verticalAlignment=top;',
  468. 35, 40, '', 'Time Event', null, null, this.getTagsForStencil(gn, 'timeEvent', dt + 'time event').join(' ')),
  469. this.createVertexTemplateEntry(s + 'sendSigAct;strokeWidth=2;whiteSpace=wrap;align=center;',
  470. 100, 60, 'Signal', 'Send Signal Action', null, null, this.getTagsForStencil(gn, 'sendSigAct', dt + 'send signal action').join(' ')),
  471. this.createVertexTemplateEntry(s + 'actFinal;strokeWidth=2;verticalLabelPosition=bottom;verticalAlignment=top;',
  472. 40, 40, '', 'Activity Final', null, null, this.getTagsForStencil(gn, 'actFinal', dt + 'activity final').join(' ')),
  473. this.createVertexTemplateEntry(s + 'actParamNode;align=left;spacingLeft=15;verticalAlign=top;spacingTop=-3;',
  474. 300, 135, 'act', 'Activity Parameter Node', null, null, this.getTagsForStencil(gn, 'act', dt + 'activity parameter node').join(' ')),
  475. this.createVertexTemplateEntry('shape=rect;rounded=1;html=1;whiteSpace=wrap;align=center;',
  476. 160, 80, '&lt;&lt;controlOperator&gt;&gt;\nCallBehaviorAction', 'Control Operator', null, null, this.getTagsForStencil(gn, '', dt + 'control operator').join(' ')),
  477. this.createVertexTemplateEntry(s + 'package;align=left;spacingLeft=5;verticalAlign=top;spacingTop=-3;labelX=135;html=1;overflow=fill;',
  478. 250, 120, '<p style="margin:0px;margin-top:4px;margin-left:10px;text-align:left;"><b>act</b> [ControlOperator]</p>', 'Control Operator',
  479. null, null, this.getTagsForStencil(gn, 'package', dt + 'control operator').join(' ')),
  480. this.addDataEntry(dt + 'decision node', 200, 80, 'Decision Node',
  481. '7ZXJboMwEIafxneWpOo1kDSXVoqUJzBhBFaNB5kh29PXYIclTVS6ST30gDTzz+JhPpBZGBfHteZl/oIpSBauWBhrRLJWcYxBShZ4ImXhkgWBZx4WPN2J+m3UK7kGRVMKAluw57IGq1ihopN0QpXzsjF1jkVSVyyMcirMoEvfmHvQJHZcPvME5AYrQQKViSVIhMUgYSFFpgo7FWFpIu5kE4fj3elbyY2+BiyA9MmkuIJH+3Leyboz5x5ESvlYykFkOY01Xlk/6/r2izKG29XtvYUf7w3SDLbOBZngYdULwxW2MWPnqMUZFXETiHizrmbpduzxGof7BZUutG4bKFRNa421SqGZ0zOebMBEfPeatXqMEnWfWxHXdKnHEtRF24pzM7cfdKCa1xlhqrDWOxh9RhPIaZCcxH7c6hYJV7pBYTp2xH3vCp4ZNgNyWVf8umMnIZ29RzqPsprrlM2X36Z7ATiRpWPxGZam+q9SC7zxj/rwaxDntyCCrOCf4VcZ/jQz4/b3m00fXn9v'),
  482. this.createVertexTemplateEntry(s + 'flowFinal;strokeWidth=2;verticalLabelPosition=bottom;verticalAlignment=top;',
  483. 40, 40, '', 'Flow Final', null, null, this.getTagsForStencil(gn, 'flowFinal', dt + 'flow final').join(' ')),
  484. this.addDataEntry(dt + 'fork node', 200, 80, 'Fork Node',
  485. '7ZZNb4JAEIZ/DXdYrPZq0XppExMPPa8yhU2XHbKMn7++Czt+QDQ1RpMeJCHZfeeD2feBhCBOis3EyjL/xBR0EI+DOLGI5FfFJgGtAxGqNIhHgRChuwPxfiEaNdGwlBYMXVMgfMFK6iV4xQsVbTULVS7Lemlh4Vq+5VS4KUeRW34rrRPUaJvEOGwup6/AklpI/SHnoKdYKVJoXM4cibA4SRhqlZnCj0pYugiP4+KwuXikRuLzTAALILt1KVzQ9ycO1yql3Es9r+Sgspx7vHKWrPw+O/Q5uuUWbNh58+K/zYM0gxlvQc9xPT4Kp1Y2MbfO0aodGpK6Fk06tLbRDZq6wuLSpFA/vva5Imlpn4ElmEaz+ANffPZ4nzVTu3qESBw8ridrOVzh0i6g9VpcYboFLUmt2q3OmcqlU1Suowi3TKaDwc2aAXFSh8ThqVfB6d0fzv61baNh47touhhcxb+DwF+MCJkCQ4keBuXlCeVWKPHDoPSfUG6F8vIwKIMnlFuhDO4FxW2Pf2I+/fRH7Rc='),
  486. this.createVertexTemplateEntry('shape=ellipse;html=1;illColor=#000000;strokeWidth=2;verticalLabelPosition=bottom;verticalAlignment=top;',
  487. 40, 40, '', 'Initial Node', null, null, this.getTagsForStencil(gn, '', dt + 'initial node').join(' ')),
  488. this.addDataEntry(dt + 'join node', 200, 80, 'Join Node',
  489. '7ZZNb8IwDIZ/Ta6oNBvsugLjskmTdtg5tKbNltZVahjs189NMigfk5AAaQcqVXLs1076PjlUyFG5mlpVFy+YgRFyIuTIIpKPytUIjBFxpDMhxyKOI35F/PRHte+qUa0sVHRKQ+wblsoswGfEMPlAXTU1pJzo9XpiOPaihtYmiJpC1W1oIeVtkoJKPvm4z+FcGzNCg9YJZeQezi/Bkk6VeVYzMK/YaNJYsWaGRFiywLSFRKWfucVFlXVmzN3TmfFodN72EtacDV/ANVj96YJLBQumgCWQXbPkt0EOfMuXzqjwuTufKUDnRRjy4L2MVOPX+WbQ1mEOgsnHDZeHhu+bC1kOb2EJZoZfk22ia7WrcVyg1d9YkeJC4syDdrPWdaiyR2udCmtgz5KGLH7Ce/hO6TVv+rvdrB9v7GzPsGNmgwubws6lOcFfC0aRXu6OOmZfaH3lm0dbLnEUHF8HJnsASNkcKDTtMdic4iQsd5fH8ntbnenK0h6IDpoKKzhAdwjKTfl3qAKa/tXQ3N/QnIdGXg3N4IbmPDT3V0MzvKE5D83wUmh4uf2f8/Lu794P'),
  490. this.addDataEntry(dt + 'is control', 300, 60, 'Is Control',
  491. 'zVTLboMwEPwaXyMCbaMeA0lzqlQpl/bowApbMjYymwD5+q7BQEgTKYdW6gFpd/bh8Qwyi5Ki2VleineTgWLRlkWJNQb7qGgSUIqFgcxYtGFhGNDHwrc71WVXDUpuQeMjA2E/cOLqCD2yTlEa3cMVtsrDAgsit1myKK4ELx1aNLnjvajaqlALWSVGozXUFddCIuxLnrq2mpoI40rmmtKUmIElwJ8MFqG5y76DPPUdmALQttTiB177ywW1zFD4AX/hQIDMhd/y4jFe9Xk+bpqkocCrc1up6IdSbBWn/sqrzQ/BIMth71NQB1NvJyC+ULOrUSyMlWdax52AFXKLa2u7iimBhIutOeoMHJvAjelsqGuj3U6npEy5WnuhDwbRFK61kfg5jFH85eLF83DMXp4dx2U4euKozxypzNGmMPtjHjDJguIoT/NVtyzwox9G0sYwaL3gV6YR1xzQN135Np76kJVPf2zl4MTcpps23jeN2LSjay6ZbKOl/860ZjDNu/bbJlI6vYp9++Wj+Q0='),
  492. this.addDataEntry(dt + 'is stream', 300, 60, 'Is Stream',
  493. 'zVTLboMwEPwaXyMCbaMeA0lzqlQpl/bowAos2RjZmwD5+q7BQEgTKYdW6gFpd/bhYQbMokQ1O8Or4l1nIFm0ZVFitMY+Uk0CUrIwEBmLNiwMA3pY+HanuuyqQcUNlPjIQNgPnLg8Qo+sUxS67GGLrfRwgYrIbZYsim3BK4eqJne8F7a1Si6ETXSJRlNXXBcCYV/x1LXV1EQYlyIvKU2JGRgC/MlgEJq77DvIU9+BVoCmpRY/8Nq/XFCLDAs/4F84KEDkhd/y4jFu+zwfN03SUODVua1U9EMptootGuCKrTY/9IIsh71PQR50vZ2A+ELMrkZxoY04k4Dc6WeRG1wb01V0BaRbbPSxzMCRCdxYmQ31UpdupxNSpFyuvc4HjaiVa20Efg5jFH+5ePE8HLMXZ8dxGY6WOOozQ6w+mhRmH8wDHhmQHMVpvuqWA370QwvaGAat1/vKM+KaA/qmK9vGUx9y8ulvnRyMmLt008X7ntGf1I6muWRyjZb+O8+awTNv2m97SOl0J/btl1fmNw=='),
  494. this.addDataEntry(dt + 'is stream', 300, 60, 'Is Stream',
  495. 'zVTJboMwEP0aXyMCbaUes58qVeKSHl0YYUtekJkEyNd3DCaQTcohhx6QZt4sfn7PgiUr3ewcL8WXzUGxZMOSlbMW+0g3K1CKxZHMWbJmcRzRx+Ltg+q8q0Yld2DwmYG4HzhydYAeWWQorenhClsVYIGayK3nLFlWgpce1U3hec+qttJqJqsUHXBNDbWQCGnJM99VUw9hXMnCUJoRMXAEhIPBITQPyXdQYL4DqwFdSy1h4LO/W1TLHEUYCPeNBMhChC0fAeNVnxfnTaMyFARx7guV3Ah1IxHkBaQhBfVr680ILCf6dTWKhXXyZA1y5UVF7nDhXFexJZBWS2cPJgdPIPJjJh/qxhq/ExqJ+6FK8Y+PZ+/DtlSePJV5fFbbM7zQurIHl8HFU3hCfgeKozxerronbhj9tpI2xlEbpLyyg7gWgKHpypHzqU+Z9PZ6k/wDlVln0cSABwYR0f00GQ2h2X9nRzPYEfx4tT2Ujj+yvn36n/sD'),
  496. this.addEntry(dt + 'is stream', function()
  497. {
  498. var cardCell = new mxCell('act', new mxGeometry(0, 0, 200, 100), s + 'isActStream;align=left;spacingLeft=5;verticalAlign=top;spacingTop=-3;');
  499. cardCell.vertex = true;
  500. var label1 = new mxCell('{stream}', new mxGeometry(200, 50, 0, 0), 'resizable=0;html=1;align=left;verticalAlign=top;labelPosition=left;verticalLabelPosition=middle;labelBackgroundColor=none;fontSize=10;spacingTop=5;');
  501. label1.geometry.relative = false;
  502. label1.setConnectable(false);
  503. label1.vertex = true;
  504. cardCell.insert(label1);
  505. return sb.createVertexTemplateFromCells([cardCell], 250, 100, 'Is Stream');
  506. }),
  507. this.addDataEntry(dt + 'local pre precondition post postcondition', 150, 180, 'Local Pre- and Postconditions',
  508. '5ZVNb4MwDIZ/Te6QtL33a71s0qQeds7Ag2ghQcEtbX/9HEhbEEWqtHWatAPCfp03kCeGMLEsDhsny/zFpqCZWDOxdNZiGxWHJWjNeKRSJlaM84guxp9GqnFTjUrpwOA9Bt4a9lLvoFW0TaR+dZBYkypU1jA+Y1zEERML0ip0UtHcja3Cow62KpelD41Fui1yLGgtq5jCSp18IZ76GJ39hDeVYk4SJ0VqlRmKNXygH1DKRJnsuclW3lLnCmFLsp+kJlAdU0KrBEdCWAU4hMMoiUYKGDZgC0B3pCF1eBs/ItCKclBZHmyToMmqzbOL9cqVgoD2NmYxwDxPWrYjGIk/9jE6uzMppGeoA5AP53Q2BBzHNp1N27RLMbpBcfoDFCcjzWor/DfdGgy8vwvxuUm72yAe1MzTwTYM+EKawTakoN9tvb4KXdpNjeLcOnWyBqXudbrfRTDp3LlmlLEGLvj8I3rwKrtzCfR+ayhdBtj7BO9A7EBLVPv+7N8BNvv7wMQQ2OTXgFF6PfGaWu9A/AI='),
  509. this.addDataEntry(dt + 'merge node', 200, 80, 'Merge Node',
  510. '7ZXPboMwDMafJncInbRrS7teNqlSnyAUC6KFGAXTf0+/hKQUunbrpE7aYQck53PsON8PKSxJq/3SiLp8wxwUSxYsSQ0i+ajap6AU45HMWTJnnEf2Y/zlRjbuslEtDGi6p4D7gq1QLXjFCw0dVBCaUtQuNCVWWduwZFZSZQedxzbcgiG5EepVZKBW2EiSqG2OsB5kp0oWuvIjZUiElU2Gk+0W2N+cvpPC6EvACsgc7JZQ8OwvF+1kTqWXJkEqQRYljTXR+HXRNzo7Y4NgznWjku+NgryAdViCynC3OAtDz7qcjUs08oiahE3MhLPIuezHHls3tM1gq3NwU0V2pZzvM7F5Lzo9RYXGpjRqdyjofGpMdxjWoL2ylkc3Ycx7Bm7wEYEGW7OB0R9yBxQDSpDcjltd8zyUrlDajj3MOAqYDmO4pw4kTAEUii7A9VPcxXLyeJYnXF+Ra+wN6DOPkxKY/YRv1/Gv8uQXPPmv8Xz65/mbPB/Nzy7PD5zfPnz/PgA='),
  511. this.addDataEntry(dt + 'no buffer', 300, 60, 'No Buffer',
  512. 'zZTBboMwDIafJteKwlZpx9JuPU2a1Mt2TMGFSCFGwW2hTz8HApSulXrYoQck+4/t2P4AEa2KemNlmX9iClpE7yJaWUTqrKJegdYiDFQqorUIw4AfEX7cOZ23p0EpLRh6JCHsEo5SH6BTlgkpNJ1cUaO9nFPBza3nIoqrXJZOLerM9T2rmqrQM1Wt0JBFjopPuSLYljJxYScOYk1qlRl2E+4MLAv+ZrAE9d3uW8m3vgEsgGzDIT7hrRsuOKmUcp/gBw5yUFnuqyy8JqvOz4ZK42rY8Nu5vanoz6ZEuJCFG01TO86lZzA+7Pc8Z69mkxjvXe0Y0gy23gW9w9P7KMQXANoztnO06sxLl27nFUlLS2vbEyyBdx1bPJgU3ACBSzNpf27QuJpu+SqReunZ7JAICxdaK/ru09j+cfbstb9mq86ux3k4TOFan0Cs8GATmLxkD3C1oCWp47TULWo+9QsVVwyDxjO64sy9ZkA+6Ar1cOtD9F+ej34Pb0r2Jvn7nPmLbQbQzhlJc9Gn41z3nD3o/+bO7vjv7cIvf82/'),
  513. this.createVertexTemplateEntry('shape=rect;html=1;whiteSpace=wrap;align=center;',
  514. 160, 80, 'object node name:\n type name\n[state, state ...]', 'Object Node', null, null, this.getTagsForStencil(gn, '', dt + 'object node').join(' ')),
  515. this.addEntry(dt + 'object node', function()
  516. {
  517. var cardCell = new mxCell('Action', new mxGeometry(0, 0, 120, 60), s + 'isControl;whiteSpace=wrap;align=center;');
  518. cardCell.vertex = true;
  519. var label1 = new mxCell('pin name: type name\n[state, state ...]', new mxGeometry(0, 30, 0, 0), 'resizable=0;html=1;align=right;verticalAlign=middle;labelPosition=left;verticalLabelPosition=middle;labelBackgroundColor=none;spacingRight=5;');
  520. label1.geometry.relative = false;
  521. label1.setConnectable(false);
  522. label1.vertex = true;
  523. cardCell.insert(label1);
  524. return sb.createVertexTemplateFromCells([cardCell], cardCell.geometry.width, cardCell.geometry.height, 'Object Node');
  525. }),
  526. this.addDataEntry(dt + 'optional', 300, 60, 'Optional',
  527. 'zZTBboMwDIafJteKwlZpx9J2PU2a1Mt2TMGCSAlGwS3Qp58DAUrXSj3ssAOS/cd2bH+AiDam2VtZ5h+YghbRTkQbi0i9ZZoNaC3CQKUi2oowDPgR4fuD02V3GpTSQkHPJIR9wlnqE/TKOiGFRS9X1Gov52S4ue1SRHGVy9Kppslc34uqrYxeqGqDBVnkqLjOFcGhlIkLqzmINalVVrCbcGdgWfA3gyVoHnbfSb71PaABsi2H+IS3frigVinlPsEPHOSgstxXWXlNVr2fjZWm1bDht3N/U9GvTYlwJY0bTVM3zrWHpdui1KOazWK8d7NjSDM4eBf0EevdJMRXALoztnO06sJLl27nFUlLa2u7EyyBdx1bPBUpuAECl1akw3mBhavplq8SqdeezRGJ0LjQRtHXkMb2t7MXr8M1B3VxPS7DcQrX+gxihSebwOwle4KrBS1Jneel7lHzqZ+ouGIYtJ7RDWfuNQPyQTeox1ufov/y/+gP8OZk75J/zJm/2HYE7ZyJNBf9d5ybgbMH/dfc2Z3+vX349a/5Bw=='),
  528. this.addEntry(dt + 'optional', function()
  529. {
  530. var cardCell = new mxCell('act', new mxGeometry(0, 0, 200, 100), s + 'isActStream;align=left;spacingLeft=5;verticalAlign=top;spacingTop=-3;fontStyle=1;');
  531. cardCell.vertex = true;
  532. var label1 = new mxCell('&lt;&lt;optional&gt;&gt;', new mxGeometry(200, 50, 0, 0), 'resizable=0;html=1;align=left;verticalAlign=top;labelPosition=left;verticalLabelPosition=middle;labelBackgroundColor=none;fontSize=10;spacingTop=5;');
  533. label1.geometry.relative = false;
  534. label1.setConnectable(false);
  535. label1.vertex = true;
  536. cardCell.insert(label1);
  537. return sb.createVertexTemplateFromCells([cardCell], cardCell.geometry.width, cardCell.geometry.height, 'Optional');
  538. }),
  539. this.addDataEntry(dt + 'overwrite', 300, 60, 'Overwrite',
  540. 'zZTBboMwDIafJteKwlZpx9J2PU2a1Mt2TMGCSCFGwS3Qp58DAUrXSj3ssAOS/cd2bH+AiDZFs7eyzD8wBS2inYg2FpF6q2g2oLUIA5WKaCvCMOBHhO8PTpfdaVBKC4aeSQj7hLPUJ+iVdUIKTS9X1Gov51Rwc9uliOIql6VTiyZzfS+qtir0QlUbNGSRo+I6VwSHUiYurOYg1qRWmWE34c7AsuBvBkvQPOy+k3zre8ACyLYc4hPe+uGCWqWU+wQ/cJCDynJfZeU1WfV+NlaaVsOG3879TUW/NiXClSzcaJq6ca495Llqy1sY5WwW5L2bJUOawcG7oI9Y7yYhviLQnbGdo1UX3rp0S69IWlpb251gCbzs2OLJpOAmCFyaSYdzg8bVdNtXidRrD+eIRFi40EbR15DG9rezF6/DNQd1cT0uw3EK1/qMYoUnm8DsLXsCrAUtSZ3npe5h86mfqLhiGLQe0g1o7jUD8kE3rMdbn8L/8g/xD/TmaO+ifwyav9l2JO2cCTUX/XegmwG0J/3X4Nmd/r59+PXP+Qc='),
  541. this.createVertexTemplateEntry(s + 'paramSet;whiteSpace=wrap;align=center;',
  542. 160, 100, 'Action', 'Parameter Set', null, null, this.getTagsForStencil(gn, 'paramSet', dt + 'parameter set').join(' ')),
  543. this.createVertexTemplateEntry(s + 'paramActSet;align=left;spacingLeft=15;verticalAlign=top;spacingTop=-3;fontStyle=1;',
  544. 250, 120, 'act', 'Parameter Set', null, null, this.getTagsForStencil(gn, 'paramActSet', dt + 'parameter set').join(' ')),
  545. this.addDataEntry(dt + 'probability', 120, 160, 'Probability',
  546. 'zVTLboMwEPwaXyNi2uQcoM2llSqlP2DMBqwaG9lOA/n6rsEhb7WRqqoHJO/sjj2eQSZxWrdLw5rqVRcgSfxE4tRo7YZV3aYgJaGRKEicEUoj/Ah9vtGd9t2oYQaU+wmBDoRPJjcwIAvuhFYDbF0nA1y5GsVlUxIntmKNR+u29LontrO1nDRG5ywXUrgOZ7aVcLBqGPeDWxxDjElRKiw5agODQDgbjIP2pv4eCuKXoGtwpsORrShcFSbCHaMKRFntabMAMjsA5cg92IGL4Mh1d+ILd8g88fqO7oqH+86M0HiKy6QfXjXAxVpwNngZkXl24agBK3Ys70tPPHJ475SEtfNbokO4l1wEONfO6RobkuUg37QV/TEX8y9n7VNewvhHafRGFamWGvPIlFYoJllr5VZi53X1N7IYo1BlEtgZfRyz41op4C7cYvzbvsuUXs+0PcuzG+qHX0jy4X8m6XRzf4xHpHszfPfUPw9wrO9IEMvDK9j3Th7JLw=='),
  547. this.addDataEntry(dt + 'probability', 120, 160, 'Probability',
  548. 'zVRdb4MgFP01PK6x0I/nqVtfuqRJ9wdQqZIh1yDttL9+gFRb22Zrsix7MOGec0+4nCMgEpXNStGqeIOMCUReEIkUgO5WZRMxIRAOeIZIjDAOzIfw6x126tigoopJ/RMB7gQHKvasQ2iqO6zWrfBYoUszWTxFJKwLWlm0bHI79KRu61JMjGijIDE8FTyXhhdsp217RVMu87Wr4rlBDkxpnlLx7Bs1VEPfuy3iJ2KQHUi99SPYjf2gRs2au4d1kD/pikHJtGpNyyfPdOE7vCFBwXhenGQLD9K6A/JeO3hnFt6+21aSKyvRMrTzGWNowgXXdhTHLBAm08CaYZu3FUv5zniiOUjbsoyvElCs5keauNIKzxIZOT72NwGtoTSEoAkTG6i52+aqfz2iL3UhTT9yBXuZRSBAGV6CZKeY+NGlFAxBhl4d43mfXQpSslT7U/S/5neZ4tuZNqM8266e/UKSs/+ZZHdTHozxTPRoht1l/OsA+/qBBE05PJmOu3hRvwA='),
  549. this.createVertexTemplateEntry('shape=rect;html=1;whiteSpace=wrap;align=center;',
  550. 120, 60, '&lt;&lt;continuous&gt;&gt;\nObject Node', 'Rate', null, null, this.getTagsForStencil(gn, '', dt + 'rate').join(' ')),
  551. this.createVertexTemplateEntry('shape=rect;html=1;whiteSpace=wrap;align=center;',
  552. 120, 60, '&lt;&lt;discrete&gt;&gt;\nObject Node', 'Rate', null, null, this.getTagsForStencil(gn, '', dt + 'rate').join(' ')),
  553. this.createVertexTemplateEntry('shape=rect;html=1;whiteSpace=wrap;align=center;',
  554. 140, 120, '{ rate = constant }\n{ rate = distribution }\n&lt;&lt;continuous&gt;&gt;\n&lt;&lt;discrete&gt;&gt;\nObject Node', 'Rate',
  555. null, null, this.getTagsForStencil(gn, '', dt + 'rate').join(' ')),
  556. this.createVertexTemplateEntry('shape=rect;html=1;overflow=fill;whiteSpace=wrap;',
  557. 140, 80,
  558. '<p style="margin:0px;margin-top:4px;text-align:center;">' +
  559. 'Object Node</p><hr/>' +
  560. '<p style="margin:0px;margin-top:4px;text-align:center;">' +
  561. '&lt;&lt;rate&gt;&gt;<br/>' +
  562. 'rate = constant<br/>' +
  563. 'rate = distribution</p>',
  564. 'Rate', null, null, this.getTagsForStencil(gn, '', dt + 'rate').join(' ')),
  565. this.addEntry(dt + 'rate', function()
  566. {
  567. var cardCell = new mxCell('act', new mxGeometry(0, 0, 200, 100), s + 'isActStream;align=left;spacingLeft=5;verticalAlign=top;spacingTop=-3;fontStyle=1;');
  568. cardCell.vertex = true;
  569. var label1 = new mxCell(
  570. '{ rate = constant }\n{ rate = distributuion}\n&lt;&lt;continuous&gt;&gt;\n&lt;&lt;discrete&gt;&gt;',
  571. new mxGeometry(200, 50, 0, 0), 'resizable=0;html=1;align=left;verticalAlign=top;labelPosition=left;verticalLabelPosition=middle;labelBackgroundColor=none;fontSize=10;spacingTop=5;');
  572. label1.geometry.relative = false;
  573. label1.setConnectable(false);
  574. label1.vertex = true;
  575. cardCell.insert(label1);
  576. return sb.createVertexTemplateFromCells([cardCell], cardCell.geometry.width, cardCell.geometry.height, 'Rate');
  577. }),
  578. this.addDataEntry(dt + 'rate', 300, 60, 'Rate',
  579. '7ZVNj5swEIZ/ja8RgTarHgO73dNKK+XSHh0YgbXGg+xhA/vrOwZDlnxUqOqhhx5QPK/H43dGD0EkWd09W9lUL1iAFsmTSDKLSOOq7jLQWsSRKkTyKOI44kfE3+/sbofdqJEWDK05EI8H3qVuYVT2OSk0o+yo10GuqGZzj1uRpK6SjVfrrvS+N653td4ol6Ehi5yVnipFcGhk7tNOnMSa1Ko0HObsDCwL4WawBN1d94MUrD8D1kC255Rw4NvYXHRSBVXhQGg4qkCVVaiyC5p0Y1zOlc6j4UWYzu1JJVeTEg/cQ2QlAf8MUpSjcSTZPAsPLOxEnGwj3+x1bqEcWXVsqfXzXmbHO1n7oWm6ivgKUqbF1s16uciaojXF2ENuwZv6XakLFKAo4RBC0Ec8PZ2F9BMnwx6vK7Tqg11LjwaPx9Le2mEHG2AkUoutKcDP2fsFU0z7Bo2v6RlRudT7gBChNwedoh/TGV7/9OvNV9+aPIJOZf5WDpUz1GjP1QYHB/Xh7W/juUHf1QJDh63NYfGarCDTgpak3pelbnEXjr6iGnDpA2UXpLLXEigkXcA637qK3y//+f1Dfif8lmzeZPcOqfy/2M+o+mAtq3zfP0dqN5EaUP3b5HJ4/v6N6Z8/j78A'),
  580. this.addEntry(dt + 'control flow', function()
  581. {
  582. var cardCell = new mxCell('', new mxGeometry(0, 0, 60, 40), 'shape=rect;html=1;rounded=1;whiteSpace=wrap;');
  583. cardCell.vertex = true;
  584. var cardCell2 = new mxCell('', new mxGeometry(100, 0, 60, 40), 'shape=rect;html=1;rounded=1;whiteSpace=wrap;');
  585. cardCell2.vertex = true;
  586. var edge1 = new mxCell('', new mxGeometry(0, 0, 0, 0), 'edgeStyle=elbowEdgeStyle;html=1;elbow=horizontal;endArrow=open;labelBackgroundColor=none;endSize=12;');
  587. edge1.geometry.relative = true;
  588. edge1.edge = true;
  589. cardCell.insertEdge(edge1, true);
  590. cardCell2.insertEdge(edge1, false);
  591. return sb.createVertexTemplateFromCells([cardCell, cardCell2, edge1], 160, 60, 'Control Flow');
  592. }),
  593. this.addDataEntry(dt + 'control flow', 160, 60, 'Control Flow',
  594. 'zVNNb4MwDP01ufNR7d7Srqed+AUpsUi0ECMTCu2vnyEZDGnVusu0QyT72c/4PRKRF814JtnqN1RgRX4SeUGIPkTNWIC1IkuMEvlRZFnCR2SvD6rpXE1aSeD8M4QsEK7S9hCQAHT+ZiPQadlOIUHFIw/aN7zlMeWQsHcKVMwGbTyUraym5oEVMRanA3kYH244Q3G9M2ADnm7cMhjldeh4CSISDabWkbWLmOxCXi/MVS4HUfH36vP/q/6TkESZf+DG7mc3QNVQxhTsBYfTCnz1Zq5xrJHMHZ2XdgKd2hPNOLbgGLHyAvYgq/d6NrNAi8RVh26ap2SnF3+ZXJr79N00W6yd1tkY22FPFWyutpdUg9/87yfsJ7DSm+t2+i/M5XR9xHNt88Y/AA=='),
  595. this.addDataEntry(dt + 'object flow', 260, 60, 'Object Flow',
  596. '3ZVNb8IwDIZ/Te4lZdxHYZw49bBzaKwmIo0rN1Dg189tM1g10JDQkLZDJft1X8d5+hGRZtVhRao2a9TgRLoUaUaIYYiqQwbOCZlYLdKFkDLhS8i3G9VJX01qReDDPQY5GPbK7WBQBqEJRxeFxqi6CwkKbjk3oeIpFxMOCXdeg45ZEwi38G51MKxIVlpjA+S1Kjp7y3tkLa4HFOBwc+ZeigOvACsIdORb2tibq7NhW4kBW5romkZNNUNenp0XABxEBtd5pI/w+H0Cn4YkbvUJRKZ/6Q2JBvlEPi8/8wFdQh5TcBtslxfhK62+xrFBsif0QblO9PqVqNexBs+KUxtwc1Vsyx5vhg6Jqx49XIXMHXJ76hafyDPfbqYR3QZ3VMDorxAUlRBGH8Ydz4DAqWD34+6PEJ79Q8Lpd8LTpxHm9HLC9LXRAfQB'),
  597. this.addEntry(dt + 'object flow', function()
  598. {
  599. var cardCell = new mxCell('', new mxGeometry(0, 0, 60, 40), s + 'objFlowR;strokeWidth=2;whiteSpace=wrap;');
  600. cardCell.vertex = true;
  601. var cardCell2 = new mxCell('', new mxGeometry(140, 0, 60, 40), s + 'objFlowL;strokeWidth=2;whiteSpace=wrap;');
  602. cardCell2.vertex = true;
  603. var edge1 = new mxCell('', new mxGeometry(0, 0, 0, 0), 'edgeStyle=elbowEdgeStyle;html=1;elbow=horizontal;endArrow=open;labelBackgroundColor=none;strokeWidth=2;endSize=12;');
  604. edge1.geometry.relative = true;
  605. edge1.edge = true;
  606. cardCell.insertEdge(edge1, true);
  607. cardCell2.insertEdge(edge1, false);
  608. return sb.createVertexTemplateFromCells([cardCell, cardCell2, edge1], 200, 60, 'Object Flow');
  609. }),
  610. this.createVertexTemplateEntry(s + 'objFlowR;whiteSpace=wrap;',
  611. 120, 60, '', 'Object Flow', null, null, this.getTagsForStencil(gn, 'objFlowR', dt + 'object flow').join(' ')),
  612. this.createVertexTemplateEntry(s + 'objFlowL;whiteSpace=wrap;',
  613. 120, 60, '', 'Object Flow', null, null, this.getTagsForStencil(gn, 'objFlowL', dt + 'object flow').join(' ')),
  614. this.addDataEntry(dt + 'probability', 350, 80, 'Probability',
  615. '7ZXbboMwDIafhnsKZb3uabvZpEp9ggAeiRZiFExPTz+H0FK2Vuu0TdvFLpCc3wdsf0EE8bzcPVhRySfMQQfxMojnFpG8Ve7moHUQhSoP4kUQRSE/QXR/xTtqvWElLBi6JSHyCRuhG/CKF2ra606opaicaSWWaVMH8UxSyY0uRmxupSJYVyJzEVseg7UNWFKZ0I8iBb3CWpFCw+4UibA8C5hqVZjSd0roUrtu2A+7qxO1UjfOA2AJZPccckxIEp+y9+exX0C4VTnJoSRBFZKGmqj9uTgV7rfHRrfAy8uMP14m5AWsuyPoFLfLXjjfa+tjW6JVBzQk2DETbl+OhG97uMfzBYPJp9a2BQwaV9piY3JwfYZ80o7MTGQvRavPUaPtY2sSlo75WIE5amt1cH2PohMpN86AU42NzWBwt25AZ0ELUpthqUskutQVKq7YI58kwxRutgDqot7wO732JqTj90gnMzeUxVSkSity/bceH7SuIFPPTKW99OyaLL58CY6cb0TeIfsMcs7+q3DjJBx8z3fhT7FO/ln/FuvvZsvH/h/qw89/sa8='),
  616. this.addDataEntry(dt + 'probability', 250, 60, 'Probability',
  617. '7VRNb4MwDP01uVYU1vVc6NrTpGlctmMAF7IFjEJaYL9+Dkk/aJlU7bTDkBD284t5PIewICq7reJ18YwZSBY8sSBSiNpGZReBlMz3RMaCNfN9j27mb36ozoeqV3MFlb5ngW8XHLjcg0VWqRZYWbjRvXRwoUsSt56zIGwKXhu07HKje9b0TSlnmHxsJLavRGgLoSGueWpYLXEI41LkFaUpCQNFgHsxKA3dj+IHyCnfApagVU+UVmS6cIxH+4FeASIv3LIjxhub56elZysocG5MOxPcOMOWoZGnMOGJkEIbJUPFkuIaUrETKbf+eWy5vnERshxil1ZY0SO8MPbGI+MONZQrV0hQayypAFW2UgpbwrCGyiKx+DJ9575JO6HfXFsTv1PszRaU7YSUEUpUg6JgN1yES56ADHn6mSvcV9mR4lTaLzHyR7NqcK9SGG2lO8Y3nrcCSZYdxo2nJucavaCg/qcu/uJq2JqrHLRjXc37JOKuLfDwB7eAxvp//pPz76f//V9vB0rP57ClXx7T3w=='),
  618. this.addDataEntry(dt + 'probability', 250, 60, 'Probability',
  619. '3VRNb4MwDP01XCcK23ou7dbTPiQu2zGAC9lCjIJb6H79HJK2o2ulqqdpSAj72THPfoYgntf90oimesICVBA/BPHcIJKz6n4OSgVRKIsgXgRRFPIdRI9nopMhGjbCgKZLDkTuwEaoNTjkJfuAnBh7Zj4u2tJW+WhbicaaxubESVdJgrQRucU67oIxoWSp2c2ZAhgG/CvAEPRnaQ6Q57gErIHMllM6WVDlM+5dK2EFsqz8sR0mWueX+6OHptnwfZ+eQfxrBsE0sfQMZiKTSpJlMkRcUtpALlcyFyRR29B08WtQUJSQelej5kdSUc0UFpNTM7LT4YJq5gMZEmHNAdDFzBjsGMMGtENS+WXrTiLr9pLefFlrv7Md3sTsraRSc1RoBkbxargYVyIDlYj8szS41sUuxbN0nVj6I61aXJscRktzgXxjvQ0oHtlmXPiUcr7QK0pNhyrR3ZHYJEwJ5LOO9N6TuGgFbv/gChA21+s//c/6b09/+1evA7uHP65L//lD/gY='),
  620. this.createEdgeTemplateEntry('edgeStyle=none;html=1;endArrow=open;endSize=12;verticalAlign=top;labelBackgroundColor=none;', 160, 0,
  621. '{ rate = constant }\n{rate = distribution}\n&lt;&lt;continuous&gt;&gt;\n&lt;&lt;discrete&gt;&gt;',
  622. 'Rate', null, null, this.getTagsForStencil(gn, '', dt + 'rate').join(' ')),
  623. this.addDataEntry(dt + 'in block definition diagram activity association', 400, 250, 'In Block Definition Diagrams, Activity, Association',
  624. '7ZZNc5swEIZ/jY7NgGSTXBM7yaW91JlprwI2oFgfjJA/6K/vCoQNxe64044znfbgGfbdXSQ9i98RYQu1f7a8Kj+ZHCRhj4QtrDGue1L7BUhJaCRywpaE0gh/hD6dycZtNqq4Be0uaaBdw5bLDXRKmuedVrtGBq10Cne2jAl7qEteeVXtC7/pm7qplbypeLbmBeoPkqcgv2LBbI4Rl6LQGEh4db4Z64QuPrbR0hdswTqRcXkfCp2pjnUvPlh+YKi8Gu1WYUPtNpw1a/giclcGxUK2sbXYwmeoxTdfF6EajoerwP4solYKfJ7BKHC2wZJdeDtmGeswRiWIogxtdB5EXndCceg9EseHAP30ANhkAIQmXHkK0rUHGEY8c2IrXHNQi1FNHxHK4mhUHmmuYDLXfpjIzncOxrwrhYMVjsGndzjpwTAzBAf2Urj0NNzQ0HNtunAWwgH6mJ5An/wB8rP/5Afk4+SK6OcT9J6X0QOAJ6mBzu+tNTuMtNEwBgd5Ab1FhCzWPwm/i9YLaset6/tzwZXR+UspdJ8KpXEfrzobienUyH60rdQ4Z9RhMH4rPx8LHstsbAYjE8BFC3CDr/Ps8MJrLUiO39l4rd8ZTPJv/yfiu/ezo9tfQp9Kk60v5B5q/xboV3Wiuwl1k755FAMnwnvZFYzp/dwnmbrP7TXcB8PjRbfNje7B3wE='),
  625. this.createVertexTemplateEntry(s + 'actPart;strokeWidth=3;verticalAlign=top;rotation=-90;whiteSpace=wrap;',
  626. 100, 100, 'Partition Name', 'Activity Partition', null, null, this.getTagsForStencil(gn, 'actPart', dt + 'activity partition').join(' ')),
  627. this.createVertexTemplateEntry('shape=rect;html=1;rounded=1;strokeWidth=2;verticalAlign=top;whiteSpace=wrap;align=center;',
  628. 140, 50, '(Partition Name)\nAction', 'Activity Partition', null, null, this.getTagsForStencil(gn, '', dt + 'activity partition').join(' ')),
  629. this.addEntry(dt + 'interruptible activity region', function()
  630. {
  631. var cardCell = new mxCell('region name', new mxGeometry(0, 0, 160, 60), 'shape=rect;html=1;rounded=1;verticalAlign=top;dashed=1;strokeWidth=2;whiteSpace=wrap;align=center;');
  632. cardCell.vertex = true;
  633. var assoc1 = new mxCell('', new mxGeometry(0, 0, 0, 0), 'shape=mxgraph.lean_mapping.electronic_info_flow_edge;html=1;edgeStyle=none;align=center;verticalAlign=bottom;exitX=1;exitY=0.5;fillColor=#ffffff;');
  634. assoc1.geometry.setTerminalPoint(new mxPoint(250, 30), false);
  635. assoc1.geometry.relative = true;
  636. assoc1.geometry.x = 1;
  637. assoc1.edge = true;
  638. cardCell.insertEdge(assoc1, true);
  639. return sb.createVertexTemplateFromCells([cardCell, assoc1], 250, 60, 'Interruptible Activity Region');
  640. }),
  641. this.createVertexTemplateEntry('shape=rect;html=1;rounded=1;dashed=1;strokeWidth=2;verticalAlign=top;whiteSpace=wrap;align=center;',
  642. 160, 60, '&lt;&lt;structured&gt;&gt; node name', 'Structured Activity Node', null, null, this.getTagsForStencil(gn, '', dt + 'structured activity node').join(' '))
  643. ];
  644. this.addPalette('sysmlActivities', 'SysML / Activities', expand || false, mxUtils.bind(this, function(content)
  645. {
  646. for (var i = 0; i < fns.length; i++)
  647. {
  648. content.appendChild(fns[i](content));
  649. }
  650. }));
  651. };
  652. Sidebar.prototype.addSysMLInteractionsPalette = function(expand)
  653. {
  654. var s = 'html=1;shape=mxgraph.sysml.';
  655. var gn = '';
  656. var dt = 'sysml interaction ';
  657. var sb = this;
  658. var fns = [
  659. this.createVertexTemplateEntry(s + 'package;overflow=fill;labelX=95;align=left;spacingLeft=5;verticalAlign=top;spacingTop=-3;', 160, 80,
  660. '<p style="margin:0px;margin-top:4px;margin-left:5px;text-align:left;"><b>sd</b> Interaction1</p>',
  661. 'Sequence Diagram', null, null, this.getTagsForStencil(gn, 'package', dt + 'sequence diagram').join(' ')),
  662. this.addEntry(dt + 'lifeline', function()
  663. {
  664. var cardCell = new mxCell('b1:Block1', new mxGeometry(0, 0, 160, 60), 'shape=rect;html=1;whiteSpace=wrap;align=center;');
  665. cardCell.vertex = true;
  666. var assoc1 = new mxCell('', new mxGeometry(0, 0, 0, 0), 'edgeStyle=none;html=1;dashed=1;endArrow=none;align=center;verticalAlign=bottom;exitX=0.5;exitY=1;');
  667. assoc1.geometry.setTerminalPoint(new mxPoint(80, 150), false);
  668. assoc1.geometry.relative = true;
  669. assoc1.geometry.x = 1;
  670. assoc1.edge = true;
  671. cardCell.insertEdge(assoc1, true);
  672. return sb.createVertexTemplateFromCells([cardCell, assoc1], 160, 150, 'Lifeline');
  673. }),
  674. this.addDataEntry(dt + 'execution specification', 160, 220, 'Execution Specification',
  675. 'xZTbboMwDIafJveU7NDbQrdeTZrUJ8iIR6IFgkJa6NvPJS40W6sxddKQkOLTj/1hhfG86jdONOrFSjCMPzGeO2t9OFV9DsawNNGS8TVL0wRflj5fiS6GaNIIB7WfU5CGgr0wOwietwXjq8zY4oPEWn8wFGuVaI5HBwWqZ8pX2PAaC7JOaQ/bRhTHcIfjoE8YXdZoFtgLOHTQt8B56K/2O7io2Q3YCrw7YEqnpVeU8RBmShToUlHZySfaYJdj6TQ9HgjAZRj8G4xfEHjXxuTWWDckchieG4emgkea7UDJCdlnTNILSJZ/gOTuZyQgS9iSWdsaYixStAokGVDLlXO2mzKD2lEiYtPanSsgWlEvXAk++lEzCDowwut9rH4LkPv/BzJ/+njhZrMgoVerUX9UWcZbOK7cSSH8ICr6AnTs6RJjNKcLL6Sf34ef'),
  676. this.addDataEntry(dt + 'execution specification', 160, 220, 'Execution Specification',
  677. 'zZTNbsIwDMefJvfSbBNXKBsnpEl9giyxmmhpU6WBlrefIaaQUaRKm7QdKsVf/9q/WGG8qIetF63eOQWW8VfGC+9ciKd6KMBalmdGMb5heZ7hx/K3B9HFOZq1wkMT5hTkseAg7B6i52PB+GptnfwksS4cLcU6LdrT0YNE9bUONTa8wYJ1r02AshXyFO5xHPQJa6oGTYm9gEcH/Qt8gOFhv2cXNbsFV0PwR0zpjQqaMl7iTJkGU2kqu/hEF+1qLL1OjwcCMA2D38GAAWTZgvxPJKiALjY7UnJG9i2ofALU8hdAPd2BugMEqoKSzMY1kEJSotOgyIBGrbx3/TUzqp0kEjid23sJyeIG4SsIyfXNQOjBimAOqfpPgDz/PZD506cbN5sFCb07g/qjyjJdw3EtLwrxgqjoG9CxpynGaF6fwZh++0p+AQ=='),
  678. this.addEntry(dt + 'use', function()
  679. {
  680. var cardCell = new mxCell('Interaction3', new mxGeometry(0, 0, 160, 60), s + 'package;labelX=40;whiteSpace=wrap;align=center;');
  681. cardCell.vertex = true;
  682. var label1 = new mxCell('ref', new mxGeometry(0, 0, 0, 0), 'html=1;align=left;verticalAlign=top;labelPosition=left;verticalLabelPosition=top;labelBackgroundColor=none;spacingLeft=5;spacingTop=-2;fontStyle=1;');
  683. label1.geometry.relative = false;
  684. label1.setConnectable(false);
  685. label1.vertex = true;
  686. cardCell.insert(label1);
  687. return sb.createVertexTemplateFromCells([cardCell], cardCell.geometry.width, cardCell.geometry.height, 'Interaction Use');
  688. }),
  689. this.addDataEntry(dt + 'combined fragment', 350, 320, 'Combined Fragment',
  690. '1ZhRb9owEIB/TR6Z4pjQ9pHAVk3apGmdtL2a5EiiOnHmmAL79btghyQYSsTCSiUQ8fnuHH/nO9s4dJZtHiUrkq8iAu7Qjw6dSSGUfso2M+Dc8dw0cujc8TwXv4736UQv2fW6BZOQqz4GnjZ4YXwFWuJ4E46mQYHiUm25Fk9+r6pXCjIm4zR36NQtNvvmSIkCReO2iMMS9adE6ynYqBHjaVyZ6q6gcYpPsfndDb2oBWVUi3AGi0bN1Z/PuQLJQpWKnLQUi0bR60zCS1SGhOekcp2wopJmm7iC/6Hclhn/ULDwmcUoDzhbAP9VKbsuNluW4gXkkos1NpcpwkRfSopn+JlGKjE6EsKVLNMX+A5l+qcax92/D5ojjpPx2olMsB5BZKDkFlXWxjv2Ul/H1E0gjRNjRk2gXVZqQby3bcKPD2YFHF8N1FoNC5zNFEUBF+EzsYDWFHG+qktpnaQKnpBn1b1GxCgzC2AeQhW4vkC840CMATXT3urm2DRbuO6P0RoA1tiG5bVgeTcIi4zfjJZv06ItWvQGaXn+m9GaWLQYVrchyhn1sbUUuXoyfkiLnqnMFbU0ZHxqxLvyHpToLc3jLzudud9IflTd8xEdiHoX+oMN3XOPUCeTAbDfHdkND5hDHk2l3FX/XOTQXZkQxVBzNb0RKxOITL/2Vmm9DgdHFCsZQqsq27wkcKZwi+m4OjZ7Y/pNpDjInvNdlzN1D/gp3MdBGaMDhPu36EX1/iapjq9Cldz/N6wPN4nVvwrWfRm4Plbi3gjX4SF2GZK7fgxtP+cc6fUwSDCIHQw/SJe7l6leoz70uxg2f/5aoEQB+dlAHe58C6GUyOr9M8DtNJZilUczwYVszHCYJ33MJ94/RdgQHhmLYUs88fvF6WxRsxwNmH32hTQrY/viUZ9YpD4BtMN6YQz1EKHIczxwskU9UF0NzlzaTtzauha9w9n3vELsCxumB/AS3jAZDkPzPpLDOrZfmhyWowGTw75yYnLY29OtJceJA+y1k8O+ciIt+6L53vaIgdf9w4Xr/vBIZjm6eN1js/kDVKu3/x/9Cw=='),
  691. this.addDataEntry(dt + 'state invariant configuration', 120, 220, 'State Invariant / Continuations',
  692. 'xVTLboMwEPwaXyMCpfeEtDlFqpRTjxbeYksGI9sJ8Pdd4gVCHhJSpfSAvM9hZ7wyS7Ky3Vtey4MRoFnywZLMGuODVbYZaM3iSAmW7FgcR/ix+PNJdn3JRjW3UPklDXFoOHN9ghBhyeY7BJ3vNAWd5HVvWsgRdit9iZPu1mg2Unk41jzv0w3ywBjXqqjQzXEIsBign4D10D4d9BKiKfdgSvC2w5JGCS+pgshEElQhqS2lGHfBL8bWiTYaxPyxCsmdCnV/IMP0Toor7oMqZVv0F7hynSv1Kjc9o+0PHkdqe4lQHWUjEuQVwr3dr8+tXiAKGHSoTAXz9RHcSRDkQCU21ppmqgxoPcRMDWdONofZBntuC/Cz61ygmQXNvTrP0f8iSPr/gixnP1+xxVoQ0JdRiD+ivNM60RoOD8+IEC6Imm4EHWd6pDG603sYyq+fy18='),
  693. this.addDataEntry(dt + 'coregion', 250, 220, 'Coregion',
  694. '1ZZbb4IwFIB/TV8NUJjuUXHzackSH/bcwRk0K5S09bZfv0ILCmjmJmpmYtJz5ZzvlFKEw2y7EKRIX3gMDOEnhEPBuTKrbBsCY8hzaIzwHHmeo//Iez5hdSurUxABuTonwDMBa8JWYDQSBbMVCuYIT2fGKNWO1caUFOVSQKTTz1KV6Yrnrl5uUqpgWZCoNG90P1pHGE1yLUa6GBBaYR8GQsH2ZMGVyla7AJ6BEjvtsqGxSq2HY5pyUqBJasMCqyPSyEkTum9fLyyB4zRwj0aPwEHLNYxsm5TzG8mdzNgo4gISyvPSQQn+CW+2cHwhABvg2z53HRYHfLwjeMYD4PF/xlMz0YG0kNDeIx+UsZAzLipf7FS/gahM2lTcSY+K34fiX84k+D9M/FsxefiZCcQJLK2Y87wDJSYyhdgKkMdTIfhm72mylSlaZCRfiQha55oiIoF2Y2fwE8CIout29kuAjO8PxO8DCe4HZHJ/IFfo3oa+cqozNq9h0D6wm9O5zmBGYoM6CJsqzqL62KOa4WG5Sl2sqnW8gPIrV55RNCJsar/271wpntXOS/pVPsn1frVNrz+V7ljc643FdfpzGXi/X30uN3tbenPp3uv+PBct7u/Vxv3w2v0N'),
  695. this.addDataEntry(dt + 'creation destruction event', 250, 220, 'Creation/Destruction Event',
  696. '1Zdtb4MgEIB/jd8VtNs+tt3LlzVZ0l9A9aZkKAZZbffrh4J2SJfZ9W0zacLdcVfuOTzEw/N88yRImS14AszDDx6eC86lHuWbOTDmIZ8mHr73EPLVz0OP31iD1uqXREAhxzgg7bAm7B20ZhV4eDpjPH4zwSq5ZcZWZaRshgJiFX2WyVwt+F45zOqMSliWJG7MtUpH6QijaaHEWK0FhFKY/wIhYfPteluVWewT8Byk2KopNU1kZmb4Oic/A5pmxg0bHam0nPauu+zVwADYDwO7MFAHA/0lGJ1DZJLeajk04iVYhQ6rnwC9UsbmnHHRWjG0jw3uFEzubCY3LhO0B0nP6Rgm0XgmypGWFbhY/PY5OZbw1qISYYdK6EIJj0cy+TdIgk4+O5Obn5lAksLSiAUvGigJqTJITPpQJFMheL0zO2yaEBaZir+LGKy2L4lIQVqbdwQ/AYxIurajHwPk9vpAIhfI5HpA7q4P5AzZG9cXTlXE/jUcnGF9d+4i6JIYpwHCfhWjqAa+gzUWQCSMgfuFJy9BneSzpvnQmLCpOdlXXEqe66lL+tH4BugUGxFfqhTDWgRnrEVw2BYHtuL1w06xpx7tFCV2dTm2EhO3EuHVKhGdrxLuFeDA96HaVovnjYW7SczuR4exvxxof9B+ht+BvwatxN01Tk//esv7BA=='),
  697. this.addDataEntry(dt + 'duration constraint', 250, 250, 'Duration Constraint',
  698. 'zZbNjpswEMefxpdKQXwsjXoMod1DVW2ltA/g4hFYMhjZzibp03ccuwnBREFbVO0himfsGWZ+/5GBZNv2+Kxo33yTDATJPpNsq6Q0btUetyAESWPOSFaSNI3xR9Ivd3aT827cUwWdmROQuoBXKvbgPCTb/NSgnF+bk/B+3dDeLhVUmLloTIvFlgkuDw03sOtpZbcP2Ar6qOB1h2aFdWCyrPDPAWXgeLfWs8sX+gyyBaNOeOTAmWn8idj1EzfA68aH5d5HtbPrS+i1c1z45qdBZCGIdcGiKPvAyLoMaAza/wumPdZWxkifdCsixlvoNJcIoVDSUHNelqtPMTosBl5RsfGUjLTMNCLkXf3DGuUq/xdiPmDl1Y9PI3qPiD4tQPQpJDqmCKyGnTc72eFfwahugHm00LGNUvJw3R5wd9lsihs6Wu5VBTfTPQOYAoESvd6mmureh36XHDNeQOe3nIOJNFTVYHzQCOGlillU84DqFu8N9Nh9tldu0GaAHpAcYJY9dBMD+ksaI1t3dMd/2zRJel+D/w58PeLthiDgHaR5lGc53T6GulHFXva2GLxp4ihKsqmLZjHl/O1SeLvM36+ayUwZHsoZJLozF2/Qcx3o+fJ1cfEm3gvvWLY0Xkq28evnzbKhef2WcseHn1p/AA=='),
  699. this.addDataEntry(dt + 'duration constraint', 250, 200, 'Time Constraint',
  700. '3ZbbUoMwEIafJpcyHFq5LqC9cJw6U18gJStkDIQJoQef3kBiQZFprVSrF0yzm/13tv9HMiAvzLZzgYv0nhNgyLtBXig4l3qVbUNgDLk2JciLkOva6kHu7cCu0+zaBRaQy2MErhasMatAZ3SilDtmEkASWJow57n6CVKZqUkjRy0JLlMgJoCczITgm7ZSd6tbDA7YpMx0c+AZSLFTJQIYlnT9XodLHSb7ur30gVPV0bW35o/Z7xUlr0QMpqhryIBu9xZ+6COxSED2+qhFZ/o21dj9ufXev7XeO9V778fMn/TMD7Egi6qeBvmBbVmOh/zoi0Q6EHgBucqsQUgaYzZjNFFxtOJS8kxtlAWOaZ4EJo6mWr6kL3Vrx72Es2MwOJPjMBzk2Ws08GKcwHPa47m4Gx2e5EVL7rEOLhqbPxY252zYrvt3oB9Iy1J9g++dP7OJDTpBk1SZHzC8Ahbg+DkRvMpJyBkXY1yZxroro/htkkPC8cj5PXKy8XEzGjIGT3+I2KGr7ujDNz3XnanC9rtSl3c/O18B'),
  701. this.addDataEntry(dt + 'message', 250, 250, 'Message',
  702. 'zZbfboIwFMafhmS7gzJ1t4LTqyVLeIIKJ9CsUFKqyJ5+B1tUQDNHCHpB6L/zcc7vowXL9dPDRtI8+RQRcMv9sFxfCqF0Kz34wLlFbBZZ7soixMbLIusbs85x1s6phEzdE0B0wJ7yHeiRrWO5S4+L8NuIFariZq5IaF43JYSo7iUqxYRXGOCVCVMQ5DSsp0ssB8coZ3GG3RBzAYkD5lkgFRxu5nscMsluQKSgZIVLShapxKywdU12AixOTJhrxmih+/Ep9Fw9NgyA6zDcPgzSwCDPBKMJmJmip4Dz1oPTIwJRDIHpZiLDmxfRIoHIcLlABFm0lFKU55VarZZo0SjETobQelnvACSBU8X2balr1ZvQL8FQ8QS24VqZ5846/BSVMSgT1EF4yuIuqrPHU3WnokrsybDOe1hpUWVhgHuQ8nsIX4cqcsA97NWbloWUL82e3gqlRKqXBuynlnHIbfiTv7+LDmftfo/zn4Z1dcbza9Hzq7bLp5y/IC2avg73bFuf3v8wDbtrxhuhZ7HQmY/kYU9oPBPfB51lo+y0tmmt4/FhDvaOO3ughd2vUVdnsIPYPf9p6uWXP6K/'),
  703. this.createEdgeTemplateEntry('edgeStyle=none;html=1;endArrow=sysMLLost;endSize=12;verticalAlign=bottom;',
  704. 160, 0, 'lost', 'Lost Message', null, this.getTagsForStencil(gn, '', dt + 'lost message').join(' ')),
  705. this.createEdgeTemplateEntry('edgeStyle=none;html=1;endArrow=open;endSize=12;verticalAlign=bottom;startArrow=sysMLFound;startSize=12;',
  706. 160, 0, 'found', 'Found Message', null, this.getTagsForStencil(gn, '', dt + 'found message').join(' ')),
  707. this.createEdgeTemplateEntry('edgeStyle=none;html=1;endArrow=none;verticalAlign=bottom;dashed=1;strokeWidth=2;',
  708. 160, 0, '', 'General Ordering', null, this.getTagsForStencil(gn, '', dt + 'general ordering').join(' '))
  709. ];
  710. this.addPalette('sysmlInteractions', 'SysML / Interactions', expand || false, mxUtils.bind(this, function(content)
  711. {
  712. for (var i = 0; i < fns.length; i++)
  713. {
  714. content.appendChild(fns[i](content));
  715. }
  716. }));
  717. };
  718. Sidebar.prototype.addSysMLStateMachinesPalette = function(expand)
  719. {
  720. var s = 'shape=mxgraph.sysml.';
  721. var gn = '';
  722. var dt = 'sysml state machine ';
  723. var sb = this;
  724. var fns = [
  725. this.addDataEntry(dt + 'choice pseudo state', 150, 100, 'Choice Pseudo State',
  726. 'zZXbcoIwEIafJvcctPeC1ulFZ5zxCYLZQqaBZUJQ9OmbkKCgMqVjnfaCmd1/k+zyfxxIGOfNWtIye0cGgoQrEsYSUdkob2IQggQeZyRckiDw9EWC15Gq31a9kkoo1JQNgd2wp6IGq1ihUkfhhCqjpQllhnlSVySMMpXrQZe+DgVNQGyw4opjYRbxNNONIyp4anIBHybdg1R8R8XCyTlnTJ9ve+saNKPzt5Ibfg2Yg5JHveTo5re35x04U5mVZk7KwM7S12hl8/R80MUbHTh77lsVfm8VsBS2LgWR4GF1EfqutTUdZyj5CQtFRc+yzsJrzxJUCnNdkFgXDMxUXkcgorvPtNVjFCh1qcDCNIWCLaRsm2EJhVW2/GQm9LWvkb0HM/iAgKIyBTV4RiZAkSCo4vvhUfc8d1s3yPWJgdcMYXY7KqzlDtyiK1DnrpPYzW7ZzaM3RoIXYaw2ZnhkvnwYaMfsDs5bEj/kOIGaNeyPqLk30veuKNpH6TcozkcppsbhpyF0H7HHCI6+zv8YrT9/FludXn5ydnn/H/gF'),
  727. this.addDataEntry(dt + 'composite state', 220, 190, 'Composite State',
  728. 'zZXbbqMwEIafhsutACc9XDak25uuVG1X2msXJmDVMMienPr0HRunCQ20lTZbFQnJ888B+2NsRyKrN7dGttUvLEBH4iYSmUGkblRvMtA6SmNVRGIepWnMb5T+HPEm3hu30kBDn0lIu4SV1EvolAzrFq0ieCBJEApa2urgt5Vs3bDelG7WZ3Zra32Wc5ZPiMRMalU2HKFhwXOYrcCQyqW+DjJhy6ptZa6a8o8z5j/EXrnzWfPk0klk8An+qoIqJ7FiIF8aq1bwG6x6dvOIWQ2L4A/BZhSElwKFW8AayGw5ZB2qOxgBVlyBKqtd2lUQpe2E8jV3z5UHAe0wZnGEeZQrJ6rWOo4V1Tose6G0zlCj8bEi9s8B2zv5CPre/TaFjvEjEmHNAdo5ZjJ/Kg0um+KgxsI/o//nU0jTYaQhYUdz25nTYB4CH+CdngD35Aj3B83MbUV94h4XFMFaV25DcIO64DX3/UGb54wDzGmQXfaRnR8jS+IBZpMTMJsOMxtv1G/KLBFfCO38430NRclHaWc22LzZ2NAU18bgmk1soemUh+5kS9JXQK7I+3j4m7g0OfTOG5KmhN1yhyEa0JL4PO1V/xckF98UyeQYyfT/IGFzf4F7X+9+fwE='),
  729. this.createVertexTemplateEntry(s + 'compState;html=1;align=left;verticalAlign=top;spacingTop=-3;spacingLeft=18;',
  730. 200, 160, 'CompositeState1', 'Composite State', null, null, this.getTagsForStencil(gn, 'compState', dt + 'composite state').join(' ')),
  731. this.createVertexTemplateEntry('ellipse;html=1;labelPosition=left;verticalLabelPosition=bottom;spacingBottom=10;align=right;verticalAlign=bottom;resizable=0;',
  732. 20, 20, 'again', 'Entry Point', null, null, this.getTagsForStencil(gn, 'compState', dt + 'entry point').join(' ')),
  733. this.addEntry(dt + 'exit point', function()
  734. {
  735. var cardCell = new mxCell('aborted', new mxGeometry(0, 10, 20, 20), s + 'flowFinal;labelPosition=right;verticalLabelPosition=top;spacingTop=5;spacingLeft=3;align=left;verticalAlign=top;resizable=0;');
  736. cardCell.vertex = true;
  737. return sb.createVertexTemplateFromCells([cardCell], cardCell.geometry.width, cardCell.geometry.height, 'Exit Point');
  738. }),
  739. this.createVertexTemplateEntry(s + 'actFinal;html=1;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;',
  740. 40, 40, '', 'Final State', null, null, this.getTagsForStencil(gn, 'actFinal', dt + 'final state').join(' ')),
  741. this.createVertexTemplateEntry('shape=ellipse;html=1;fontSize=18;align=center;',
  742. 40, 40, 'H*', 'History, Deep Pseudo State', null, null, this.getTagsForStencil(gn, '', dt + 'history deep pseudo state').join(' ')),
  743. this.createVertexTemplateEntry('shape=ellipse;html=1;fontSize=18;align=center;',
  744. 40, 40, 'H', 'History, Shallow Pseudo State', null, null, this.getTagsForStencil(gn, '', dt + 'history shallow pseudo state').join(' ')),
  745. this.createVertexTemplateEntry('shape=ellipse;html=1;fillColor=#000000;fontSize=18;fontColor=#ffffff;',
  746. 40, 40, '', 'Initial Pseudo State', null, null, this.getTagsForStencil(gn, '', dt + 'initial pseudo state').join(' ')),
  747. this.createVertexTemplateEntry('shape=ellipse;html=1;fillColor=#000000;fontSize=18;fontColor=#ffffff;',
  748. 40, 40, '', 'Junction Pseudo State', null, null, this.getTagsForStencil(gn, '', dt + 'junction pseudo state').join(' ')),
  749. this.createVertexTemplateEntry(s + 'accEvent;flipH=1;whiteSpace=wrap;align=center;',
  750. 140, 40, 'Req(Id)', 'Receive Signal Action', null, null, this.getTagsForStencil(gn, 'accEvent', dt + 'receive signal action').join(' ')),
  751. this.createVertexTemplateEntry(s + 'sendSigAct;whiteSpace=wrap;align=center;',
  752. 140, 40, 'TurnOn', 'Send Signal Action', null, null, this.getTagsForStencil(gn, 'sendSigAct', dt + 'send signal action').join(' ')),
  753. this.createVertexTemplateEntry('shape=rect;html=1;whiteSpace=wrap;align=center;',
  754. 140, 40, 'MinorReq := Id;', 'Action', null, null, this.getTagsForStencil(gn, '', dt + 'action').join(' ')),
  755. this.createVertexTemplateEntry(s + 'region;align=left;verticalAlign=top;spacingTop=-3;spacingLeft=25;',
  756. 200, 160, 'S', 'Region', null, null, this.getTagsForStencil(gn, '', dt + 'region').join(' ')),
  757. this.createVertexTemplateEntry('shape=rect;rounded=1;html=1;whiteSpace=wrap;align=center;',
  758. 100, 40, 'State1', 'Simple State', null, null, this.getTagsForStencil(gn, '', dt + 'simple state').join(' ')),
  759. this.createVertexTemplateEntry(s + 'simpleState;html=1;overflow=fill;whiteSpace=wrap;align=center;', 200, 100,
  760. '<p style="margin:0px;margin-top:4px;text-align:center;">' +
  761. 'State2<hr/></p>' +
  762. '<p style="margin:0px;margin-left:8px;text-align:left;">entry / entryActivity<br/>do / doActivity<br/>exit / exitActivity</p>',
  763. 'Simple State', null, null, this.getTagsForStencil(gn, 'simpleState', dt + 'simple state').join(' ')),
  764. this.createVertexTemplateEntry('shape=rect;rounded=1;html=1;whiteSpace=wrap;align=center;',
  765. 120, 40, 'State1, State2', 'State List', null, null, this.getTagsForStencil(gn, '', dt + 'state list').join(' ')),
  766. this.addEntry(dt + 'state machine', function()
  767. {
  768. var cardCell = new mxCell('ReadAmountSM', new mxGeometry(0, 0, 160, 120), s + 'stateMachine;verticalAlign=top;whiteSpace=wrap;align=center;');
  769. cardCell.vertex = true;
  770. var label1 = new mxCell('aborted', new mxGeometry(160, 60, 0, 0), 'resizable=0;html=1;verticalAlign=top;align=left;labelBackgroundColor=none;spacingLeft=5;spacingTop=-2;');
  771. label1.geometry.relative = false;
  772. label1.setConnectable(false);
  773. label1.vertex = true;
  774. cardCell.insert(label1);
  775. return sb.createVertexTemplateFromCells([cardCell], cardCell.geometry.width, cardCell.geometry.height, 'State Machine');
  776. }),
  777. this.createVertexTemplateEntry(s + 'x;',
  778. 40, 40, '', 'Terminate Node', null, null, this.getTagsForStencil(gn, 'x', dt + 'terminate node').join(' ')),
  779. this.addEntry(dt + 'submachine state', function()
  780. {
  781. var cardCell = new mxCell('ReadAmount :\nReadAmountSM', new mxGeometry(0, 0, 160, 120), s + 'submState;whiteSpace=wrap;align=center;');
  782. cardCell.vertex = true;
  783. var label1 = new mxCell('aborted', new mxGeometry(160, 60, 0, 0), 'resizable=0;html=1;verticalAlign=bottom;align=left;labelBackgroundColor=none;spacingLeft=5;spacingBottom=2;');
  784. label1.geometry.relative = false;
  785. label1.setConnectable(false);
  786. label1.vertex = true;
  787. cardCell.insert(label1);
  788. return sb.createVertexTemplateFromCells([cardCell], cardCell.geometry.width, cardCell.geometry.height, 'Submachine State');
  789. }),
  790. this.createEdgeTemplateEntry('edgeStyle=none;html=1;endArrow=open;endSize=12;strokeWidth=3;verticalAlign=bottom;',
  791. 160, 0, 'trigger[guard]/activity', 'Transition', null, this.getTagsForStencil(gn, '', dt + 'transition').join(' '))
  792. ];
  793. this.addPalette('sysmlState Machines', 'SysML / State Machines', expand || false, mxUtils.bind(this, function(content)
  794. {
  795. for (var i = 0; i < fns.length; i++)
  796. {
  797. content.appendChild(fns[i](content));
  798. }
  799. }));
  800. };
  801. Sidebar.prototype.addSysMLUseCasesPalette = function(expand)
  802. {
  803. var s = 'html=1;shape=mxgraph.sysml.';
  804. var gn = '';
  805. var dt = 'sysml use case ';
  806. var sb = this;
  807. var fns = [
  808. this.createVertexTemplateEntry('shape=ellipse;html=1;strokeWidth=3;fontStyle=1;whiteSpace=wrap;align=center;',
  809. 120, 60, 'UseCaseName', 'Use Case', null, null, this.getTagsForStencil(gn, '', dt + 'use case').join(' ')),
  810. this.addEntry(dt + '', function()
  811. {
  812. var cardCell = new mxCell('\nextension points\np1, p2', new mxGeometry(0, 0, 160, 80), s + 'useCaseExtPt;whiteSpace=wrap;align=center;');
  813. cardCell.vertex = true;
  814. var label1 = new mxCell('UseCaseName', new mxGeometry(80, 17, 0, 0), 'resizable=0;html=1;verticalAlign=middle;align=center;labelBackgroundColor=none;fontStyle=1;');
  815. label1.geometry.relative = false;
  816. label1.setConnectable(false);
  817. label1.vertex = true;
  818. cardCell.insert(label1);
  819. return sb.createVertexTemplateFromCells([cardCell], cardCell.geometry.width, cardCell.geometry.height, 'Use Case');
  820. }),
  821. this.createVertexTemplateEntry('shape=umlActor;html=1;verticalLabelPosition=bottom;verticalAlign=top;align=center;',
  822. 30, 60, 'ActorName', 'Actor', null, null, this.getTagsForStencil(gn, 'umlActor', dt + '').join(' ')),
  823. this.createVertexTemplateEntry('shape=rect;html=1;overflow=fill;html=1;whiteSpace=wrap;align=center;', 80, 40,
  824. '<p style="margin:0px;margin-top:4px;text-align:center;">' +
  825. '&lt;&lt;actor&gt;&gt;<br/>' +
  826. '<b>ActorName</b></p>',
  827. 'Actor', null, null, this.getTagsForStencil(gn, '', dt + '').join(' ')),
  828. this.createVertexTemplateEntry('shape=rect;html=1;verticalAlign=top;fontStyle=1;whiteSpace=wrap;align=center;',
  829. 120, 60, 'SubjectName', 'Subject', null, null, this.getTagsForStencil(gn, '', dt + 'subject').join(' ')),
  830. this.createEdgeTemplateEntry('edgeStyle=none;html=1;endArrow=none;verticalAlign=bottom;',
  831. 160, 0, '', 'Communication Path', null, this.getTagsForStencil(gn, '', dt + 'communication path').join(' ')),
  832. this.createEdgeTemplateEntry('edgeStyle=none;html=1;endArrow=open;verticalAlign=bottom;dashed=1;labelBackgroundColor=none;',
  833. 160, 0, '&lt;&lt;include&gt;&gt;', 'Include', null, this.getTagsForStencil(gn, '', dt + 'include').join(' ')),
  834. this.createEdgeTemplateEntry('edgeStyle=none;html=1;startArrow=open;endArrow=none;startSize=12;verticalAlign=bottom;dashed=1;labelBackgroundColor=none;',
  835. 160, 0, '&lt;&lt;extend&gt;&gt;', 'Extend', null, this.getTagsForStencil(gn, '', dt + 'extend').join(' ')),
  836. this.addDataEntry(dt + 'extend condition', 250, 80, 'Extend with Condition',
  837. 'tVTLjtswDPwaXQvH2kevsbfdSwsUyKU9KjFrC5VFQ1Y2Tr++pMRknWyyj0MPgcUhh6JmFCld99NjMEP3HRtwSn9Rug6IMa/6qQbnVFnYRukHVZYF/VT59Up2kbLFYAL4+B5CmQlPxm0hIzX6xkaLXuklZdR9tUZ0YDwFMA0BxpGT91R7p0q9KJSuYIrgE0x7o+WtmTvQODV/ZZcx7p3sMnZm4KXHSJ9qtH85WtzyejAb69tv8JtPwIhxtqVxHlyCql1nI6yoiik7ko4wOQaECNNVKRIkOjwC9hDDnkqEIEoVO9vETiAtWAe27aTLjWBmzHF77PSsMy1E6suy6xeyk5qm55O4mI4zj5K8zRFrTyokOtP3IFnIc1dd7B0LTEsWyW6MW0rJGmPEnhIBt74BnpA9dWYNrjKbP23Ca3QYkmGeDaN5liHgjhAcwGdkJS6SyFVjxi71WhzHg6aFj3oTwJlon055l5QX6o90+8pinys+n3kVTWghStH8b3HgHS7PnRCv9BlxGzbwok+y/Tj9u27CzYWbcOYl67aSUOSf2TlzQpIf8fHEJphs/Mm0T7cS/XrdwCzDyUvyHz09eFO87s0Vj9/2hsLnhzeXz9/lfw=='),
  838. this.createEdgeTemplateEntry('edgeStyle=none;html=1;endArrow=block;endFill=0;endSize=12;verticalAlign=bottom;',
  839. 160, 0, '', 'Generalization', null, this.getTagsForStencil(gn, '', dt + 'generalization').join(' '))
  840. ];
  841. this.addPalette('sysmlUse Cases', 'SysML / UseCases', expand || false, mxUtils.bind(this, function(content)
  842. {
  843. for (var i = 0; i < fns.length; i++)
  844. {
  845. content.appendChild(fns[i](content));
  846. }
  847. }));
  848. };
  849. Sidebar.prototype.addSysMLAllocationsPalette = function(expand)
  850. {
  851. var s = 'html=1;shape=mxgraph.sysml.';
  852. var gn = '';
  853. var dt = 'sysml allocation ';
  854. var sb = this;
  855. var fns = [
  856. this.createVertexTemplateEntry('shape=rect;html=1;overflow=fill;html=1;whiteSpace=wrap;align=center;', 120, 60,
  857. '<p style="margin:0px;margin-top:4px;text-align:center;">' +
  858. '&lt;&lt;allocated&gt;&gt;<br/>' +
  859. '<b>Named<br/>Element</b></p>',
  860. 'Allocated Stereotype', null, null, this.getTagsForStencil(gn, '', dt + 'allocated stereotype').join(' ')),
  861. this.createVertexTemplateEntry('shape=rect;html=1;overflow=fill;strokeWidth=2;whiteSpace=wrap;align=center;', 200, 120,
  862. '<p style="margin:0px;margin-top:4px;text-align:center;">' +
  863. '<b>BlockName</b></p><hr/>' +
  864. '<p style="font-size:10px;margin:0px;text-align:center;"><i>allocatedFrom</i></p>' +
  865. '<p style="margin:0px;margin-left:8px;text-align:left;">&lt;&lt;elementType&gt;&gt; ElementName</p><hr/>' +
  866. '<p style="font-size:10px;margin:0px;text-align:center;"><i>allocatedTo</i></p>' +
  867. '<p style="margin:0px;margin-left:8px;text-align:left;">&lt;&lt;elementType&gt;&gt; ElementName</p>',
  868. 'Allocation derived properties (Block)', null, null, this.getTagsForStencil(gn, '', dt + 'derived property block').join(' ')),
  869. this.addDataEntry(dt + 'derived property comment', 270, 140, 'Allocation derived properties (Comment)',
  870. 'xVRNb+MgEP01HCPZOK16rZO2l3Yv6R8g9sRGHQzF5Ku/fgdM7bKJpVZa7R4sz7xhhuHxGFas1OnJCtO+6BqQFQ+sWFmt3WCp0woQGc9kzYo14zyjj/HHmWgeopkRFjr3nQQ+JBwE7mFAGL9FSi0Nwb074wDfvu99S6UStpEdK+4zcxrdhdOGoDzBEHZuAh2c3EKgbHzuECqnqmQ18R/23n4CAlFXwkH9aLX6jNJpthcZ1p9xAoWijkq89ABBETevZwNjIE2KXvYwrPwlFMztMtPsq/7/rdIeZtqEJ5fJ+1YYb3ba0a9snSLhrXMye/nhA/mNt42oZNc8h9ta34QThgtcxwv8kqcPYHeoj+TuJCmsKI+tdLChEr7ekQT+Jb+iZsGOnVEu6WNWwQGK8n0CrcDZMy2JCctB4NlR1q6Noi4i1oJs2ljlLmKiH/xmrDQ9DzLiC7n+WoqL15IwP8OyhcqztdOd28Ro/i8IOsdodslQzq8wtPwLDC2vzJM/aLF639Xg12ephlBsAUtRvTVhyUqjtkGknRcpdPW9tUFhEalF34Y6+UgU1A0kNPV6bytIZp2j+QQuudBvkGkBhZOHtPoPmCJ3muohlgz93w=='),
  871. this.addDataEntry(dt + 'derived property internal block diagram', 250, 160, 'Allocation derived properties (Internal Block Diagram)',
  872. 'xVVNb8IwDP01OSKVdENcKV+nTdM2aedQTBstIVkaoOzXz2nSQqFssAuHqvaz/XCcZ0risSznhun8SS1BkHhK4rFRynpLlmMQgtCIL0k8IZRG+BA6uxDtV9FIMwNre00B9QVbJjbgEUIHAksTjXBh98LDg6+NaymRzGR8TeJRpMvG7VmlEXqoIAul7THBM5eVYhtgED0woJWFN5NYlohzbyFU+tlA7fTa84nGHe3A6MEaSBzNM5NQRzB5cZqNmD7F8jYtbY2CFjnTzjSQVslW4rVN+miqLZiVUDt0VxznHCeFNeoTPvjS5ghSRHY5t/CmWeoodnjxiIVxTZpxIY/lKROjEKgGfELmfhBb2JiCb+EVCv7tGKOmY8cB5UVdVFAQxRyUBGv2mLIL7E4bj147UQ48y+uyQQBZ4YGsqT3IDI2gtG7VxfdUXVsjL8zYvySSd6msSzfd3a/U2vb89Yz6xydoDnRr97wGmECJMwvLmVHyqDP+/267Zy1ghcHR8LxdH7lxwUGAxGO+7zX8vubR1GeeXJG+53JetV60e71CQfhXjvberXfqePn6Hcs3vH330D18TapY62PzAw=='),
  873. this.createVertexTemplateEntry(s + 'simpleState;html=1;overflow=fill;whiteSpace=wrap;align=center;', 200, 100,
  874. '<p style="margin:0px;margin-top:4px;text-align:center;">' +
  875. '<b>ActivityName</b><hr/></p>' +
  876. '<p style="font-size:10px;margin:0px;text-align:center;"><i>allocatedTo</i></p>' +
  877. '<p style="margin:0px;margin-left:8px;text-align:left;">&lt;&lt;elementType&gt;&gt; ElementName</p>',
  878. 'Allocation Derived Properties (Activity Diagram)', null, null, this.getTagsForStencil(gn, '', dt + 'derived property activity diagram').join(' ')),
  879. this.addEntry(dt + 'activity partition', function()
  880. {
  881. var cardCell = new mxCell(
  882. '<p style="margin:0px;margin-top:4px;text-align:center;">' +
  883. '&lt;&lt;allocate&gt;&gt;<br/>:ElementName<hr/></p>',
  884. new mxGeometry(0, 0, 250, 160), 'shape=rect;html=1;overflow=fill;whiteSpace=wrap;align=center;verticalAlign=top;');
  885. cardCell.vertex = true;
  886. var cardCell2 = new mxCell('ActionName', new mxGeometry(65, 70, 120, 60), s + 'cont;fontStyle=1;whiteSpace=wrap;align=center;');
  887. cardCell2.vertex = true;
  888. return sb.createVertexTemplateFromCells([cardCell, cardCell2], 250, 160, 'Allocation Activity Partition');
  889. }),
  890. this.addEntry(dt + 'general', function()
  891. {
  892. var cardCell = new mxCell('Client', new mxGeometry(0, 0, 100, 60), 'shape=rect;html=1;fontStyle=1;whiteSpace=wrap;align=center;');
  893. cardCell.vertex = true;
  894. var cardCell2 = new mxCell('Supplier', new mxGeometry(200, 0, 100, 60), 'shape=rect;html=1;fontStyle=1;whiteSpace=wrap;align=center;');
  895. cardCell2.vertex = true;
  896. var edge1 = new mxCell('&lt;&lt;allocate&gt;&gt;', new mxGeometry(0, 0, 0, 0), 'rounded=0;html=1;verticalAlign=top;labelBackgroundColor=none;endArrow=open;dashed=1;endSize=12;');
  897. edge1.geometry.relative = true;
  898. edge1.edge = true;
  899. cardCell.insertEdge(edge1, true);
  900. cardCell2.insertEdge(edge1, false);
  901. return sb.createVertexTemplateFromCells([cardCell, cardCell2, edge1], 300, 60, 'Allocation (General)');
  902. })
  903. ];
  904. this.addPalette('sysmlAllocations', 'SysML / Allocations', expand || false, mxUtils.bind(this, function(content)
  905. {
  906. for (var i = 0; i < fns.length; i++)
  907. {
  908. content.appendChild(fns[i](content));
  909. }
  910. }));
  911. };
  912. Sidebar.prototype.addSysMLRequirementsPalette = function(expand)
  913. {
  914. var s = 'html=1;shape=mxgraph.sysml.';
  915. var gn = '';
  916. var dt = 'sysml requirement ';
  917. var sb = this;
  918. var fns = [
  919. this.createVertexTemplateEntry(s + 'package;overflow=fill;labelX=110;strokeWidth=2;align=center;', 160, 80,
  920. '<p style="margin:0px;margin-top:4px;margin-left:7px;text-align:left;"><b>req</b> ReqDiagram</p>',
  921. 'Requirement Diagram', null, null, this.getTagsForStencil(gn, 'package', dt + 'diagram').join(' ')),
  922. this.createVertexTemplateEntry('shape=rect;overflow=fill;html=1;whiteSpace=wrap;align=center;', 200, 100,
  923. '<p style="margin:0px;margin-top:4px;text-align:center;">' +
  924. '&lt;&lt;requirement&gt;&gt;<br/><b>Requirement Name</b><hr/></p>' +
  925. '<p style="margin:0px;margin-left:8px;text-align:left;">text="The system shall do"<br/>Id="62j32."</p>',
  926. 'Requirement', null, null, this.getTagsForStencil(gn, 'package', dt + '').join(' ')),
  927. this.createVertexTemplateEntry('shape=rect;overflow=fill;html=1;whiteSpace=wrap;align=center;', 200, 100,
  928. '<p style="margin:0px;margin-top:4px;text-align:center;">' +
  929. '&lt;&lt;testCase&gt;&gt;<br/><b>TestCaseName</b><hr/></p>',
  930. 'Test Case', null, null, this.getTagsForStencil(gn, 'package', dt + 'test case').join(' ')),
  931. this.addDataEntry(dt + 'containment relationship', 300, 180, 'Requirement Containment Relationship',
  932. '5ZXfboIwFMafpvdQnNkuB27ezMTEJ6hwQpsVykoR2dPvtBRdjSYmy5zJLkjOn37fob8GSpKs2i81a/hKFSBJ8kKSTCtlxqjaZyAloZEoSLIglEb4EPp6oRu7btQwDbW5RkBHwY7JDsYKoXNWNSRJJRqkYabhoxMaKms+Ncpg2ZQRmsQRhuvxTdyQ1gzSD2k5a2yoIbcCbirc+SLGsOfCwKZhuW33yAVrTIqyxjRHK9BugHtp0Ab2FzfuSn7XS1AVGD3gEi94GrlEvSgM9wLPKuIgSu5d5r7G2jEvD05Hqhh4sOchJ78MOeNCFvE9QR5OiN6C8uwWlOk9UZ4Ej57eX1B/OEP9hJBWXV2AXR+FgCTbgkxZ/l66JZmSCpEsalWjMoW6eNZa9d8qRQkb7wtyq/qXYyF1BWxYlCJnOCNtDdNm8miHdvW2xmGZsljH5kZ8WrOYHk7CzgjOoVWdziH4W6KyBBN821eclgbJjNiF7j9BP//n6Gc3Q4/p8Up2veDG/gI='),
  933. this.addEntry(dt + 'copy dependency', function()
  934. {
  935. var cardCell = new mxCell('&lt;&lt;requirement&gt;&gt;\nSlave', new mxGeometry(0, 0, 120, 60), 'shape=rect;html=1;whiteSpace=wrap;align=center;');
  936. cardCell.vertex = true;
  937. var cardCell2 = new mxCell('&lt;&lt;requirement&gt;&gt;\nMaster', new mxGeometry(240, 0, 120, 60), 'shape=rect;html=1;whiteSpace=wrap;align=center;');
  938. cardCell2.vertex = true;
  939. var edge1 = new mxCell('&lt;&lt;copy&gt;&gt;', new mxGeometry(0, 0, 0, 0), 'endArrow=open;edgeStyle=none;endSize=12;dashed=1;html=1;');
  940. edge1.geometry.relative = true;
  941. edge1.edge = true;
  942. cardCell.insertEdge(edge1, true);
  943. cardCell2.insertEdge(edge1, false);
  944. return sb.createVertexTemplateFromCells([cardCell, cardCell2, edge1], 360, 60, 'Copy Dependency');
  945. }),
  946. this.addEntry(dt + 'master callout', function()
  947. {
  948. var cardCell = new mxCell('Master\n&lt;&lt;requirement&gt;&gt; Master', new mxGeometry(0, 0, 160, 60), 'shape=note;html=1;size=15;align=left;spacingLeft=5;whiteSpace=wrap;align=center;');
  949. cardCell.vertex = true;
  950. var cardCell2 = new mxCell('&lt;&lt;requirement&gt;&gt; Slave', new mxGeometry(200, 0, 160, 60), 'shape=rect;html=1;whiteSpace=wrap;align=center;');
  951. cardCell2.vertex = true;
  952. var edge1 = new mxCell('', new mxGeometry(0, 0, 0, 0), 'endArrow=none;html=1;edgeStyle=none;dashed=1;');
  953. edge1.geometry.relative = true;
  954. edge1.edge = true;
  955. cardCell.insertEdge(edge1, true);
  956. cardCell2.insertEdge(edge1, false);
  957. return sb.createVertexTemplateFromCells([cardCell, cardCell2, edge1], 360, 60, 'Master Callout');
  958. }),
  959. this.addEntry(dt + 'derive dependency', function()
  960. {
  961. var cardCell = new mxCell('&lt;&lt;requirement&gt;&gt;\nClient', new mxGeometry(0, 0, 120, 60), 'shape=rect;html=1;whiteSpace=wrap;align=center;');
  962. cardCell.vertex = true;
  963. var cardCell2 = new mxCell('&lt;&lt;requirement&gt;&gt;\nSupplier', new mxGeometry(240, 0, 120, 60), 'shape=rect;html=1;whiteSpace=wrap;align=center;');
  964. cardCell2.vertex = true;
  965. var edge1 = new mxCell('&lt;&lt;deriveReq&gt;&gt;', new mxGeometry(0, 0, 0, 0), 'endArrow=open;html=1;edgeStyle=none;endSize=12;dashed=1;');
  966. edge1.geometry.relative = true;
  967. edge1.edge = true;
  968. cardCell.insertEdge(edge1, true);
  969. cardCell2.insertEdge(edge1, false);
  970. return sb.createVertexTemplateFromCells([cardCell, cardCell2, edge1], 360, 60, 'Derive Dependency');
  971. }),
  972. this.addEntry(dt + 'derive callout', function()
  973. {
  974. var cardCell = new mxCell('&lt;&lt;requirement&gt;&gt;\nReqA', new mxGeometry(0, 0, 120, 60), 'shape=rect;html=1;whiteSpace=wrap;align=center;');
  975. cardCell.vertex = true;
  976. var cardCell2 = new mxCell('Derived\n&lt;&lt;requirement&gt;&gt; ReqB', new mxGeometry(200, 0, 160, 60), 'shape=note;html=1;size=15;align=left;spacingLeft=5;whiteSpace=wrap;align=center;');
  977. cardCell2.vertex = true;
  978. var edge1 = new mxCell('', new mxGeometry(0, 0, 0, 0), 'endArrow=none;html=1;edgeStyle=none;dashed=1;');
  979. edge1.geometry.relative = true;
  980. edge1.edge = true;
  981. cardCell.insertEdge(edge1, true);
  982. cardCell2.insertEdge(edge1, false);
  983. return sb.createVertexTemplateFromCells([cardCell, cardCell2, edge1], 360, 60, 'Derive Callout');
  984. }),
  985. this.addEntry(dt + 'derive callout', function()
  986. {
  987. var cardCell = new mxCell('DerivedFrom\n&lt;&lt;requirement&gt;&gt; ReqA', new mxGeometry(0, 0, 160, 60), 'shape=note;html=1;size=15;align=left;spacingLeft=5;whiteSpace=wrap;align=center;');
  988. cardCell.vertex = true;
  989. var cardCell2 = new mxCell('&lt;&lt;requirement&gt;&gt;\nReqB', new mxGeometry(240, 0, 120, 60), 'shape=rect;html=1;whiteSpace=wrap;align=center;');
  990. cardCell2.vertex = true;
  991. var edge1 = new mxCell('', new mxGeometry(0, 0, 0, 0), 'endArrow=none;edgeStyle=none;dashed=1;html=1;');
  992. edge1.geometry.relative = true;
  993. edge1.edge = true;
  994. cardCell.insertEdge(edge1, true);
  995. cardCell2.insertEdge(edge1, false);
  996. return sb.createVertexTemplateFromCells([cardCell, cardCell2, edge1], 360, 60, 'Derive Callout');
  997. }),
  998. this.addEntry(dt + 'satisfy dependency', function()
  999. {
  1000. var cardCell = new mxCell('NamedElement', new mxGeometry(0, 0, 120, 60), 'shape=rect;html=1;whiteSpace=wrap;align=center;');
  1001. cardCell.vertex = true;
  1002. var cardCell2 = new mxCell('&lt;&lt;requirement&gt;&gt;\nSupplier', new mxGeometry(240, 0, 120, 60), 'shape=rect;html=1;whiteSpace=wrap;align=center;');
  1003. cardCell2.vertex = true;
  1004. var edge1 = new mxCell('&lt;&lt;satisfy&gt;&gt;', new mxGeometry(0, 0, 0, 0), 'endArrow=open;edgeStyle=none;endSize=12;dashed=1;html=1;');
  1005. edge1.geometry.relative = true;
  1006. edge1.edge = true;
  1007. cardCell.insertEdge(edge1, true);
  1008. cardCell2.insertEdge(edge1, false);
  1009. return sb.createVertexTemplateFromCells([cardCell, cardCell2, edge1], 360, 60, 'Satisfy Dependency');
  1010. }),
  1011. this.addEntry(dt + 'satisfy callout', function()
  1012. {
  1013. var cardCell = new mxCell('NamedElement', new mxGeometry(0, 0, 120, 60), 'shape=rect;html=1;whiteSpace=wrap;align=center;');
  1014. cardCell.vertex = true;
  1015. var cardCell2 = new mxCell('Satisfies\n&lt;&lt;requirement&gt;&gt; ReqA', new mxGeometry(200, 0, 160, 60), 'shape=note;size=15;align=left;spacingLeft=5;html=1;whiteSpace=wrap;align=center;');
  1016. cardCell2.vertex = true;
  1017. var edge1 = new mxCell('', new mxGeometry(0, 0, 0, 0), 'endArrow=none;edgeStyle=none;dashed=1;html=1;');
  1018. edge1.geometry.relative = true;
  1019. edge1.edge = true;
  1020. cardCell.insertEdge(edge1, true);
  1021. cardCell2.insertEdge(edge1, false);
  1022. return sb.createVertexTemplateFromCells([cardCell, cardCell2, edge1], 360, 60, 'Satisfy Callout');
  1023. }),
  1024. this.addEntry(dt + 'satisfy callout', function()
  1025. {
  1026. var cardCell = new mxCell('SatisfiedBy\nNamedElement', new mxGeometry(0, 0, 160, 60), 'shape=note;size=15;align=left;spacingLeft=5;html=1;whiteSpace=wrap;align=center;');
  1027. cardCell.vertex = true;
  1028. var cardCell2 = new mxCell('&lt;&lt;requirement&gt;&gt;\nReqA', new mxGeometry(240, 0, 120, 60), 'shape=rect;html=1;whiteSpace=wrap;align=center;');
  1029. cardCell2.vertex = true;
  1030. var edge1 = new mxCell('', new mxGeometry(0, 0, 0, 0), 'endArrow=none;edgeStyle=none;dashed=1;html=1;');
  1031. edge1.geometry.relative = true;
  1032. edge1.edge = true;
  1033. cardCell.insertEdge(edge1, true);
  1034. cardCell2.insertEdge(edge1, false);
  1035. return sb.createVertexTemplateFromCells([cardCell, cardCell2, edge1], 360, 60, 'Satisfy Callout');
  1036. }),
  1037. this.addEntry(dt + 'verify dependency', function()
  1038. {
  1039. var cardCell = new mxCell('NamedElement', new mxGeometry(0, 0, 120, 60), 'shape=rect;html=1;whiteSpace=wrap;align=center;');
  1040. cardCell.vertex = true;
  1041. var cardCell2 = new mxCell('&lt;&lt;requirement&gt;&gt;\nSupplier', new mxGeometry(240, 0, 120, 60), 'shape=rect;html=1;whiteSpace=wrap;align=center;');
  1042. cardCell2.vertex = true;
  1043. var edge1 = new mxCell('&lt;&lt;verify&gt;&gt;', new mxGeometry(0, 0, 0, 0), 'endArrow=open;edgeStyle=none;endSize=12;dashed=1;html=1;');
  1044. edge1.geometry.relative = true;
  1045. edge1.edge = true;
  1046. cardCell.insertEdge(edge1, true);
  1047. cardCell2.insertEdge(edge1, false);
  1048. return sb.createVertexTemplateFromCells([cardCell, cardCell2, edge1], 360, 60, 'Verify Dependency');
  1049. }),
  1050. this.addEntry(dt + 'verify callout', function()
  1051. {
  1052. var cardCell = new mxCell('NamedElement', new mxGeometry(0, 0, 120, 60), 'shape=rect;html=1;whiteSpace=wrap;align=center;');
  1053. cardCell.vertex = true;
  1054. var cardCell2 = new mxCell('Verifies\n&lt;&lt;requirement&gt;&gt; ReqA', new mxGeometry(200, 0, 160, 60), 'shape=note;size=15;align=left;spacingLeft=5;html=1;whiteSpace=wrap;align=center;');
  1055. cardCell2.vertex = true;
  1056. var edge1 = new mxCell('', new mxGeometry(0, 0, 0, 0), 'endArrow=none;edgeStyle=none;dashed=1;html=1;');
  1057. edge1.geometry.relative = true;
  1058. edge1.edge = true;
  1059. cardCell.insertEdge(edge1, true);
  1060. cardCell2.insertEdge(edge1, false);
  1061. return sb.createVertexTemplateFromCells([cardCell, cardCell2, edge1], 360, 60, 'Verify Callout');
  1062. }),
  1063. this.addEntry(dt + 'verify callout', function()
  1064. {
  1065. var cardCell = new mxCell('VerifiedBy\nNamedElement', new mxGeometry(0, 0, 160, 60), 'shape=note;size=15;align=left;spacingLeft=5;html=1;whiteSpace=wrap;align=center;');
  1066. cardCell.vertex = true;
  1067. var cardCell2 = new mxCell('&lt;&lt;requirement&gt;&gt;\nReqA', new mxGeometry(240, 0, 120, 60), 'shape=rect;html=1;whiteSpace=wrap;align=center;');
  1068. cardCell2.vertex = true;
  1069. var edge1 = new mxCell('', new mxGeometry(0, 0, 0, 0), 'endArrow=none;edgeStyle=none;dashed=1;html=1;');
  1070. edge1.geometry.relative = true;
  1071. edge1.edge = true;
  1072. cardCell.insertEdge(edge1, true);
  1073. cardCell2.insertEdge(edge1, false);
  1074. return sb.createVertexTemplateFromCells([cardCell, cardCell2, edge1], 360, 60, 'Verify Callout');
  1075. }),
  1076. this.addEntry(dt + 'refine dependency', function()
  1077. {
  1078. var cardCell = new mxCell('NamedElement', new mxGeometry(0, 0, 120, 60), 'shape=rect;html=1;whiteSpace=wrap;align=center;');
  1079. cardCell.vertex = true;
  1080. var cardCell2 = new mxCell('&lt;&lt;requirement&gt;&gt;\nClient', new mxGeometry(240, 0, 120, 60), 'shape=rect;html=1;whiteSpace=wrap;align=center;');
  1081. cardCell2.vertex = true;
  1082. var edge1 = new mxCell('&lt;&lt;refine&gt;&gt;', new mxGeometry(0, 0, 0, 0), 'endArrow=open;edgeStyle=none;endSize=12;dashed=1;html=1;');
  1083. edge1.geometry.relative = true;
  1084. edge1.edge = true;
  1085. cardCell.insertEdge(edge1, true);
  1086. cardCell2.insertEdge(edge1, false);
  1087. return sb.createVertexTemplateFromCells([cardCell, cardCell2, edge1], 360, 60, 'Refine Dependency');
  1088. }),
  1089. this.addEntry(dt + 'refine dependency', function()
  1090. {
  1091. var cardCell = new mxCell('NamedElement', new mxGeometry(0, 0, 120, 60), 'shape=rect;html=1;whiteSpace=wrap;align=center;');
  1092. cardCell.vertex = true;
  1093. var cardCell2 = new mxCell('Refines\n&lt;&lt;requirement&gt;&gt; ReqA', new mxGeometry(200, 0, 160, 60), 'shape=note;size=15;align=left;spacingLeft=5;html=1;whiteSpace=wrap;align=center;');
  1094. cardCell2.vertex = true;
  1095. var edge1 = new mxCell('', new mxGeometry(0, 0, 0, 0), 'endArrow=none;edgeStyle=none;dashed=1;html=1;');
  1096. edge1.geometry.relative = true;
  1097. edge1.edge = true;
  1098. cardCell.insertEdge(edge1, true);
  1099. cardCell2.insertEdge(edge1, false);
  1100. return sb.createVertexTemplateFromCells([cardCell, cardCell2, edge1], 360, 60, 'Refine Callout');
  1101. }),
  1102. this.addEntry(dt + 'refine dependency', function()
  1103. {
  1104. var cardCell = new mxCell('RefinedBy\nNamedElement', new mxGeometry(0, 0, 160, 60), 'shape=note;size=15;align=left;spacingLeft=5;html=1;whiteSpace=wrap;align=center;');
  1105. cardCell.vertex = true;
  1106. var cardCell2 = new mxCell('&lt;&lt;requirement&gt;&gt;\nReqA', new mxGeometry(240, 0, 120, 60), 'shape=rect;html=1;whiteSpace=wrap;align=center;');
  1107. cardCell2.vertex = true;
  1108. var edge1 = new mxCell('', new mxGeometry(0, 0, 0, 0), 'endArrow=none;edgeStyle=none;dashed=1;html=1;');
  1109. edge1.geometry.relative = true;
  1110. edge1.edge = true;
  1111. cardCell.insertEdge(edge1, true);
  1112. cardCell2.insertEdge(edge1, false);
  1113. return sb.createVertexTemplateFromCells([cardCell, cardCell2, edge1], 360, 60, 'Refine Callout');
  1114. }),
  1115. this.addEntry(dt + 'trace dependency', function()
  1116. {
  1117. var cardCell = new mxCell('&lt;&lt;requirement&gt;&gt;\nClient', new mxGeometry(0, 0, 120, 60), 'shape=rect;html=1;whiteSpace=wrap;align=center;');
  1118. cardCell.vertex = true;
  1119. var cardCell2 = new mxCell('&lt;&lt;requirement&gt;&gt;\nSupplier', new mxGeometry(240, 0, 120, 60), 'shape=rect;html=1;whiteSpace=wrap;align=center;');
  1120. cardCell2.vertex = true;
  1121. var edge1 = new mxCell('&lt;&lt;trace&gt;&gt;', new mxGeometry(0, 0, 0, 0), 'endArrow=open;edgeStyle=none;endSize=12;dashed=1;html=1;');
  1122. edge1.geometry.relative = true;
  1123. edge1.edge = true;
  1124. cardCell.insertEdge(edge1, true);
  1125. cardCell2.insertEdge(edge1, false);
  1126. return sb.createVertexTemplateFromCells([cardCell, cardCell2, edge1], 360, 60, 'Trace Dependency');
  1127. }),
  1128. this.addEntry(dt + 'refine callout', function()
  1129. {
  1130. var cardCell = new mxCell('NamedElement', new mxGeometry(0, 0, 120, 60), 'shape=rect;html=1;whiteSpace=wrap;align=center;');
  1131. cardCell.vertex = true;
  1132. var cardCell2 = new mxCell('TracedFrom\n&lt;&lt;requirement&gt;&gt; ReqA', new mxGeometry(200, 0, 160, 60), 'shape=note;size=15;align=left;spacingLeft=5;html=1;whiteSpace=wrap;align=center;');
  1133. cardCell2.vertex = true;
  1134. var edge1 = new mxCell('', new mxGeometry(0, 0, 0, 0), 'endArrow=none;edgeStyle=none;dashed=1;html=1;');
  1135. edge1.geometry.relative = true;
  1136. edge1.edge = true;
  1137. cardCell.insertEdge(edge1, true);
  1138. cardCell2.insertEdge(edge1, false);
  1139. return sb.createVertexTemplateFromCells([cardCell, cardCell2, edge1], 360, 60, 'Refine Callout');
  1140. }),
  1141. this.addEntry(dt + 'trace callout', function()
  1142. {
  1143. var cardCell = new mxCell('TracedTo\nNamedElement', new mxGeometry(0, 0, 160, 60), 'shape=note;size=15;align=left;spacingLeft=5;html=1;whiteSpace=wrap;align=center;');
  1144. cardCell.vertex = true;
  1145. var cardCell2 = new mxCell('&lt;&lt;requirement&gt;&gt;\nReqA', new mxGeometry(240, 0, 120, 60), 'shape=rect;html=1;whiteSpace=wrap;align=center;');
  1146. cardCell2.vertex = true;
  1147. var edge1 = new mxCell('', new mxGeometry(0, 0, 0, 0), 'endArrow=none;edgeStyle=none;dashed=1;html=1;');
  1148. edge1.geometry.relative = true;
  1149. edge1.edge = true;
  1150. cardCell.insertEdge(edge1, true);
  1151. cardCell2.insertEdge(edge1, false);
  1152. return sb.createVertexTemplateFromCells([cardCell, cardCell2, edge1], 360, 60, 'Trace Callout');
  1153. })
  1154. ];
  1155. this.addPalette('sysmlRequirements', 'SysML / Requirements', expand || false, mxUtils.bind(this, function(content)
  1156. {
  1157. for (var i = 0; i < fns.length; i++)
  1158. {
  1159. content.appendChild(fns[i](content));
  1160. }
  1161. }));
  1162. };
  1163. Sidebar.prototype.addSysMLProfilesPalette = function(expand)
  1164. {
  1165. var s = 'shape=mxgraph.sysml.';
  1166. var gn = '';
  1167. var dt = 'sysml profile ';
  1168. var sb = this;
  1169. var fns = [
  1170. this.createVertexTemplateEntry('shape=rect;html=1;whiteSpace=wrap;align=center;',
  1171. 160, 80, '&lt;&lt;stereotype&gt;&gt;\nStereotypeName', 'Stereotype', null, null, this.getTagsForStencil(gn, '', dt + 'stereotype').join(' ')),
  1172. this.createVertexTemplateEntry('shape=rect;html=1;whiteSpace=wrap;align=center;',
  1173. 160, 80, '&lt;&lt;metaclass&gt;&gt;\nMetaClassName', 'Metaclass', null, null, this.getTagsForStencil(gn, '', dt + 'metaclass').join(' ')),
  1174. this.createVertexTemplateEntry('shape=folder;tabWidth=80;tabHeight=20;tabPosition=left;html=1;whiteSpace=wrap;align=center;',
  1175. 160, 100, '&lt;&lt;profile&gt;&gt;\nProfileName', 'Profile', null, null, this.getTagsForStencil(gn, '', dt + 'profile').join(' ')),
  1176. this.createVertexTemplateEntry('shape=folder;tabWidth=80;tabHeight=20;tabPosition=left;html=1;whiteSpace=wrap;align=center;',
  1177. 160, 100, '&lt;&lt;modelLibrary&gt;&gt;\nLibraryName', 'Model Library', null, null, this.getTagsForStencil(gn, '', dt + 'model library').join(' ')),
  1178. this.addEntry(dt + 'extension', function()
  1179. {
  1180. var cardCell = new mxCell('&lt;&lt;metaclass&gt;&gt;\nMetaClassName', new mxGeometry(0, 0, 120, 60), 'shape=rect;html=1;whiteSpace=wrap;align=center;');
  1181. cardCell.vertex = true;
  1182. var cardCell2 = new mxCell('&lt;&lt;stereotype&gt;&gt;\nStereotypeName', new mxGeometry(0, 120, 120, 60), 'shape=rect;html=1;whiteSpace=wrap;align=center;');
  1183. cardCell2.vertex = true;
  1184. var edge1 = new mxCell('{required}', new mxGeometry(0, 0, 0, 0), 'endArrow=block;html=1;endFill=1;edgeStyle=none;endSize=12;labelBackgroundColor=none;align=left;');
  1185. edge1.geometry.relative = true;
  1186. edge1.edge = true;
  1187. cardCell.insertEdge(edge1, false);
  1188. cardCell2.insertEdge(edge1, true);
  1189. return sb.createVertexTemplateFromCells([cardCell, cardCell2, edge1], 120, 180, 'Extension');
  1190. }),
  1191. this.addEntry(dt + 'generalization', function()
  1192. {
  1193. var cardCell = new mxCell('&lt;&lt;stereotype&gt;&gt;\nStereotypeName', new mxGeometry(0, 0, 120, 60), 'shape=rect;html=1;whiteSpace=wrap;align=center;');
  1194. cardCell.vertex = true;
  1195. var cardCell2 = new mxCell('&lt;&lt;stereotype&gt;&gt;\nStereotypeName', new mxGeometry(0, 120, 120, 60), 'shape=rect;html=1;whiteSpace=wrap;align=center;');
  1196. cardCell2.vertex = true;
  1197. var edge1 = new mxCell('', new mxGeometry(0, 0, 0, 0), 'endArrow=block;html=1;endFill=0;edgeStyle=none;endSize=12;labelBackgroundColor=none;align=left;');
  1198. edge1.geometry.relative = true;
  1199. edge1.edge = true;
  1200. cardCell.insertEdge(edge1, false);
  1201. cardCell2.insertEdge(edge1, true);
  1202. return sb.createVertexTemplateFromCells([cardCell, cardCell2, edge1], 120, 180, 'Generalization');
  1203. }),
  1204. this.createEdgeTemplateEntry('edgeStyle=none;html=1;endArrow=open;endSize=12;dashed=1;verticalAlign=bottom;',
  1205. 160, 0, '&lt;&lt;apply&gt;&gt;{strict}', 'Profile Application', null, this.getTagsForStencil(gn, '', dt + 'profile application').join(' ')),
  1206. this.createEdgeTemplateEntry('edgeStyle=none;html=1;endArrow=open;endSize=12;dashed=1;verticalAlign=top;',
  1207. 160, 0, '&lt;&lt;reference&gt;&gt;', 'Metamodel Reference', null, this.getTagsForStencil(gn, '', dt + 'metamodel reference').join(' ')),
  1208. this.createEdgeTemplateEntry('edgeStyle=none;html=1;endArrow=open;endSize=12;verticalAlign=bottom;',
  1209. 160, 0, 'propertyName', 'Unidirectional Association', null, this.getTagsForStencil(gn, '', dt + 'unidirectional association').join(' '))
  1210. ];
  1211. this.addPalette('sysmlProfiles', 'SysML / Profiles', expand || false, mxUtils.bind(this, function(content)
  1212. {
  1213. for (var i = 0; i < fns.length; i++)
  1214. {
  1215. content.appendChild(fns[i](content));
  1216. }
  1217. }));
  1218. };
  1219. Sidebar.prototype.addSysMLStereotypesPalette = function(expand)
  1220. {
  1221. var s = 'html=1;shape=mxgraph.sysml.';
  1222. var gn = '';
  1223. var dt = 'sysml stereotype ';
  1224. var sb = this;
  1225. var fns = [
  1226. this.addDataEntry(dt + 'note', 320, 150, 'Stereotype Note',
  1227. '3ZZdb5swFIZ/DZeVwCTRbgPpetNOkSLt3oETsGYwM4ck7NfvGDtQAkk7tdKkXkSx3/Nh8/Aa8MK4OD9pXuUvKgXphY9eGGul0I6KcwxSeswXqRduPMZ8+nns+41o0EX9imso8T0FzBYcuWzAKh5bSSqNKpJrbKWVV78bs6Wo4DoTpReu/ercTx9QVSQFI03CAQcR4YwPXIrM1NpQNHSlUeb+u7X3rwReUO9ITmc1ggaFbQU/eAF9bFw3bqsNCNd6q1UFGtuuONz8NAR2qEWZzaa/NBLFvZqYeL3VJFJKAi9HbVweZe2vMZBWDRob3RBW57wyw1IhGBrij5kFSzOueEJbeO4wb4ySYyFNlIbqCPog1YmmB0FeCKNTLhB2VGManMiK/XKUSjfuprU6yfnqCVQBqFtKcQUL6zz/JFLMndu+OS0HkeWuy0XjtZ1nfafBtzRw1p23cTix8aOEwmyUrTwWBj5dkqV9g6KGxFA+qBJ3LhqMuc1RcobeJLQS6A9ia100mHKbw7b4BGyLL4DNFVwedP8D43KCccsxnwWnVVOmYOoMW8n3ICOe/Mo6PVZS6e5Il+ZIGx4i4XLtcHVP2QjKdK11d35d3h36dn1IMxhhrVWjExgdHaSnNuDIFu+Ar0FyFMdx94+gXM28j+4inOJIeZ134X9nwT7/wl3pVglzqi5uDZZXbg2vbGhvh6u6wtdvY44oTYevB5v++uPiLw=='),
  1228. this.addDataEntry(dt + 'note', 320, 150, 'Stereotype Note',
  1229. 'rZRNj9owEIZ/jY8rJTGLet3Adi/daiWk3r1kSCw5tutMgPTXdxybZA2hXak9IMbvfNg8fjHjm/b84oRtXk0FivFnxjfOGAxRe96AUqzIZMX4lhVFRh9WfL2TzcdsZoUDjZ9pKELDUagegsKKtaLW0pLc4aCCvP7Z+yOVrXC11Iw/ZfY8LR/QWJLyRFNwwFlEOOODULL2vSFVzlMpquP3uPf7B0G0NLtUt6sOwYHBwcJ30cKUS/vSsc6DiKPfnLHgcBib+faHJ7BDJ3W9WP7aK5R/6tkQr78NKY1RIHQyJtZR1fs1BtLsrBXJhRRdI6wPtUHwNOQvv8offWzFno7wbcS89UqDrfJZCs0R3EGZEy0PkrzAy1MjEXbU4wecyIrTdlRKF3fXWqMUffUCpgV0A5XEhlVwXnaSFTbRbV+i1oCsmzjlookurOtp0uxbCqJ1l23Mb2z8rKD1By3WrOB5Rj8p0L5D0cHeUz4YjbuYzVNuS5Siobd72gncP2IbYja/5baEbfUfsK0W/v1XgJzpdQW+3jMEXT05N5pHG+19V4muGdNXuMIgqGpIOHSmd3tI3h6k9wIwucdP0HKgBMpjOn2JRWx9M9K74WLO/DHiu1DnVzjDqWLXFdHpGEuQaTk/36H84+v+Gw=='),
  1230. this.createVertexTemplateEntry('shape=rect;html=1;whiteSpace=wrap;align=center;', 160, 80,
  1231. '&lt;&lt;stereotypeName&gt;&gt;\n{PropertyName=ValueString;\nBooleanPropertyName}\nNodeName',
  1232. 'Stereotype (Node)', null, null, this.getTagsForStencil(gn, '', dt + 'node').join(' ')),
  1233. this.createVertexTemplateEntry('shape=rect;html=1;overflow=fill;whiteSpace=wrap;align=center;', 400, 100,
  1234. '<p style="margin:0px;margin-top:4px;text-align:center;">' +
  1235. '<b>NodeName</b><hr/></p>' +
  1236. '<p style="margin:0px;margin-left:10px;text-align:left;">' +
  1237. '&lt;&lt;stereotypeName&gt;&gt;{PropertyName=ValueString}ElementName<br/>' +
  1238. '&lt;&lt;stereotypeName&gt;&gt;{PropertyName=ValueString};<br/>' +
  1239. 'BooleanPropertyName<br/>' +
  1240. 'ElementName</p>',
  1241. 'Stereotype (Compartment)', null, null, this.getTagsForStencil(gn, '', dt + 'compartment').join(' ')),
  1242. this.addDataEntry(dt + 'edge', 200, 180, 'Stereotype (Edge)',
  1243. '3VTBboMwDP2a3CmZ2vOgXU+bKlXaPQM3iRYSZEwp+/oFCO2ytVJ32WEHJD8/G/OeQxjPq9MWRa2eXQmG8Q3jOTpHU1SdcjCGpYkuGV+zNE38w9KnG+xiZJNaIFi6pyGdGo7CtDBlNgaqoTldspQvEsazF1HBVNZQb0JZo0Q9hAiFH5QdnKV9YBceK6pMCDulCfa1KAau80p9ThgtrYeFnwToE+EzAAlON6WMqaBjC64Cwt6XdLokFSqC3ESBliq0LUNONBOW59aLMT4I3lz3if8Dn/pvHv2Fbw8/fPOGiWrQZmjU8xU1XiRQ72CyMlAyKpzR7DpbZTt0tXekH7v4+nUYtifUVsalmXMGhI3KV+udIHV1dWDLR0TXeWSdhXhbUEqYFxlYI97AZKJ4l+haW+bOOLyw8yoNHK4dhBHrjxEm50UPU6I1N67FAqIzSQIlUPQ733EYEIwgfYzf/otNe3i5pUYuusQ+AQ=='),
  1244. this.createVertexTemplateEntry('shape=rect;html=1;overflow=fill;whiteSpace=wrap;align=center;', 300, 120,
  1245. '<p style="margin:0px;margin-top:4px;text-align:center;">' +
  1246. '<b>&lt;&lt;stereotypeName&gt;&gt;</br>NodeName</b><hr/></p>' +
  1247. '<p style="margin:0px;margin-left:10px;text-align:left;">' +
  1248. '&lt;&lt;stereotypeName&gt;&gt;<br/>PropertyName=ValueString<br/>' +
  1249. 'MultiPropertyName=ValueString, ValueString<br/>' +
  1250. 'BooleanPropertyName<br/></p>',
  1251. 'Stereotype (Compartment)', null, null, this.getTagsForStencil(gn, '', dt + 'compartment').join(' '))
  1252. ];
  1253. this.addPalette('sysmlStereotypes', 'SysML / Stereotypes', expand || false, mxUtils.bind(this, function(content)
  1254. {
  1255. for (var i = 0; i < fns.length; i++)
  1256. {
  1257. content.appendChild(fns[i](content));
  1258. }
  1259. }));
  1260. };
  1261. })();