2019-04-30 16:49:02 +02:00
package org.hso.texturesyncclient.view.startupView
2019-05-01 22:57:03 +02:00
import com.jfoenix.animation.alert.CenterTransition
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
2019-04-30 20:51:59 +02:00
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
2019-05-05 23:14:36 +02:00
import javafx.scene.paint.Paint
2019-05-05 23:26:12 +02:00
import javafx.scene.text.Font
import javafx.scene.text.FontWeight
2019-04-30 16:49:02 +02:00
import tornadofx.*
2019-05-08 18:12:31 +02:00
class StartupView : View ( " StartupView " ) {
2019-04-30 16:49:02 +02:00
2019-05-05 23:14:36 +02:00
val labelStatus = Label ( " Verbindung zum Server einrichten " )
2019-04-30 18:50:41 +02:00
val spinnerStatus = JFXSpinner ( )
2019-05-05 23:14:36 +02:00
val labelServerIP = Label ( " Server-Adresse " )
2019-04-30 18:50:41 +02:00
val tfServerIP = JFXTextField ( )
val btnConnect = JFXButton ( " Manuell Verbinden " )
2019-05-01 22:38:30 +02:00
private val svc : StartupViewController by inject ( )
2019-04-30 20:51:59 +02:00
2019-04-30 18:50:41 +02:00
override val root = borderpane {
2019-05-01 22:38:30 +02:00
minWidth = 1000.0
minHeight = 500.0
2019-05-05 23:14:36 +02:00
background = Background ( BackgroundFill ( Paint . valueOf ( " #2b2b2b " ) , CornerRadii . EMPTY , Insets . EMPTY ) )
2019-04-30 18:50:41 +02:00
center = vbox ( 50 ) {
2019-05-05 23:14:36 +02:00
maxWidth = 350.0
2019-04-30 18:50:41 +02:00
alignment = Pos . CENTER
2019-04-30 20:51:59 +02:00
add ( labelStatus )
2019-04-30 18:50:41 +02:00
add ( spinnerStatus )
2019-05-01 22:38:30 +02:00
vbox ( 10 ) {
2019-04-30 18:50:41 +02:00
alignment = Pos . CENTER
add ( labelServerIP )
add ( tfServerIP )
add ( btnConnect )
}
}
style {
2019-05-01 22:38:30 +02:00
spinnerStatus . isVisible = false
2019-05-05 23:14:36 +02:00
2019-05-05 23:26:12 +02:00
labelStatus . font = Font . font ( " Verdana " , FontWeight . MEDIUM , 20.0 )
labelStatus . textFill = Paint . valueOf ( " #2b7bbb " )
2019-05-05 23:14:36 +02:00
labelServerIP . textFill = Paint . valueOf ( " #2b7bbb " )
2019-05-05 23:26:12 +02:00
labelServerIP . font = Font . font ( " Verdana " , FontWeight . MEDIUM , 15.0 )
2019-05-05 23:14:36 +02:00
btnConnect . textFill = Paint . valueOf ( " #2b7bbb " )
2019-05-08 18:12:31 +02:00
btnConnect . background = Background ( BackgroundFill ( Paint . valueOf ( " #3c3f41 " ) , CornerRadii . EMPTY , Insets . EMPTY ) )
2019-05-05 23:14:36 +02:00
2019-05-05 23:26:12 +02:00
tfServerIP . style { //TODO without .style
2019-05-05 23:14:36 +02:00
textFill = Paint . valueOf ( " #b15b2e " )
alignment = Pos . BASELINE _CENTER
}
2019-04-30 18:50:41 +02:00
}
2019-05-01 22:38:30 +02:00
btnConnect . setOnAction {
2019-05-01 22:57:03 +02:00
spinnerStatus . isVisible = true
2019-05-01 22:38:30 +02:00
svc . btnConnectAction ( tfServerIP . text )
2019-05-05 23:14:36 +02:00
//spinnerStatus.isVisible = false
2019-05-01 22:57:03 +02:00
2019-05-01 22:38:30 +02:00
}
2019-04-30 16:49:02 +02:00
2019-05-01 22:38:30 +02:00
tfServerIP . setOnKeyPressed {
if ( it . code == KeyCode . ENTER ) {
2019-05-01 22:57:03 +02:00
spinnerStatus . isVisible = true
2019-05-01 22:38:30 +02:00
svc . btnConnectAction ( tfServerIP . text )
2019-05-01 22:57:03 +02:00
spinnerStatus . isVisible = false
2019-05-01 22:38:30 +02:00
}
}
}
2019-04-30 16:49:02 +02:00
}