diff --git a/src/main/java/envoy/client/ui/SettingsPane.java b/src/main/java/envoy/client/ui/SettingsPane.java
new file mode 100644
index 0000000..85d2d35
--- /dev/null
+++ b/src/main/java/envoy/client/ui/SettingsPane.java
@@ -0,0 +1,19 @@
+package envoy.client.ui;
+
+import javafx.scene.Node;
+
+
+/**
+ * Project: envoy-client
+ * File: SettingsPane.java
+ * Created: 18.04.2020
+ *
+ * @author Kai S. K. Engelbart
+ * @since Envoy Client v0.1-beta
+ */
+public abstract class SettingsPane extends Node {
+
+ protected String title;
+
+ public abstract String getTitle();
+}
diff --git a/src/main/java/envoy/client/ui/SettingsSceneController.java b/src/main/java/envoy/client/ui/SettingsSceneController.java
index 1fa8be6..761d8cb 100644
--- a/src/main/java/envoy/client/ui/SettingsSceneController.java
+++ b/src/main/java/envoy/client/ui/SettingsSceneController.java
@@ -1,5 +1,10 @@
package envoy.client.ui;
+import javafx.fxml.FXML;
+import javafx.scene.control.*;
+
+import envoy.client.data.Settings;
+
/**
* Project: envoy-client
* File: SettingsSceneController.java
@@ -10,4 +15,27 @@ package envoy.client.ui;
*/
public class SettingsSceneController {
+ @FXML
+ private ListView settingsList;
+
+ @FXML
+ private TitledPane titledPane;
+
+ private static final Settings settings = Settings.getInstance();
+
+ @FXML
+ private void initialize() {
+ settingsList.setCellFactory(listView -> new ListCell<>() {
+
+ @Override
+ protected void updateItem(SettingsPane item, boolean empty) { if (!empty && item != null) setGraphic(new Label(item.getTitle())); };
+ });
+ }
+
+ @FXML
+ private void settingsListClicked() {
+ final var pane = settingsList.getSelectionModel().getSelectedItem();
+ titledPane.setText(pane.getTitle());
+ titledPane.setContent(pane);
+ }
}
diff --git a/src/main/resources/fxml/SettingsScene.fxml b/src/main/resources/fxml/SettingsScene.fxml
index 12edf7c..3aaee9a 100644
--- a/src/main/resources/fxml/SettingsScene.fxml
+++ b/src/main/resources/fxml/SettingsScene.fxml
@@ -1,29 +1,24 @@
+
-
-
+
+
-
+
-
-
-
+
+
+
+
-
-
-
-
-
-
-
+