ajithprasaad
11/03/2017, 7:41 AMclass DemoTab : View("Demo Tab") {
override val root = hbox()
init {
with(root) {
vbox{
hgrow = Priority.ALWAYS
val buttonRoot = button("Show Demo Popup")
with(buttonRoot){
action {
find(DemoPopup::class, mapOf(DemoPopup::parentContainer to buttonRoot.parent))
.openModal(stageStyle = StageStyle.TRANSPARENT)
}
}
style {
backgroundColor += Color.BLUE
}
}
vbox {
minWidth = 200.0
style {
backgroundColor += Color.RED
alignment = Pos.CENTER_RIGHT
}
}
}
}
}
class DemoPopup : Fragment("Demo Popup") {
val parentContainer: Parent by param()
override fun onDock() {
modalStage!!.x = parentContainer.localToScreen(parentContainer.boundsInParent).minX
modalStage!!.y = parentContainer.localToScreen(parentContainer.boundsInParent).minY
}
override val root = vbox {
setPrefSize(parentContainer.layoutBounds.width, parentContainer.layoutBounds.height)
style {
backgroundColor += Color.YELLOW
}
}
}