/* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 2 1 ĠMT Software Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġ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 Ġorg . my teer . no vel . gui . utils Ċ Ċ import Ġcom . dl sc . workbench fx . Workbench Ċ import Ġcom . dl sc . workbench fx . model . Workbench Overlay Ċ import Ġjavafx . beans . property . Double Property Ċ import Ġjavafx . beans . property . ReadOnly ObjectProperty Ċ import Ġjavafx . beans . value . Observable Boolean Value Ċ import Ġjavafx . collections . Observable List Ċ import Ġjavafx . collections . Observable Map Ċ import Ġjavafx . geometry . Orientation Ċ import Ġjavafx . geometry . Pos Ċ import Ġjavafx . scene . Node Ċ import Ġjavafx . scene . control .* Ċ import Ġjavafx . scene . layout .* Ċ import Ġjavafx . util . String Converter Ċ import Ġorg . controls fx . control . Check ListView Ċ Ċ fun Ġ< T Ġ: ĠNode > ĠT . style Class ( style Class : ĠString ) Ġ= Ġapply Ġ{ ĊĠĠĠ Ġget Style Class (). add ( style Class ) Ċ } Ċ Ċ fun Ġ< T Ġ: ĠNode > ĠT . col span ( value : ĠInt ) Ġ= Ġapply Ġ{ ĊĠĠĠ ĠGrid Pane . set Column Span ( this , Ġvalue ) Ċ } Ċ Ċ fun Ġ< T Ġ: ĠNode > ĠT . h grow ( priority : ĠPriority ) Ġ= Ġapply Ġ{ ĊĠĠĠ ĠGrid Pane . set H grow ( this , Ġpriority ) ĊĠĠĠ ĠH Box . set H grow ( this , Ġpriority ) Ċ } Ċ Ċ fun ĠButton Type . type Equals ( other : ĠButton Type ) Ġ= Ġ( button Data Ġ== Ġother . button Data ) Ċ Ċ fun Ġ< T > ĠCombo Box < T >. refresh () Ġ{ ĊĠĠĠ Ġval Ġitems Ġ= Ġthis . items ĊĠĠĠ Ġval Ġselected Ġ= Ġthis . selection Model . selected Item ĊĠĠĠ Ġthis . items Ġ= Ġnull ĊĠĠĠ Ġthis . items Ġ= Ġitems ĊĠĠĠ Ġthis . selection Model . select ( selected ) Ċ } Ċ Ċ inline Ġval Ġ< S > ĠTable View < S >. selected Items : ĠObservable List < S > ĊĠĠĠ Ġget () Ġ= Ġselection Model . selected Items Ċ Ċ inline Ġval Ġ< T > ĠListView < T >. selected Items : ĠObservable List < T > ĊĠĠĠ Ġget () Ġ= Ġselection Model . selected Items Ċ Ċ inline Ġval Ġ< T > ĠCheck ListView < T >. checked Items : ĠObservable List < T > ĊĠĠĠ Ġget () Ġ= Ġcheck Model . checked Items Ċ Ċ inline Ġvar Ġ< T > ĠChoice Box < T >. selected Item : ĠT ĊĠĠĠ Ġget () Ġ= Ġselection Model . selected Item ĊĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠ Ġselection Model . select ( value ) ĊĠĠĠ Ġ} Ċ Ċ inline Ġvar Ġ< T > ĠCombo Box < T >. selected Item : ĠT ĊĠĠĠ Ġget () Ġ= Ġselection Model . selected Item ĊĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠ Ġselection Model . select ( value ) ĊĠĠĠ Ġ} Ċ Ċ inline Ġfun Ġ< T > ĠChoice Box < T >. value Con verting Policy ( ĊĠĠĠ Ġcross inline ĠtoString Fun : Ġ( T ) Ġ-> ĠString ?, ĊĠĠĠ Ġcross inline Ġfrom String Fun : Ġ( String ?) Ġ-> ĠT Ċ ) Ġ{ ĊĠĠĠ Ġconverter Ġ= Ġobject Ġ: ĠString Converter < T >() Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠtoString ( obj : ĠT ) Ġ= ĠtoString Fun ( obj ) ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġfrom String ( string : ĠString ) Ġ= Ġfrom String Fun ( string ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun Ġ< T > ĠChoice Box < T >. selected ItemProperty (): ĠReadOnly ObjectProperty < T > Ġ= Ġselection Model . selected ItemProperty () Ċ Ċ inline Ġfun Ġhyper link ( text : ĠString , Ġgraphic : ĠNode ? Ġ= Ġnull , Ġcross inline Ġon Action : Ġ() Ġ-> ĠUnit ) Ġ= ĊĠĠĠ ĠHyper link ( text , Ġgraphic ). apply Ġ{ ĊĠĠĠĠĠĠĠ Ġset On Action Ġ{ Ġon Action () Ġ} ĊĠĠĠ Ġ} Ċ Ċ fun Ġscroll Pane ( content : ĠNode , Ġfit To Width : ĠBoolean Ġ= Ġfalse , Ġfit To Height : ĠBoolean Ġ= Ġfalse ) Ġ= ĠScroll Pane ( content ). apply Ġ{ ĊĠĠĠ Ġis Fit To Width Ġ= Ġfit To Width ĊĠĠĠ Ġis Fit To Height Ġ= Ġfit To Height Ċ } Ċ Ċ fun ĠGrid Pane . add Row ( var arg Ġelements : ĠNode ) Ġ= Ġapply Ġ{ ĊĠĠĠ Ġadd Row ( rowCount , Ġ* elements ) Ċ } Ċ Ċ val Ġ< S > ĠTable View < S >. vertical Scroll Value Property : ĠDouble Property ? ĊĠĠĠ Ġget () Ġ= Ġlookup All (". scroll - bar ") ĊĠĠĠĠĠĠĠ Ġ. filter Is Instance < ScrollBar >() ĊĠĠĠĠĠĠĠ Ġ. find Ġ{ ĠOrientation . VERTICAL Ġ== Ġit . orientation Ġ} ĊĠĠĠĠĠĠĠ Ġ? . value Property () Ċ Ċ fun Ġ< S > ĠTable View < S >. setOn Sc rolled To Bottom ( action : Ġ() Ġ-> ĠUnit ): ĠTable View < S > Ġ= Ġapply Ġ{ ĊĠĠĠ Ġon Scene Present Ġ{ ĊĠĠĠĠĠĠĠ Ġrun Outside UI Async Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġvertical ScrollBar : ĠScroll Bar ? Ġ= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhile Ġ( null Ġ== Ġvertical ScrollBar ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvertical ScrollBar Ġ= Ġlookup All (". scroll - bar ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Is Instance < ScrollBar >() ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. find Ġ{ ĠOrientation . VERTICAL Ġ== Ġit . orientation Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( null Ġ== Ġvertical ScrollBar ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠThread . sleep ( 1 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvertical ScrollBar . let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . value Property (). addListener Ġ{ Ġ_, Ġ_, Ġvalue Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( value Ġ== Ġit . max ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġaction . invoke () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . visible Property (). addListener Ġ{ Ġ_, Ġ_, Ġvisible Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! visible ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġaction . invoke () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ val ĠWork bench . mutable Overlay s : ĠObservable Map < Region , ĠWork bench Overlay > ĊĠĠĠ Ġget () Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Suppress (" UN CHECK ED _ CAST ") ĊĠĠĠĠĠĠĠ Ġreturn Ġwork bench Overlay s Field . get ( this ) Ġas ĠObservable Map < Region , ĠWork bench Overlay > ĊĠĠĠ Ġ} Ċ Ċ private Ġval Ġwork bench Overlay s Field Ġ= ĠWork bench :: class . java . getDeclared Field (" overlay s "). apply Ġ{ ĊĠĠĠ Ġis Accessible Ġ= Ġtrue Ċ } Ċ Ċ fun Ġ< T Ġ: ĠNode > ĠT . bind Full Visibility To ( to : ĠObservable Boolean Value ) Ġ{ ĊĠĠĠ Ġvisible Property (). bind ( to ) ĊĠĠĠ Ġmanaged Property (). bind ( to ) Ċ } Ċ Ċ fun ĠNode . as Center ed ( pos : ĠPos Ġ= ĠPos . CENTER ) Ġ= ĠStack Pane ( this ). also Ġ{ ĊĠĠĠ ĠStack Pane . set Alignment ( this , Ġpos ) Ċ } Ċ