package Ġorg . fb me . ide . ric hed iting . editor Ċ Ċ import Ġcom . intellij . ide . navigation Toolbar . Abstract NavBar Model Extension Ċ import Ġcom . intellij . openapi . project . Project Ċ import Ġcom . intellij . openapi . vfs . Virtual File Ċ import Ġcom . intellij . psi . Psi Element Ċ import Ġcom . intellij . util . Processor Ċ import Ġjet brains . mps . s model . MP S Module Repository Ċ import Ġjet brains . mps . s model . Model Access Helper Ċ import Ġorg . fb me . lib . iec 6 1 4 9 9 . instances . Network Instance Ċ import Ġjava . util .* Ċ Ċ class ĠNetwork Instance NavBar Extension Ġ: ĠAbstract NavBar Model Extension () Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġget Present able Text (` object `: ĠAny ): ĠString ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmodel Access Ġ= ĠModel Access Helper ( MP S Module Repository . getInstance (). model Access ) ĊĠĠĠĠĠĠĠ Ġif Ġ(` object ` Ġis ĠNetwork Instance NavBar Model . Item ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġinstance Ġ= Ġ` object `. instance ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġmodel Access . run Read Action < String > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( instance . parent Ġ?: Ġinstance ). declaration . name ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ(` object ` Ġis ĠNetwork Instance NavBar Model . System Item ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsystem Ġ= Ġ` object `. system ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġmodel Access . run Read Action < String > Ġ{ Ġsystem . name Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ(` object ` Ġis ĠNetwork Instance NavBar Model . Device Item ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdevice Ġ= Ġ` object `. device ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġmodel Access . run Read Action < String > Ġ{ Ġdevice . name Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetParent ( element : ĠPsi Element ): ĠPsi Element ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġadjust Element ( element : ĠPsi Element ): ĠPsi Element ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġadditional Roots ( project : ĠProject ): ĠCollection < Virtual File > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġempty List () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġprocess Children (` object `: ĠAny , Ġroot Element : ĠAny , Ġprocessor : ĠProcessor < Any >): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ(` object ` Ġis ĠNetwork Instance NavBar Model . Item ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġitem Ġ= Ġ` object ` ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġinstance Ġ= Ġitem . instance ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġproject Ġ= Ġitem . project ĊĠĠĠĠĠĠĠĠĠĠĠ Ġproject !!. model Access . run Read Action Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( component Ġin Ġinstance . network Declaration . function Blocks ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġchild Ġ= Ġinstance . getChild ( component !! ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( child Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġchild Network Ġ= Ġchild . contained Network ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( child Network Ġis ĠNetwork Instance ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprocessor . process ( Network Instance NavBar Model . Item ( child Network , Ġproject )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ(` object ` Ġis ĠNetwork Instance NavBar Model . System Item ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsystem Item Ġ= Ġ` object ` ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsystem Ġ= Ġsystem Item . system ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġproject Ġ= Ġsystem Item . project ĊĠĠĠĠĠĠĠĠĠĠĠ Ġproject !!. model Access . run Read Action Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( application Ġin Ġsystem . applications ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġroot Ġ= ĠNetwork Instance . create For Application ( application !! ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprocessor . process ( Network Instance NavBar Model . Item ( root , Ġproject )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ(` object ` Ġis ĠNetwork Instance NavBar Model . Device Item ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdevice Item Ġ= Ġ` object ` ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdevice Ġ= Ġdevice Item . device ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġproject Ġ= Ġdevice Item . project ĊĠĠĠĠĠĠĠĠĠĠĠ Ġproject !!. model Access . run Read Action Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( resource Ġin Ġdevice . resources ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġroot Ġ= ĠNetwork Instance . create For Resource ( resource !! ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprocessor . process ( Network Instance NavBar Model . Item ( root , Ġproject )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} Ċ }