1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175
| public class ControleurEditeurSondage
{
private Sondage sondageEdite;
private VueEditionSondage ves;
private VueQuestionBinaire vqb;
private VueEditionQuestion veq;
public ControleurEditeurSondage ()
{
this.sondageEdite = new Sondage ("");
this.ves = null;
// Titre et quelques questions pour tester ...
// A enlever avant livraison
this.sondageEdite.setLibSondage (" de Sondage : ");
this.sondageEdite.addQuestion (new QuestionBinaire ("Question 1"));
this.sondageEdite.addQuestion (new QuestionBinaire ("Question 2", 5, 4, "Peut etre", "Sans doute pas"));
this.sondageEdite.addQuestion (new QuestionBinaire ("Question 3"));
// Fin initialisation pour tests
}
public void demarrerControleurEditeurSondage ()
{
if (this.ves == null)
{
this.ves = new VueEditionSondage ("Editeur de Sondage", this);
this.ves.majVueEditionSondage();
this.ves.setVisible (true);
}
}
// Accès aux données métier
public String getLibelleSondage () {
return this.sondageEdite.getLibSondage();
}
public int getNbQuestionsSondage () {
return this.sondageEdite.getNbQuestions();
}
public QuestionBinaire getQuestionSondage (int index) {
return new QuestionBinaire (
this.sondageEdite.getQuestion(index).getQuestion(),
this.sondageEdite.getQuestion(index).getNbOui(),
this.sondageEdite.getQuestion(index).getNbNon(),
this.sondageEdite.getQuestion(index).getLibOui(),
this.sondageEdite.getQuestion(index).getLibNon()
);
}
// Fonctions de léditeur de sondage
public void setLibelleSondage (String _lsond)
{
this.sondageEdite.setLibSondage(_lsond);
}
public void controleurSauvegarderSondage ()
{
if (this.ves.getTitreSondage().isEmpty())
{
JOptionPane.showMessageDialog(this.ves, "Il faut saisir le nom du sondage !", "Erreur titre", JOptionPane.ERROR_MESSAGE);
}
else
{
int option = JOptionPane.showConfirmDialog(this.ves, "Voulez vous valider l'enregistrement du sondage '"+this.ves.getTitreSondage()+"'");
if (option == 0)
{
boolean ok = appli.persistance.GestionSauvegardes.enregistreSondage(this.ves.getTitreSondage(), this.sondageEdite);
if (ok)
{
JOptionPane.showMessageDialog(this.ves, "Enregistrement effectué avec succès !", "Enregistrement ok", JOptionPane.INFORMATION_MESSAGE);
}
else
JOptionPane.showMessageDialog(this.ves, "Erreur dans l'enregistrement !", "Erreur enregistrement", JOptionPane.ERROR_MESSAGE);
}
}
}
public void controleurChargerUnSondage ()
{
int option = JOptionPane.showConfirmDialog(this.ves, "Voulez vous charger un sondage existant ?");
if (option == 0)
{
this.sondageEdite = appli.persistance.GestionSauvegardes.chargeSondage(this.ves.getTitreSondage());
}
}
public void controleurNouveauSondage ()
{
int option = JOptionPane.showConfirmDialog(this.ves, "Voulez vous créer un nouveau sondage ?");
if (option == 0)
{
VueEditionSondage pVes;
pVes = new VueEditionSondage("Nouveau Sondage", this);
this.ves.setVisible(false);
pVes.setVisible(true);
}
}
public void controleurSupprimerQuestion (int _index)
{
int option = 0;
option = JOptionPane.showConfirmDialog(this.ves, "Voulez vous valider la suppression ?");
if (option == 0) // On récupère la valeur retourné lors de la validation
{
boolean ok = this.sondageEdite.removeQuestion(this.sondageEdite.getQuestion(_index)); // On test si le sondage est bien supprimé ou pas
if (ok) // si bien supprimé alors on affiche une boite de dialogue pour information et on fait une maj de la vue
{
JOptionPane.showMessageDialog(this.ves, "Question supprimée avec succès !", "Suppression ok", JOptionPane.INFORMATION_MESSAGE);
this.ves.majVueEditionSondage();
}
else // sinon message d'erreur
JOptionPane.showMessageDialog(this.ves,"Erreur dans la suppression", "Erreur suppression", JOptionPane.ERROR_MESSAGE);
}
}
public void controleurAjouterQuestion ()
{
this.veq = new VueEditionQuestion(this.ves,"Saisie d'une question", this);
this.ves.majVueEditionSondage();
}
public void controleurArreterEditionSondage ()
{
// ...
this.ves = null;
}
public void controleurTesterQBDepuisEditeurSondage (QuestionBinaire _quest)
{
this.vqb = new VueQuestionBinaire(this.ves,"Test d'une question", _quest);
this.vqb.setVisible(true);
this.ves.majVueEditionSondage();
}
// Fonctions de léditeur de question
public void controleurTesterQBEnEdition (QuestionBinaire _quest)
{
this.vqb = new VueQuestionBinaire (this.ves,"Test d'une question", _quest);
this.ves.majVueEditionSondage();
this.vqb.setVisible(true);
}
public void controleurEnregistrerQB (QuestionBinaire q)
{
int option = JOptionPane.showConfirmDialog(this.veq, "Voulez vous valider l'ajout de la question ?");
if (option == 0)
{
boolean ok = this.sondageEdite.addQuestion(q);
if (ok)
{
JOptionPane.showMessageDialog(this.ves, "Question ajoutée avec succès !", "Ajout ok", JOptionPane.INFORMATION_MESSAGE);
this.ves.majVueEditionSondage();
}
else
JOptionPane.showMessageDialog(this.ves, "Erreur dans l'ajout", "Erreur ajout", JOptionPane.ERROR_MESSAGE);
}
}
public void controleurQuitterEditeurQB ()
{
}
} |