package Ġio . github . tz xyz . ashes . views Ċ Ċ import Ġcom . j fo enix . controls . J FX Rip pler Ċ import Ġde . j ens d . fx . glyph s . material design icons . Material Design Icon Ċ import Ġde . j ens d . fx . glyph s . material design icons . Material Design Icon View Ċ import Ġio . github . tz xyz . ashes . components . console Ċ import Ġio . github . tz xyz . ashes . models .* Ċ import Ġio . github . tz xyz . ashes . view models . As hes List Value ViewModel Ċ import Ġjavafx . geometry . Pos Ċ import Ġjavafx . scene . Parent Ċ import Ġjavafx . scene . control . TableRow Ċ import Ġjavafx . scene . layout . Priority Ċ import Ġjavafx . scene . text . Font Ċ import Ġorg . fx misc . richt ext . LineNumber Factory Ċ import Ġorg . fx misc . richt ext . Style Cl assed TextArea Ċ import Ġt orn ad of x .* Ċ Ċ abstract Ġclass ĠAs hes Base Key View Ġconstructor ( open Ġval Ġkey And Value : ĠAs hes KeyValue ): ĠAs hes Base View () Ġ{ ĊĊĊĠĠĠ Ġfun Ġbuild View () Ġ= Ġv box Ġ{ ĊĠĠĠĠĠĠĠ Ġv grow Ġ= ĠPriority . ALWAYS ĊĠĠĠĠĠĠĠ Ġh box Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġconsole Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġh grow Ġ= ĠPriority . ALWAYS ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparagraph Graphic Factory Ġ= ĠLine Number Factory . get ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Wrap Text Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠminHeight Ġ= Ġ 1 0 0 . 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠmaxHeight Ġ= Ġ 1 0 0 . 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġh box Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġspacing Ġ= Ġ 8 . 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpadding Ġ= Ġin sets ( 5 . 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġh box Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġspacing Ġ= Ġ 2 . 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd ( J FX Rip pler ( Material Design Icon View ( Material Design Icon . CODE _ STRING , Ġ" 1 . 4 em "))) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= Ġ"% s ". format ( key And Value . key ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfont Ġ= ĠFont . font ( 1 2 . 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġalignment Ġ= ĠPos . CENTER ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġh box Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġspacing Ġ= Ġ 2 . 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd ( J FX Rip pler ( Material Design Icon View ( Material Design Icon . TIMER , Ġ" 1 . 4 em "))) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSystem . currentTimeMillis () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= Ġ"% s Ġmilliseconds ". format ( key And Value . cost ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfont Ġ= ĠFont . font ( 1 2 . 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġalignment Ġ= ĠPos . CENTER ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġh box Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġspacing Ġ= Ġ 2 . 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd ( J FX Rip pler ( Material Design Icon View ( Material Design Icon . TIMER _ S AND , Ġ" 1 . 4 em "))) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= Ġif Ġ( key And Value . ttl Ġ== Ġ- 1 L ) Ġ" âĪ ŀ " Ġelse Ġ"% ss ". format ( key And Value . ttl ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġalignment Ġ= ĠPos . CENTER ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfont Ġ= ĠFont . font ( 1 2 . 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġregion Ġ{ Ġh grow Ġ= ĠPriority . ALWAYS Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd ( J FX Rip pler ( Material Design Icon View ( Material Design Icon . FILE _ TREE , Ġ" 1 . 4 em "))) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd ( J FX Rip pler ( Material Design Icon View ( Material Design Icon . TABLE , Ġ" 1 . 4 em "))) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd ( J FX Rip pler ( Material Design Icon View ( Material Design Icon . FILE _ DOCUMENT , Ġ" 1 . 4 em "))) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġadd ( content View ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġabstract Ġfun Ġcontent View (): ĠParent Ċ } Ċ Ċ class ĠAs hes String Key View ( override Ġval Ġkey And Value : ĠAs hes Key StringValue ): ĠAs hes Base Key View ( key And Value ) Ġ{ ĊĊĠĠĠ Ġoverride Ġval Ġroot Ġ= Ġbuild View () ĊĊĠĠĠ Ġoverride Ġfun Ġcontent View () Ġ= Ġv box Ġ{ ĊĠĠĠĠĠĠĠ Ġv grow Ġ= ĠPriority . ALWAYS ĊĠĠĠĠĠĠĠ Ġadd ( stringValue TextArea ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġstring Value TextArea (): ĠStyle Cl assed TextArea Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġvalue TextArea Ġ= ĠStyle Cl assed TextArea () ĊĠĠĠĠĠĠĠ Ġvalue TextArea . id Ġ= Ġ" string - value " ĊĠĠĠĠĠĠĠ Ġvalue TextArea . replace Text ( key And Value . value ) ĊĠĠĠĠĠĠĠ Ġvalue TextArea . is Wrap Text Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġvalue TextArea . is Editable Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġvalue TextArea . is Disable Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġvalue TextArea . vg row Ġ= ĠPriority . ALWAYS ĊĠĠĠĠĠĠĠ Ġvalue TextArea . paragraph Graphic Factory Ġ= ĠLine Number Factory . get ( value TextArea ) ĊĠĠĠĠĠĠĠ Ġreturn Ġvalue TextArea ĊĠĠĠ Ġ} Ċ Ċ } Ċ Ċ class ĠAs hes List Key View ( override Ġval Ġkey And Value : ĠAs hes Key List Value ): ĠAs hes Base Key View ( key And Value ) Ġ{ ĊĊĠĠĠ Ġprivate Ġval ĠviewModel Ġby Ġinject < As hes List Value ViewModel >( Scope ()) ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ ĠviewModel . item Property . set ( key And Value ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġval Ġroot Ġ= Ġbuild View () ĊĊĠĠĠ Ġoverride Ġfun Ġcontent View () Ġ= Ġv box Ġ{ ĊĠĠĠĠĠĠĠ Ġv grow Ġ= ĠPriority . ALWAYS ĊĠĠĠĠĠĠĠ Ġtable view ( key And Value . value . map Indexed Ġ{ Ġindex , Ġs Ġ-> Ġindex Ġto Ġs Ġ}. as Observable ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġv grow Ġ= ĠPriority . ALWAYS ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreadonly Column ("# ", ĠPair < Int , ĠString >:: first ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreadonly Column (" value ", ĠPair < Int , ĠString >:: second ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcolumn Resize Policy Ġ= ĠSmart Resize . POLICY ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Row Factory Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrow Ġ= ĠTable Row < Pair < Int , ĠString >>() ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrow . setOn Mouse Clicked Ġ{ Ġe Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( e . click Count Ġ== Ġ 2 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprintln ( row . item ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrow ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠAs hes Hash Key View ( override Ġval Ġkey And Value : ĠAs hes Key Hash Value ): ĠAs hes Base Key View ( key And Value ) Ġ{ ĊĊĠĠĠ Ġoverride Ġval Ġroot Ġ= Ġbuild View () ĊĊĠĠĠ Ġoverride Ġfun Ġcontent View () Ġ= Ġv box Ġ{ ĊĠĠĠĠĠĠĠ Ġv grow Ġ= ĠPriority . ALWAYS ĊĠĠĠĠĠĠĠ Ġtable view ( key And Value . value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġv grow Ġ= ĠPriority . ALWAYS ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreadonly Column (" key ", ĠPair < String , ĠString >:: first ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreadonly Column (" value ", ĠPair < String , ĠString >:: second ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcolumn Resize Policy Ġ= ĠSmart Resize . POLICY ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Row Factory Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrow Ġ= ĠTable Row < Pair < String , ĠString >>() ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrow . setOn Mouse Clicked Ġ{ Ġe Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( e . click Count Ġ== Ġ 2 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprintln ( row . item ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrow ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠAs hes Set Key View ( override Ġval Ġkey And Value : ĠAs hes Key SetValue ): ĠAs hes Base Key View ( key And Value ) Ġ{ ĊĊĠĠĠ Ġoverride Ġval Ġroot Ġ= Ġbuild View () ĊĊĠĠĠ Ġoverride Ġfun Ġcontent View () Ġ= Ġv box Ġ{ ĊĠĠĠĠĠĠĠ Ġv grow Ġ= ĠPriority . ALWAYS ĊĠĠĠĠĠĠĠ Ġtable view ( key And Value . value . map Indexed Ġ{ Ġindex , Ġs Ġ-> Ġindex Ġto Ġs Ġ}. as Observable ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġv grow Ġ= ĠPriority . ALWAYS ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreadonly Column ("# ", ĠPair < Int , ĠString >:: first ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreadonly Column (" value ", ĠPair < Int , ĠString >:: second ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcolumn Resize Policy Ġ= ĠSmart Resize . POLICY ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Row Factory Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrow Ġ= ĠTable Row < Pair < Int , ĠString >>() ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrow . setOn Mouse Clicked Ġ{ Ġe Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( e . click Count Ġ== Ġ 2 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprintln ( row . item ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrow ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠAs hes Sorted Set Key View ( override Ġval Ġkey And Value : ĠAs hes Key Sorted SetValue ): ĠAs hes Base Key View ( key And Value ) Ġ{ ĊĊĠĠĠ Ġoverride Ġval Ġroot Ġ= Ġbuild View () ĊĊĠĠĠ Ġoverride Ġfun Ġcontent View () Ġ= Ġv box Ġ{ ĊĠĠĠĠĠĠĠ Ġv grow Ġ= ĠPriority . ALWAYS ĊĠĠĠĠĠĠĠ Ġtable view ( key And Value . value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġv grow Ġ= ĠPriority . ALWAYS ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreadonly Column (" score ", ĠPair < Double , ĠString >:: first ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreadonly Column (" value ", ĠPair < Double , ĠString >:: second ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcolumn Resize Policy Ġ= ĠSmart Resize . POLICY ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Row Factory Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrow Ġ= ĠTable Row < Pair < Double , ĠString >>() ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrow . setOn Mouse Clicked Ġ{ Ġe Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( e . click Count Ġ== Ġ 2 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprintln ( row . item ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrow ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ