From 8e852ad098750a1b021628a76ca6b980b996cb3e Mon Sep 17 00:00:00 2001
From: Dennis Eisold <de@itstall.de>
Date: Tue, 3 Dec 2019 23:21:05 +0100
Subject: [PATCH] =?UTF-8?q?WIP:=20CheckComboBox=20Pr=C3=BCfungen?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../java/projekt/enigma/GuiController.java    | 22 +++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/src/main/java/projekt/enigma/GuiController.java b/src/main/java/projekt/enigma/GuiController.java
index a5bdcf7..613a9d9 100644
--- a/src/main/java/projekt/enigma/GuiController.java
+++ b/src/main/java/projekt/enigma/GuiController.java
@@ -1,6 +1,7 @@
 package projekt.enigma;
 
 import javafx.collections.FXCollections;
+import javafx.collections.ListChangeListener;
 import javafx.collections.ObservableList;
 import javafx.concurrent.Task;
 import javafx.event.ActionEvent;
@@ -22,6 +23,7 @@ import projekt.enigma.model.Fehler;
 
 import java.awt.*;
 import java.io.IOException;
+import java.lang.reflect.Array;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collection;
@@ -153,6 +155,26 @@ public class GuiController {
         // Die Gesteckten Buchstaben in der CheckComboBox selektieren
         ccb.getCheckModel().check(sb.toString().indexOf(this.codierer.fetchSteckverbindungen()[port][0]));
         ccb.getCheckModel().check(sb.toString().indexOf(this.codierer.fetchSteckverbindungen()[port][1]));
+
+        ccb.getCheckModel().getCheckedItems().addListener(new ListChangeListener<Character>() {
+
+            @Override
+            public void onChanged(Change<? extends Character> change) {
+                new Fehler().debug(ccb.getCheckModel().getCheckedItems().toString(), false);
+
+                if (ccb.getCheckModel().getCheckedItems().size() > 2) {
+                    while(change.next()) {
+                        if(!change.wasAdded()) {
+                            ccb.getCheckModel().clearCheck(ccb.getCheckModel().getItemIndex(change.toString().charAt(0)));
+                        } else {
+                            ccb.getCheckModel().check(change.getTo());
+                        }
+                    }
+                    new Fehler().debug(change.toString(), false);
+
+                }
+            }
+        });
     }
 
     /**
-- 
GitLab