TextureSync/client/src/main/kotlin/org/hso/texturesyncclient/view/startupView/StartupView.kt

80 lines
2.3 KiB
Kotlin
Raw Normal View History

package org.hso.texturesyncclient.view.startupView
2019-04-30 18:50:41 +02:00
import com.jfoenix.controls.JFXButton
import com.jfoenix.controls.JFXSpinner
import com.jfoenix.controls.JFXTextField
import javafx.geometry.Insets
import javafx.geometry.Pos
import javafx.scene.control.Label
import javafx.scene.input.KeyCode
2019-04-30 18:50:41 +02:00
import javafx.scene.layout.Background
import javafx.scene.layout.BackgroundFill
import javafx.scene.layout.CornerRadii
import javafx.scene.paint.Paint
import tornadofx.*
class StartupView : View("StartupView") {
val labelStatus = Label("Verbindung zum Server einrichten")
2019-04-30 18:50:41 +02:00
val spinnerStatus = JFXSpinner()
val labelServerIP = Label("Server-Adresse")
2019-04-30 18:50:41 +02:00
val tfServerIP = JFXTextField()
val btnConnect = JFXButton("Manuell Verbinden")
private val svc: StartupViewController by inject()
2019-04-30 18:50:41 +02:00
override val root = borderpane {
minWidth = 1000.0
minHeight = 500.0
background = Background(BackgroundFill(Paint.valueOf("#2b2b2b"), CornerRadii.EMPTY, Insets.EMPTY))
2019-04-30 18:50:41 +02:00
center = vbox(50) {
maxWidth = 350.0
2019-04-30 18:50:41 +02:00
alignment = Pos.CENTER
add(labelStatus)
2019-04-30 18:50:41 +02:00
add(spinnerStatus)
vbox(10) {
2019-04-30 18:50:41 +02:00
alignment = Pos.CENTER
add(labelServerIP)
add(tfServerIP)
add(btnConnect)
}
}
style {
spinnerStatus.isVisible = false
labelStatus.style = "-fx-font: 20px Verdana; -fx-text-fill: #2b7bbb;"
labelServerIP.style = "-fx-font: 15px Verdana; -fx-text-fill: #2b7bbb;"
btnConnect.style = "-fx-button-type: RAISED; -fx-background-color: #3c3f41; -fx-text-fill: #2b7bbb;"
//tfServerIP.style = "-fx-text-fill: #b15b2e;"
tfServerIP.style { //TODO without .style
textFill = Paint.valueOf("#b15b2e")
alignment = Pos.BASELINE_CENTER
}
2019-04-30 18:50:41 +02:00
}
btnConnect.setOnAction {
2019-05-01 22:57:03 +02:00
spinnerStatus.isVisible = true
svc.btnConnectAction(tfServerIP.text)
//spinnerStatus.isVisible = false
2019-05-01 22:57:03 +02:00
}
tfServerIP.setOnKeyPressed {
if (it.code == KeyCode.ENTER) {
2019-05-01 22:57:03 +02:00
spinnerStatus.isVisible = true
svc.btnConnectAction(tfServerIP.text)
//spinnerStatus.isVisible = false
}
}
}
}