From 47de8220d52dde525d107ee076d090a48ee02c2e Mon Sep 17 00:00:00 2001 From: Bryson Steck Date: Sun, 7 May 2023 16:52:51 -0600 Subject: might as well commit before I go further --- .../serverfordummies/PrimaryController.kt | 124 +++++++++++++++++++++ 1 file changed, 124 insertions(+) create mode 100644 app/src/main/kotlin/xyz/brysonsteck/serverfordummies/PrimaryController.kt (limited to 'app/src/main/kotlin/xyz/brysonsteck/serverfordummies/PrimaryController.kt') diff --git a/app/src/main/kotlin/xyz/brysonsteck/serverfordummies/PrimaryController.kt b/app/src/main/kotlin/xyz/brysonsteck/serverfordummies/PrimaryController.kt new file mode 100644 index 0000000..6e05579 --- /dev/null +++ b/app/src/main/kotlin/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 + @FXML + lateinit private var difficultyBox: ChoiceBox + @FXML + lateinit private var gamemodeBox: ChoiceBox + @FXML + lateinit private var worldTypeBox: ChoiceBox + @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 + @FXML + lateinit private var maxSizeSpinner: Spinner + @FXML + lateinit private var memorySpinner: Spinner + @FXML + lateinit private var spawnSpinner: Spinner + @FXML + lateinit private var simulationSpinner: Spinner + @FXML + lateinit private var renderSpinner: Spinner + @FXML + lateinit private var maxTickSpinner: Spinner + @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 -- cgit v1.2.3