package Ġcom . el pass ion . main fr amer plugin . action . configure . temp later Ċ Ċ import Ġcom . el pass ion . main fr amer plugin . action . configure . temp later . ui . Template Chooser Ċ import Ġcom . el pass ion . main fr amer plugin . common . Dialog Wrapper Adapter Ċ import Ġcom . el pass ion . main fr amer plugin . common . Strings Bundle Ċ import Ġcom . intellij . openapi . project . Project Ċ import Ġcom . intellij . ui . Collection ComboBox Model Ċ import Ġio . reactivex . Maybe Ċ import Ġjavax . swing . J Component Ċ Ċ private Ġclass ĠTemplate Application Dialog ( project : ĠProject , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdo On Ok : Ġ( Project Type ) Ġ-> ĠUnit , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdo On Cancel : Ġ() Ġ-> ĠUnit ) Ġ: ĠDialog Wrapper Adapter < Project Type >( project , Ġdo On Ok , Ġdo On Cancel ) Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġform Ġ= ĠTemplate Chooser () ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġtitle Ġ= ĠStrings Bundle . getMessage (" configure . temp later . dialog . title ") ĊĠĠĠĠĠĠĠ Ġinit () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġcreate Center Panel (): ĠJ Component ? Ġ{ ĊĠĠĠĠĠĠĠ Ġform . project Type ComboBox . model Ġ= ĠCollection ComboBox Model ( Project Type . values (). map Ġ{ Ġit . displayName Ġ}) ĊĠĠĠĠĠĠĠ Ġreturn Ġform . panel ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Success Result (): ĠProject Type Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠProject Type . values ()[ form . project Type ComboBox . selectedIndex ] ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun Ġtemplate Application Dialog ( project : ĠProject ) Ġ= ĊĠĠĠĠĠĠĠ ĠMaybe . create < Project Type > Ġ{ Ġemitter Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTemplate Application Dialog ( project , Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġemitter . on Success ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġemitter . onComplete () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}). show () ĊĠĠĠĠĠĠĠ Ġ} ĊĊ