/* Ċ Ġ* Ġ ĠLicensed Ġto Ġthe ĠApache ĠSoftware ĠFoundation Ġ( ASF ) Ġunder Ġone Ċ Ġ* Ġ Ġor Ġmore Ġcontributor Ġlicense Ġagreements . Ġ ĠSee Ġthe ĠNOTICE Ġfile Ċ Ġ* Ġ Ġdistributed Ġwith Ġthis Ġwork Ġfor Ġadditional Ġinformation Ċ Ġ* Ġ Ġregarding Ġcopyright Ġownership . Ġ ĠThe ĠASF Ġlicenses Ġthis Ġfile Ċ Ġ* Ġ Ġto Ġyou Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ċ Ġ* Ġ Ġ" License "); Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ċ Ġ* Ġ Ġwith Ġthe ĠLicense . Ġ ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* Ġ ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ċ Ġ* Ġ Ġsoftware Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ċ Ġ* Ġ Ġ" AS ĠIS " ĠBASIS , ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY Ċ Ġ* Ġ ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ġ ĠSee Ġthe ĠLicense Ġfor Ġthe Ċ Ġ* Ġ Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ġlimitations Ċ Ġ* Ġ Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ package Ġorg . apache . isis . client . k ro viz . ui . diagram Ċ Ċ import Ġorg . apache . isis . client . k ro viz . to . bs 3 . Col Ċ import Ġorg . apache . isis . client . k ro viz . to . bs 3 . Grid Ċ import Ġorg . apache . isis . client . k ro viz . to . bs 3 . Row Ċ Ċ object ĠLayout Diagram Ġ{ ĊĊĠĠĠ Ġfun Ġbuild ( grid : ĠGrid ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġp uml Code Ġ= Ġ"@ start salt \ n {# \ n " ĊĠĠĠĠĠĠĠ Ġgrid . rows . forEach Indexed () Ġ{ Ġindex , Ġit Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġr Label Ġ= Ġ" r " Ġ+ Ġindex . toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġp uml Code Ġ+= Ġbuild Row ( it , Ġr Label ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġp uml Code Ġ+ Ġ" }\ n @ ends alt " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġblue Ġ= Ġ"< color : Blue >" ĊĠĠĠ Ġprivate Ġval Ġred Ġ= Ġ"< color : Red >" ĊĠĠĠ Ġprivate Ġfun Ġbuild Row ( row : ĠRow , Ġr Label : ĠString ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġs Ġ= Ġ"" ĊĠĠĠĠĠĠĠ Ġrow . col List . forEach Indexed () Ġ{ Ġindex , Ġit Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġc Label Ġ= Ġr Label Ġ+ Ġ". c " Ġ+ Ġindex . toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( index Ġ% Ġ 2 Ġ== Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġs Ġ+= Ġbuild Col ( it , Ġblue , Ġc Label ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġs Ġ+= Ġbuild Col ( it , Ġred , Ġc Label ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġs Ġ= Ġs . drop Last ( 1 ) ĊĠĠĠĠĠĠĠ Ġreturn Ġs Ġ+ Ġ"\ n " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġbuild Col ( col : ĠCol , Ġcolor Code : ĠString , Ġlabel : ĠString ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġs Ġ= Ġ"" ĊĠĠĠĠĠĠĠ Ġval Ġspan : ĠInt Ġ= Ġcol . span ĊĠĠĠĠĠĠĠ Ġrepeat ( span ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġs Ġ+= Ġ"$ color Code Ġ$ label Ġ| " ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġs ĊĠĠĠ Ġ} Ċ Ċ } Ċ