package Ġcn . navig ational . db fx . view Ċ Ċ import Ġcn . navig ational . db fx . ViewController Ċ import Ġcn . navig ational . db fx . config . EXPORT _ PAGE Ċ import Ġcn . navig ational . db fx . config . FOLDER _ X 1 6 Ċ import Ġcn . navig ational . db fx . i 1 8 n . I 1 8 N Ċ import Ġcn . navig ational . db fx . kit . utils . O ss Utils Ċ import Ġcn . navig ational . db fx . tool . export . Data Export Factory Ċ import Ġcn . navig ational . db fx . tool . export . Data Export Factory . get Ex Format Ċ import Ġcn . navig ational . db fx . tool . export . Data Export Factory . get Format Ċ import Ġcn . navig ational . db fx . tool . svg . Svg Image Trans coder Ċ import Ġjavafx . beans . value . ChangeListener Ċ import Ġjavafx . f xml . FXML Ċ import Ġjavafx . scene . control . Button Ċ import Ġjavafx . scene . control . Choice Box Ċ import Ġjavafx . scene . control . ListView Ċ import Ġjavafx . scene . control . TextField Ċ import Ġjavafx . scene . layout . Border Pane Ċ import Ġjavafx . stage . FileChooser Ċ import Ġjavafx . stage . Modal ity Ċ import Ġjava . io . File Ċ Ċ class ĠExport ViewController ( private Ġval Ġuuid : ĠString , Ġprivate Ġval Ġext Data : ĠString , Ġprivate Ġval Ġtarget : ĠExport Target ) Ġ: ĠView Controller < Border Pane >( EXPORT _ PAGE ) Ġ{ ĊĊĠĠĠ Ġ@ FXML ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġextras : ĠChoice Box < String > ĊĊĠĠĠ Ġ@ FXML ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġopen File Selector : ĠButton ĊĊĠĠĠ Ġ@ FXML ĊĠĠĠ Ġprivate Ġlateinit Ġvar ĠlistView : ĠListView < String > ĊĊĠĠĠ Ġ@ FXML ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġpath : ĠTextField ĊĊĠĠĠ Ġprivate Ġval Ġselect ChangeListener : ĠChange Listener < String > Ġ= ĠChange Listener Ġ{ Ġ_, Ġ_, Ġ_ Ġ-> ĊĠĠĠĠĠĠĠ Ġthis . init Path () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . init List () ĊĠĠĠĠĠĠĠ Ġthis . setSize With Screen ( 0 . 4 , Ġ 0 . 4 ) ĊĠĠĠĠĠĠĠ Ġthis . stage . title Ġ= ĠI 1 8 N . getString (" stage . export . data ") ĊĠĠĠĠĠĠĠ Ġfor Ġ( format Ġin ĠData Export Factory . Export Format . values ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . extras . items . add ( format . name ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġthis . open File Selector . setOn Action Ġ{ Ġthis . open Dir Selector () Ġ} ĊĠĠĠĠĠĠĠ Ġthis . extras . selection Model . select ( 0 ) ĊĠĠĠĠĠĠĠ Ġthis . init Path () ĊĠĠĠĠĠĠĠ Ġthis . open File Selector . graphic Ġ= ĠSvg Image Trans coder . svg To ImageView ( FOLDER _ X 1 6 ) ĊĠĠĠĠĠĠĠ Ġthis . extras . selection Model . selected ItemProperty (). addListener ( this . select ChangeListener ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit List () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( target Ġ== ĠExport Target . TABLE ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . list View . items . add ( ext Data ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ// Query Ġtable Ġlist ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit Path () Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġpath Ġ= Ġif Ġ( target Ġ== ĠExport Target . TABLE ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġext Data . substring ( ext Data . lastIndexOf ('.') Ġ+ Ġ 1 ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġformat Ġ= Ġget Format ( this . extras . selection Model . selected Item ) ĊĠĠĠĠĠĠĠ Ġpath Ġ= Ġ"${ O ss Utils . getUser Home ()} ${ File . separator }$ path .${ format }" ĊĠĠĠĠĠĠĠ Ġthis . path . text Ġ= Ġpath ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġopen Dir Selector () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġformat Ġ= Ġget Format ( this . extras . selection Model . selected Item ) ĊĠĠĠĠĠĠĠ Ġval Ġfc Ġ= ĠFile Chooser (). also Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . initial Directory Ġ= ĠFile ( O ss Utils . getUser Home ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . extension Filters . add ( FileChooser . Extension Filter ("* .$ format ", Ġformat )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġfs Ġ= Ġfc . show Save Dialog ( this . stage ) Ġ?: Ġreturn ĊĠĠĠĠĠĠĠ Ġthis . path . text Ġ= Ġfs . absolute Path ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ FXML ĊĠĠĠ Ġfun Ġcancel () Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . stage . close () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠExport Ġtarget ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġenum Ġclass ĠExport Target Ġ{ ĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠSingle Ġtable ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ ĠTABLE , ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠScheme ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ ĠS CHE ME , ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdispose () Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . extras . selection Model . selected ItemProperty (). remove Listener ( this . select ChangeListener ) ĊĠĠĠ Ġ} Ċ }