package Ġorg . hex works . z ir con . internal . fragment . impl Ċ Ċ import Ġorg . hex works . z ir con . api . Component Decor ations . margin Ċ import Ġorg . hex works . z ir con . api . Components Ċ import Ġorg . hex works . z ir con . api . component . Attached Component Ċ import Ġorg . hex works . z ir con . api . component . Component Ċ import Ġorg . hex works . z ir con . api . component . Panel Ċ import Ġorg . hex works . z ir con . api . component . V Box Ċ import Ġorg . hex works . z ir con . api . data . Position Ċ import Ġorg . hex works . z ir con . api . data . Size Ċ import Ġorg . hex works . z ir con . api . dsl . component . build H box Ċ import Ġorg . hex works . z ir con . api . dsl . component . panel Ċ import Ġorg . hex works . z ir con . api . dsl . component . v box Ċ import Ġorg . hex works . z ir con . api . fragment . Tab Ċ import Ġorg . hex works . z ir con . api . fragment . TabBar Ċ import Ġorg . hex works . z ir con . internal . component . renderer . No Op Component Renderer Ċ Ċ class ĠDefault Vertical TabBar Ġinternal Ġconstructor ( ĊĠĠĠ Ġsize : ĠSize , ĊĠĠĠ Ġtab Width : ĠInt , ĊĠĠĠ Ġdefault Selected : ĠString , ĊĠĠĠ Ġtabs : ĠList < Tab Data > Ċ ) Ġ: ĠTab Bar Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġtab Bar : ĠV Box ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġcontent : ĠPanel ĊĊĠĠĠ Ġprivate Ġvar Ġcurrent Content : ĠAtt ached Component ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġval Ġgroup Ġ= ĠComponents . radioButton Group (). build () ĊĠĠĠ Ġprivate Ġval Ġlookup Ġ= Ġtabs . associate Ġ{ Ġ( tab , Ġcontent ) Ġ-> ĊĠĠĠĠĠĠĠ Ġgroup . addComponent ( tab . tab Button ) ĊĠĠĠĠĠĠĠ Ġtab . key Ġto ĠTab Data ( tab , Ġcontent ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġval Ġroot : ĠComponent Ġ= Ġbuild H box Ġ{ ĊĠĠĠĠĠĠĠ Ġpreferred Size Ġ= Ġsize ĊĠĠĠĠĠĠĠ Ġcomponent Renderer Ġ= ĠNo Op Component Renderer () ĊĊĠĠĠĠĠĠĠ Ġtab Bar Ġ= Ġv box Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpreferred Size Ġ= ĠSize . create ( tab Width , Ġsize . height ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdecoration Ġ= Ġmargin ( 1 , Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcomponent Renderer Ġ= ĠNo Op Component Renderer () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchildren ToAdd Ġ= Ġlookup . map Ġ{ Ġit . value . tab . root Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġcontent Ġ= Ġpanel Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpreferred Size Ġ= Ġsize . with Relative Width (- tab Width ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġgroup . selected Button Property . onChange Ġ{ Ġ(_, ĠnewValue ) Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠnewValue ?. let Ġ{ Ġbutton Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcurrent Content ?. detach ()?. moveTo ( Position . default Position ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcurrent Content Ġ= Ġcontent . addComponent ( lookup . getValue ( button . key ). content ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġlookup . getValue ( default Selected ). tab . isSelected Ġ= Ġtrue ĊĠĠĠ Ġ} Ċ Ċ } Ċ