/* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 1 8 ĠRol and ĠW ie se Ċ Ġ* ĠThis Ġsoftware Ġis Ġlicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ġyou Ġmay Ġnot Ġuse Ġthis Ġsoftware Ġ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 Ġk ray on . editor . sb gn . command Ċ Ċ import Ġcom . y works . y files . graph . I Edge Ċ import Ġcom . y works . y files . graph . IL abel Ċ import Ġcom . y works . y files . graph . I Model Item Ċ import Ġcom . y works . y files . graph . IN ode Ċ import Ġk ray on . editor . base . util . convertTo Ratio Point Ċ import Ġk ray on . editor . sb gn . model . S bgn Data Ċ import Ġk ray on . editor . sb gn . model . type Ċ Ċ object ĠDump TypeInfo Ġ: ĠS bgn Command (" DUMP _ TYPE _ INFO ") Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġexecute ( param : ĠAny ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġitem : ĠI Model Item ? Ġ= Ġget Unique Node ( param ) Ġ?: Ġget Unique Edge ( param ) Ġ?: Ġget Unique Label ( param ) ĊĠĠĠĠĠĠĠ Ġ?: Ġget Unique Port ( param ) ĊĠĠĠĠĠĠĠ Ġif Ġ( item Ġis ĠI Model Item ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprintln (" type =" Ġ+ Ġitem . type ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( item . tag Ġas ? ĠS bgn Data )?. property ?. forEach Ġ{ Ġ( k , Ġv ) Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprintln (" key =$ k Ġ Ġvalue =$ v ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( item Ġis ĠI Label ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbounds Ġ= Ġitem . layout Parameter . model . get Geometry ( item , Ġitem . layout Parameter ). bounds ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprintln (" bounds =$ bounds ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprintln (" layout Parameter =${ item . layout Parameter }") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( item . owner Ġas ? ĠI Node )?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprintln (" center Ratio Point =${ it . layout . convertTo Ratio Point ( item . layout . center )} ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( item Ġis ĠI Node ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprintln (" layout =${ item . layout }") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsb gn Graph Component . constraint Manager . getNode Conversion Types ( graph , Ġitem ). forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprintln (" allowed NodeType =$ it ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġitem . ports . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprintln (" port @ ${ it . location } Ġ Ġtype =${ it . type }") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( graph . is Group Node ( item )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprintln (" child Count =${ graph . getChildren ( item ). size ()} ĠĠ Ġparent =${ graph . getParent ( item )} ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( item Ġis ĠI Edge ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġitem . b ends . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprintln (" b end Ġ${ it . location }") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsb gn Graph Component . constraint Manager . get Edge Conversion Hints ( graph , Ġitem ). forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprintln (" possible Ġconversions : Ġ$ it ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġoverride Ġfun Ġcan Execute ( param : ĠAny ?) Ġ= Ġtrue Ċ }