package Ġcom . so yle . stories . desktop . view . location . location List Ċ Ċ import Ġcom . so yle . stories . domain . location . Location Ċ import Ġcom . so yle . stories . location . items . Location Item ViewModel Ċ import Ġcom . so yle . stories . location . location List . Location List Ċ import Ġjavafx . scene . control . Button Ċ import Ġjavafx . scene . control . ContextMenu Ċ import Ġjavafx . scene . control . TreeItem Ċ import Ġjavafx . scene . control . TreeView Ċ import Ġorg . test fx . api . Fx Robot Ċ Ċ class ĠLocation List Driver ( private Ġval Ġlocation List : ĠLocation List ) Ġ: ĠF x Robot () Ġ{ ĊĊĠĠĠ Ġval Ġtree : ĠTree View < Any ?> ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġfrom ( location List . root ). lookup (". tree - view "). query < TreeView < Any ? >>() ĊĊĠĠĠ Ġval Ġlocation Item ContextMenu : ĠContext Menu ? ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġtree . context Menu ĊĊĠĠĠ Ġval Ġdelete Button : ĠButton ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġfrom ( location List . root ). lookup ("# action Bar _ delete Location "). query Button () ĊĊĠĠĠ Ġfun ĠContext Menu . get Rename Option () Ġ= Ġitems . find Ġ{ Ġit . text Ġ== Ġ" Rename " Ġ} !! ĊĊĠĠĠ Ġval ĠContext Menu . open Details Option ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġitems . find Ġ{ Ġit . id Ġ== Ġ" open " Ġ} !! ĊĊĠĠĠ Ġfun Ġget Location Item Or Error ( location Id : ĠLocation . Id ): ĠTree Item < Any ?> Ġ= ĊĠĠĠĠĠĠĠ Ġget Location Item ( location Id ) Ġ?: Ġerror (" No Ġitem Ġin Ġlocation Ġlist Ġwith Ġid Ġ$ location Id ") ĊĊĠĠĠ Ġfun Ġget Location Item ( location Id : ĠLocation . Id ): ĠTree Item < Any ?> ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtree . root . children . as Sequence (). map NotNull Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġvalue Ġ= Ġit . value Ġas ? ĠLocation Item ViewModel ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( value ?. id Ġ== Ġlocation Id ) Ġit Ġas ĠTree Item < Any ?> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġnull ĊĠĠĠĠĠĠĠ Ġ}. first OrNull () ĊĠĠĠ Ġ} Ċ Ċ } Ċ Ċ fun ĠLocation List . driver () Ġ= ĠLocation List Driver ( this ) Ċ inline Ġfun ĠLocation List . drive ( cross inline Ġroad : ĠLocation List Driver . () Ġ-> ĠUnit ) Ġ{ ĊĠĠĠ Ġval Ġdriver Ġ= ĠLocation List Driver ( this ) ĊĠĠĠ Ġdriver . interact Ġ{ Ġdriver . road () Ġ} Ċ }