amanda.hinchman-dominguez
02/17/2019, 1:21 AMclass GuiceController(vararg val modules: Module): Controller() {
val guice = Guice.createInjector(*modules)
}
class TornadoFXGuice(override val primaryView: KClass<out UIComponent> = NoPrimaryViewSpecified::class,
vararg stylesheet: KClass<out Stylesheet>) : App() {
private val guiceController: GuiceController by inject()
init {
Stylesheet.importServiceLoadedStylesheets()
stylesheet.forEach { importStylesheet(it) }
FX.dicontainer = object : DIContainer {
override fun <T : Any> getInstance(type: KClass<T>): T =
guiceController.guice.getInstance(type.java)
}
}
}