From d5bb755fa0c374304c346896ff5a5dfaae0e5bf9 Mon Sep 17 00:00:00 2001
From: koallaht <koallaht@jyu.fi>
Date: Fri, 21 Feb 2025 22:33:21 +0200
Subject: [PATCH] Update DynamicComboBox.java

---
 .../src/fi/jyu/mit/fxgui/DynamicComboBox.java | 64 +++++++++++++------
 1 file changed, 45 insertions(+), 19 deletions(-)

diff --git a/DynamicComboBox/src/fi/jyu/mit/fxgui/DynamicComboBox.java b/DynamicComboBox/src/fi/jyu/mit/fxgui/DynamicComboBox.java
index 3200a21..14164e1 100644
--- a/DynamicComboBox/src/fi/jyu/mit/fxgui/DynamicComboBox.java
+++ b/DynamicComboBox/src/fi/jyu/mit/fxgui/DynamicComboBox.java
@@ -1,6 +1,8 @@
 package fi.jyu.mit.fxgui;
 
+import javafx.beans.property.BooleanProperty;
 import javafx.beans.property.ListProperty;
+import javafx.beans.property.SimpleBooleanProperty;
 import javafx.beans.property.SimpleListProperty;
 import javafx.collections.FXCollections;
 import javafx.collections.ObservableList;
@@ -14,17 +16,16 @@ import javafx.scene.input.KeyEvent;
 import java.util.*;
 
 /**
- * @author konsta lahtinen
- * @version 20.2.2025
  * Oma versio ComboBox containerista, sisältää haun ja uuden lisäyksen tulkinnan
  */
 public class DynamicComboBox extends ComboBox<java.lang.String> {
     private final ListProperty<String> sisalto = new SimpleListProperty<>(FXCollections.observableArrayList());
-    private boolean hakuPaal = true;
-    private boolean tutkiminen  = true;
     /**
-     * Attribuutti sisalto sisältää kaiken comboxin sisällön
+     * Attribuutti items sisältää kaiken comboxin sisällön
      */
+    private BooleanProperty suodattaminen = new SimpleBooleanProperty(true);
+    private BooleanProperty dynaaminenLisays = new SimpleBooleanProperty(true);
+
 
     public DynamicComboBox() {
         super();
@@ -51,6 +52,11 @@ public class DynamicComboBox extends ComboBox<java.lang.String> {
 
     }
 
+
+    /**
+     * asettaa sisältöä DynamicComboBoxiin
+     * tarvitaan myös scenebuilderin yhteensopivuuteen 
+     */
     @FXML
     public void asetaSisalto(ObservableList<String> sisalto) {
         this.getItems().setAll(sisalto);
@@ -58,8 +64,9 @@ public class DynamicComboBox extends ComboBox<java.lang.String> {
     }
 
     /**
-     * getteri scenebuilderissa toimimista varten, palauttaa koko ListPropertyn
-     */
+    * palauttaa sisallon ListProperty oliona
+    * tarivtaan myös scenebuilderiin
+    */
     @FXML
     public ListProperty<String> sisaltoProperty() {
         return sisalto;
@@ -67,30 +74,49 @@ public class DynamicComboBox extends ComboBox<java.lang.String> {
 
 
     /**
-     * getteri scenebuilderissa toimimista varten, palauttaa listPropertyn sisällön
-     */
+    * palauttaa sisällön ObservableList oliona
+    * tarivtaan myös scenebuilderiin
+    */
     @FXML
     public ObservableList<String> getSisalto() {
         return sisalto.get();
     }
 
+    /**
+     * asettaa dynaamisen lisäyksen tilan 
+     */
+    @FXML
+    public void setDynaaminenLisays(boolean t) {
+        this.dynaaminenLisays.set(t);
+    }
+
+    /**
+     * palauttaa dynaamisen lisäyksen tilan 
+     */
+    @FXML
+    public boolean getDynaaminenLisays() {
+        return dynaaminenLisays.get();
+    }
 
     /**
-     * säätää laitetaanko sisällön filterointi päälle
-     * @param v kumpi tila
+     * asettaa sisällön suodattamisen tilan 
      */
-    public void filterointi(boolean v){
-        this.hakuPaal = v;
+    @FXML
+    public void setSuodattaminen(boolean s) {
+        this.suodattaminen.set(s);
     }
 
+
     /**
-     * säätää laitetaanko uuden valinnan tutkinta päälle
-     * @param v kumpi tila
+     * palauttaa sisällön suodattamisen tilan 
      */
-    public void uudenValinnanTutkinta(boolean v){
-        this.tutkiminen = v;
+    @FXML
+    public boolean getSuodattaminen() {
+        return suodattaminen.get();
     }
 
+
+
     /**
      * lisää sisältöä comboboxiin
      *
@@ -108,7 +134,7 @@ public class DynamicComboBox extends ComboBox<java.lang.String> {
      * lopulliseksi tulee se tehdä itse
      */
     private void tutkiValinta() {
-        if(!this.tutkiminen){
+        if(!this.dynaaminenLisays.get()) {
             return;
         }
         java.lang.String valinta = this.getEditor().getText();
@@ -144,7 +170,7 @@ public class DynamicComboBox extends ComboBox<java.lang.String> {
      * Aikavaativuus kasvaa lineaarisesti, items listan kasvaessa
      */
     private void haku(KeyEvent k) {
-        if (!hakuPaal){
+        if (!suodattaminen.get()){
             return;
         }
         //estetään hakeminen, jos painettu enter-nappia
-- 
GitLab