|
|
|
@ -10,6 +10,7 @@ import javafx.beans.property.ReadOnlyListProperty;
|
|
|
|
|
import javafx.beans.property.SimpleListProperty;
|
|
|
|
|
import javafx.collections.FXCollections;
|
|
|
|
|
import javafx.collections.ObservableList;
|
|
|
|
|
import javafx.collections.transformation.FilteredList;
|
|
|
|
|
|
|
|
|
|
import java.beans.IndexedPropertyChangeEvent;
|
|
|
|
|
import java.beans.PropertyChangeEvent;
|
|
|
|
@ -33,6 +34,12 @@ public class BoutiqueVM implements PropertyChangeListener {
|
|
|
|
|
public ReadOnlyListProperty<ProduitVM> listeProduitsProperty() { return listeProduits; }
|
|
|
|
|
public void setListeProduits(ObservableList<ProduitVM> listeProduits) { this.listeProduits.set(listeProduits); }
|
|
|
|
|
|
|
|
|
|
private FilteredList<ProduitVM> listeFiltre = new FilteredList<>(produitsObs, p -> true);
|
|
|
|
|
|
|
|
|
|
public FilteredList<ProduitVM> getListeFiltre() {
|
|
|
|
|
return listeFiltre;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public BoutiqueVM(){
|
|
|
|
|
chargeur = new SimpleChargeur();
|
|
|
|
|
sauveur = new SimpleSauveur();
|
|
|
|
@ -65,8 +72,8 @@ public class BoutiqueVM implements PropertyChangeListener {
|
|
|
|
|
return produit;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void ajouterParfum(String nom, int prix, List<String> fragrances){
|
|
|
|
|
modele.ajouterParfum(nom, prix, fragrances);
|
|
|
|
|
public void ajouterParfum(String nom, int prix){
|
|
|
|
|
modele.ajouterParfum(nom, prix);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void ajouterHabit(String nom, int prix){
|
|
|
|
@ -84,7 +91,7 @@ public class BoutiqueVM implements PropertyChangeListener {
|
|
|
|
|
produitsObs.add(((IndexedPropertyChangeEvent)evt).getIndex(), creerProduitVM((Produit)evt.getNewValue()));
|
|
|
|
|
break;
|
|
|
|
|
case Boutique.PROP_SUPPRESSION:
|
|
|
|
|
produitsObs.remove(creerProduitVM((Produit)evt.getNewValue()));
|
|
|
|
|
produitsObs.remove(creerProduitVM((Produit)evt.getOldValue()));
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@ -92,4 +99,12 @@ public class BoutiqueVM implements PropertyChangeListener {
|
|
|
|
|
public void sauver() throws IOException {
|
|
|
|
|
sauveur.sauver(modele, NOMFICHIER);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void filtrer(Filtre filtre){
|
|
|
|
|
switch (filtre){
|
|
|
|
|
case TOUS -> listeFiltre.setPredicate(p -> true);
|
|
|
|
|
case HABIT -> listeFiltre.setPredicate(p -> p instanceof HabitVM);
|
|
|
|
|
case PARFUM -> listeFiltre.setPredicate(p -> p instanceof ParfumVM);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|