diff --git a/client/src/main/java/envoy/client/event/LoadGroupCreationEvent.java b/client/src/main/java/envoy/client/event/LoadGroupCreationEvent.java
new file mode 100644
index 0000000..676e883
--- /dev/null
+++ b/client/src/main/java/envoy/client/event/LoadGroupCreationEvent.java
@@ -0,0 +1,24 @@
+package envoy.client.event;
+
+import envoy.client.data.LocalDB;
+import envoy.event.Event;
+
+/**
+ * Project: client
+ * File: LoadGroupCreationEvent.java
+ * Created: Aug 23, 2020
+ *
+ * @author Maximilian Käfer
+ * @since Envoy Client v0.2-beta
+ */
+public class LoadGroupCreationEvent extends Event{
+
+ private static final long serialVersionUID = 0L;
+
+ /**
+ * @param value the localDB
+ * @since Envoy Client v0.2-beta
+ */
+ public LoadGroupCreationEvent(LocalDB value) { super(value); }
+
+}
diff --git a/client/src/main/java/envoy/client/ui/controller/ChatScene.java b/client/src/main/java/envoy/client/ui/controller/ChatScene.java
index 4beb30a..0167b3d 100644
--- a/client/src/main/java/envoy/client/ui/controller/ChatScene.java
+++ b/client/src/main/java/envoy/client/ui/controller/ChatScene.java
@@ -40,9 +40,7 @@ import envoy.client.data.*;
import envoy.client.data.audio.AudioRecorder;
import envoy.client.data.commands.SystemCommandBuilder;
import envoy.client.data.commands.SystemCommandsMap;
-import envoy.client.event.BackEvent;
-import envoy.client.event.MessageCreationEvent;
-import envoy.client.event.SendEvent;
+import envoy.client.event.*;
import envoy.client.net.Client;
import envoy.client.net.WriteProxy;
import envoy.client.ui.*;
@@ -407,7 +405,7 @@ public final class ChatScene implements Restorable {
@FXML
private void groupCreationButtonClicked() {
- //TODO: initialize Data
+ eventBus.dispatch(new LoadGroupCreationEvent(localDB));
tabPane.getSelectionModel().select(2);
}
diff --git a/client/src/main/java/envoy/client/ui/controller/GroupCreationTab.java b/client/src/main/java/envoy/client/ui/controller/GroupCreationTab.java
index 47dc5af..0d6bdf5 100644
--- a/client/src/main/java/envoy/client/ui/controller/GroupCreationTab.java
+++ b/client/src/main/java/envoy/client/ui/controller/GroupCreationTab.java
@@ -12,6 +12,7 @@ import javafx.scene.control.Alert.AlertType;
import envoy.client.data.Chat;
import envoy.client.data.LocalDB;
import envoy.client.event.BackEvent;
+import envoy.client.event.LoadGroupCreationEvent;
import envoy.client.event.SendEvent;
import envoy.client.ui.SceneContext;
import envoy.client.ui.listcell.ContactControl;
@@ -58,23 +59,18 @@ public class GroupCreationTab {
private void initialize() {
userList.setCellFactory(new ListCellFactory<>(ContactControl::new));
userList.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE);
- }
-
- /**
- * @param localDB the local database from which potential group members can
- * be selected
- * @since Envoy Client v0.1-beta
- */
- public void initializeData(LocalDB localDB) {
- this.localDB = localDB;
- Platform.runLater(() -> userList.getItems()
- .addAll(localDB.getChats()
- .stream()
- .map(Chat::getRecipient)
- .filter(User.class::isInstance)
- .filter(not(localDB.getUser()::equals))
- .map(User.class::cast)
- .collect(Collectors.toList())));
+
+ eventBus.register(LoadGroupCreationEvent.class, e -> {
+ this.localDB = e.get();
+ Platform.runLater(() -> userList.getItems()
+ .addAll(localDB.getChats()
+ .stream()
+ .map(Chat::getRecipient)
+ .filter(User.class::isInstance)
+ .filter(not(localDB.getUser()::equals))
+ .map(User.class::cast)
+ .collect(Collectors.toList())));
+ });
}
/**