aboutsummaryrefslogtreecommitdiff
path: root/app/bin/main/xyz/brysonsteck/serverfordummies/PrimaryController.kt
diff options
context:
space:
mode:
Diffstat (limited to 'app/bin/main/xyz/brysonsteck/serverfordummies/PrimaryController.kt')
-rw-r--r--app/bin/main/xyz/brysonsteck/serverfordummies/PrimaryController.kt124
1 files changed, 124 insertions, 0 deletions
diff --git a/app/bin/main/xyz/brysonsteck/serverfordummies/PrimaryController.kt b/app/bin/main/xyz/brysonsteck/serverfordummies/PrimaryController.kt
new file mode 100644
index 0000000..6e05579
--- /dev/null
+++ b/app/bin/main/xyz/brysonsteck/serverfordummies/PrimaryController.kt
@@ -0,0 +1,124 @@
+package xyz.brysonsteck.serverfordummies
+
+import java.io.File
+import java.io.IOException
+import java.awt.Checkbox
+import java.util.Properties
+
+import javafx.beans.value.ChangeListener
+import javafx.beans.value.ObservableValue
+import javafx.beans.property.BooleanProperty
+import javafx.collections.FXCollections
+import javafx.fxml.FXML
+import javafx.geometry.Insets
+import javafx.scene.control.Button
+import javafx.scene.control.ChoiceBox
+import javafx.scene.control.Label
+import javafx.scene.control.TextField
+import javafx.scene.control.Spinner
+import javafx.scene.control.TitledPane
+import javafx.scene.control.ButtonBar
+import javafx.scene.control.CheckBox
+import javafx.scene.layout.Border
+import javafx.scene.layout.BorderStroke
+import javafx.scene.layout.GridPane
+import javafx.scene.layout.Pane
+import javafx.scene.layout.HBox
+import javafx.scene.text.TextAlignment
+import javafx.scene.Scene
+import javafx.scene.input.MouseEvent
+import javafx.stage.FileChooser
+import javafx.stage.FileChooser.ExtensionFilter
+import javafx.stage.DirectoryChooser
+import javafx.event.EventHandler
+
+class PrimaryController {
+ @FXML
+ lateinit private var currentDirectoryLabel: Label
+ @FXML
+ lateinit private var worldNameField: TextField
+ @FXML
+ lateinit private var seedField: TextField
+ @FXML
+ lateinit private var portSpinner: Spinner<kotlin.Int>
+ @FXML
+ lateinit private var difficultyBox: ChoiceBox<String>
+ @FXML
+ lateinit private var gamemodeBox: ChoiceBox<String>
+ @FXML
+ lateinit private var worldTypeBox: ChoiceBox<String>
+ @FXML
+ lateinit private var worldSettingsPane: HBox
+ @FXML
+ lateinit private var parentPane: Pane
+ @FXML
+ lateinit private var buttonBar: ButtonBar
+ @FXML
+ lateinit private var flightCheckbox: CheckBox
+ @FXML
+ lateinit private var netherCheckbox: CheckBox
+ @FXML
+ lateinit private var structuresCheckbox: CheckBox
+ @FXML
+ lateinit private var pvpCheckbox: CheckBox
+ @FXML
+ lateinit private var whitelistCheckbox: CheckBox
+ @FXML
+ lateinit private var cmdBlocksCheckbox: CheckBox
+ @FXML
+ lateinit private var playerCountCheckbox: CheckBox
+ @FXML
+ lateinit private var maxPlayersSpinner: Spinner<kotlin.Int>
+ @FXML
+ lateinit private var maxSizeSpinner: Spinner<kotlin.Int>
+ @FXML
+ lateinit private var memorySpinner: Spinner<kotlin.Int>
+ @FXML
+ lateinit private var spawnSpinner: Spinner<kotlin.Int>
+ @FXML
+ lateinit private var simulationSpinner: Spinner<kotlin.Int>
+ @FXML
+ lateinit private var renderSpinner: Spinner<kotlin.Int>
+ @FXML
+ lateinit private var maxTickSpinner: Spinner<kotlin.Int>
+ @FXML
+ lateinit private var progressBar: ProgressBar
+
+ @FXML
+ private fun onDirectoryButtonClick() {
+ val dirChooser = DirectoryChooser()
+ dirChooser.title = "Open a server directory"
+ dirChooser.initialDirectory = File(System.getProperty("user.home"))
+ val result = dirChooser.showDialog(null)
+ if (result != null) {
+ currentDirectoryLabel.text = result.absolutePath
+ parentPane.isDisable = false
+ worldSettingsPane.isDisable = false
+ buttonBar.isDisable = false
+ }
+ }
+
+ @FXML
+ private fun onWorldNameChange() {
+
+ }
+
+ @FXML
+ private fun onSeedChange() {
+
+ }
+
+ @FXML
+ private fun onPortChange() {
+
+ }
+
+ @FXML
+ private fun onCheckboxClick() {
+ }
+
+ @FXML
+ private fun onSpinnerChange() {
+
+ }
+} \ No newline at end of file