package Ġlt . mark mer kk . ui _ 2 . views . progress Ċ Ċ import Ġcom . google . common . event bus . Subscribe Ċ import Ġcom . j fo enix . controls . J FX Button Ċ import Ġcom . j fo enix . controls . J FX Spinner Ċ import Ġcom . j fo enix . svg . SV GG lyph Ċ import Ġjavafx . geometry . Pos Ċ import Ġjavafx . scene . Parent Ċ import Ġjavafx . scene . control . Label Ċ import Ġjavafx . scene . paint . Color Ċ import Ġjavafx . scene . paint . Paint Ċ import Ġlt . mark mer kk .* Ċ import Ġlt . mark mer kk . events . Event Auto Sync Last Update Ċ import Ġlt . mark mer kk . inter actors . Sync Interactor Ċ import Ġlt . mark mer kk . ui _ 2 . views . j fx Button Ċ import Ġlt . mark mer kk . ui _ 2 . views . j fx Spinner Ċ import Ġt orn ad of x .* Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠProgress Widget : ĠFragment (), ĠProgress Contract . View Ġ{ ĊĊĠĠĠ Ġ@ Inject Ġlateinit Ġvar Ġgraphics : ĠGraphics < SV GG lyph > ĊĠĠĠ Ġ@ Inject Ġlateinit Ġvar Ġsync Interactor : ĠSync Interactor ĊĠĠĠ Ġ@ Inject Ġlateinit Ġvar Ġauto Sync Watcher : ĠAuto Sync Watcher 2 ĊĠĠĠ Ġ@ Inject Ġlateinit Ġvar Ġevent Bus : ĠW T EventBus ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ ĠMain . component (). inject ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġpresenter : ĠProgress Contract . Presenter ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġview Progress : ĠJ FX Spinner ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġview Start : ĠJ FX Button ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġview Label : ĠLabel ĊĊĠĠĠ Ġoverride Ġval Ġroot : ĠParent Ġ= Ġborder pane Ġ{ ĊĠĠĠĠĠĠĠ Ġleft Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġv box ( alignment Ġ= ĠPos . CENTER ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview Label Ġ= Ġlabel ("") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstyle Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpadding Ġ= Ġbox ( 2 . 0 . px ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġright Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstack pane Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview Start Ġ= Ġj fx Button Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgraphic Ġ= Ġgraphics . from ( Glyph . REFRESH 2 , ĠColor . BLACK , Ġ 1 2 . 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset On Action Ġ{ Ġpresenter . onClick Sync () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview Progress Ġ= Ġj fx Spinner Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstyle Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpadding Ġ= Ġbox ( 2 . 0 . px ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠminWidth Ġ= Ġ 2 4 . 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠminHeight Ġ= Ġ 2 4 . 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpref Width Ġ= Ġ 2 4 . 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpref Height Ġ= Ġ 2 4 . 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠmaxWidth Ġ= Ġ 2 4 . 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠmaxHeight Ġ= Ġ 2 4 . 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhide Progress () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstyle Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠbackgroundColor . add ( Paint . valueOf ( Material Colors . L IGH TEST )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbackground Radius . add ( box ( 2 0 . px )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Dock () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Dock () ĊĠĠĠĠĠĠĠ Ġevent Bus . register ( this ) ĊĠĠĠĠĠĠĠ Ġpresenter Ġ= ĠProgress Widget Presenter ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsync Interactor Ġ= Ġsync Interactor , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġauto Sync Watcher Ġ= Ġauto Sync Watcher ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġpresenter . on Attach ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Un dock () Ġ{ ĊĠĠĠĠĠĠĠ Ġevent Bus . unregister ( this ) ĊĠĠĠĠĠĠĠ Ġpresenter . on Detach () ĊĠĠĠĠĠĠĠ Ġsuper . on Un dock () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow Progress () Ġ{ ĊĠĠĠĠĠĠĠ Ġview Start . hide () ĊĠĠĠĠĠĠĠ Ġview Progress . show () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġhide Progress () Ġ{ ĊĠĠĠĠĠĠĠ Ġview Start . show () ĊĠĠĠĠĠĠĠ Ġview Progress . hide () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġchange Label ( sync Data : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġview Label . text Ġ= Ġsync Data ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// region ĠEvents ĊĊĠĠĠ Ġ@ Subscribe ĊĠĠĠ Ġfun Ġon Auto Sync ( event : ĠEvent Auto Sync Last Update ) Ġ{ ĊĠĠĠĠĠĠĠ Ġpresenter . check Sync Duration () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// endregion Ċ Ċ }