Commit 9bc04986 authored by Aimene Akkouche's avatar Aimene Akkouche
Browse files

Upload New File

parent b60d121a
/* =========================================================
* ==== WARNING ===
* =========================================================
* The code in this tab has been generated from the GUI form
* designer and care should be taken when editing this file.
* Only add/edit code inside the event handlers i.e. only
* use lines between the matching comment tags. e.g.
void myBtnEvents(GButton button) { //_CODE_:button1:12356:
// It is safe to enter your event code here
} //_CODE_:button1:12356:
* Do not rename this tab!
* =========================================================
*/
public void button1_click1(GButton source, GEvent event) { //_CODE_:button1:906837:
println("button1 - GButton >> GEvent." + event + " @ " + millis());
} //_CODE_:button1:906837:
// ---------- Fonction appellée lorsque le bouton "Sauvegarder la configuration" est cliqué -------
public void save_config(GButton source, GEvent event) { //_CODE_:b_Save:995187:
sauvegardeAdresses();
println("Données sauvegardées");
} //_CODE_:b_Save:995187:
// ---------- Fonction appellée lorsque le bouton "Charger la Voie 1" est cliqué -------
public void set_Voie1(GButton source, GEvent event) { //_CODE_:b_Voie1:611257:
setVoie1();
println("Voie 1 initialisée");
} //_CODE_:b_Voie1:611257:
// ---------- Fonction appellée lorsque le bouton "Ajoutez des prises" est cliqué -------
public void ajouter_prises(GButton source, GEvent event) { //_CODE_:b_Ajout:247512:
window1.setVisible(true); // Rend la fenêtre permettant de configurer les nouvelles prises visibles
} //_CODE_:b_Ajout:247512:
// ---------- Fonction appellée lorsque le bouton "Envoyez vers le STM32" est cliqué -------
public void envoi_arduino(GButton source, GEvent event) { //_CODE_:b_Envoi:312698:
println("Bouton Envoi Cliqué");
String nbPrisesFormat = "";
// ---------- On souhaite envoyer le nombre de prises sous le format de 3 digit -------
if (nbPrises < 10 ) {
nbPrisesFormat = "00" + String.valueOf(nbPrises);
} else if (nbPrises > 9 && nbPrises < 100) {
nbPrisesFormat = "0" + String.valueOf(nbPrises);
} else {
nbPrisesFormat = String.valueOf(nbPrises);
}
Data2Send = nbPrisesFormat; // On définit la chaîne de caractère à envoyer avec le nombre de prises
// ---------- On ajoute ensuite l'état et l'adresse à la suite pour chaque prise -------
for (Bouton button : b) {
Data2Send +=button.etat + button.adresse;
}
println("Adresses des Prises : " + Data2Send);
myPort.write(Data2Send); // On envoie la chaîne de caractère au travers du port série
Data2Send ="";
} //_CODE_:b_Envoi:312698:
public void supprimer_prises(GButton source, GEvent event) { //_CODE_:bSupprimer:978499:
window2.setVisible(true); // Rend la fenêtre permettant de configurer la suppression des prises visibles
} //_CODE_:bSupprimer:978499:
synchronized public void win_draw1(PApplet appc, GWinData data) { //_CODE_:window1:240638:
appc.background(230);
} //_CODE_:window1:240638:
public void textarea1_change1(GTextArea source, GEvent event) { //_CODE_:textarea_prises:555065:
println("textarea1 - GTextArea >> GEvent." + event + " @ " + millis());
} //_CODE_:textarea_prises:555065:
// ---------- Fonction appellée lorsque le bouton "Ajoutez" de la fenêtre gérant l'ajout des prises est cliqué -------
public void click_ajoutez(GButton source, GEvent event) { //_CODE_:b_Ajoutez:718187:
//Reprend la structure de la fonction de LectureAdresses()
String line;
StringDict adresses = new StringDict();
int k=0;
do {
line = textarea_prises.getText(k);
if (textarea_prises.getTextLength(k,true) <= 1) {
k++;
continue;
} else {
String[] data = split(line, " ");
if(data.length >= 2) adresses.set(data[0], data[2] + data[1]);
}
k++;
} while (line != "");
// ---------- On recherche une place pour ajouter la nouvelle prise en balayant toutes les positions et en comparant la couleur du pixel avec celle d'une prise allumée ou éteinte -------
for (int w = 0; w < adresses.size(); w++) {
loadPixels();
boolean coord_trouve = false;
int j = 25;
int i = 25;
while( j<= 720 && coord_trouve == false){
while(i <= 650 && coord_trouve == false){
if(get(i,j) != color(255) && get(i,j)!=color(246,254,0)){
coord_trouve = true;
println(coord_trouve);
x = i -5 ;y=j - 5;
}
i+=125;
}
j+=135;
}
//On instancie une prise avec les coordonnées trouvés précedemment puis on l'ajoute à la liste
Bouton btampon = new Bouton(x, y, color(0), color(220), adresses.keyArray()[w], adresses.valueArray()[w].substring(1), adresses.valueArray()[w].substring(0, 1));
b.add(btampon);
if (x >= 650) {
y +=135;
x = 20;
} else {
x = x+ 125;
}
}
nbPrises += adresses.size(); // On n'oublie pas d'incrémenter le nombre de prises
window1.setVisible(false);// On "ferme" la fenêtre
} //_CODE_:b_Ajoutez:718187:
public void annuler_Window1(GButton source, GEvent event) { //_CODE_:annuler_window1:882487:
window1.setVisible(false); //On ferme la fenêtre pour ajouter les prises lorsqu'on appuie sur Annuler
} //_CODE_:annuler_window1:882487:
synchronized public void win_draw2(PApplet appc, GWinData data) { //_CODE_:window2:819819:
appc.background(230);
} //_CODE_:window2:819819:
public void textarea_suppr(GTextArea source, GEvent event) { //_CODE_:textarea_supprimer:735456:
} //_CODE_:textarea_supprimer:735456:
// ---------- Fonction appellée lorsque le bouton "Supprimez des prises" est cliqué -------
public void suppr_prise(GButton source, GEvent event) { //_CODE_:b_Suppr:704533:
window3.setVisible(true);
} //_CODE_:b_Suppr:704533:
public void annuler_Window2(GButton source, GEvent event) { //_CODE_:annuler_window2:733096:
window2.setVisible(false);
} //_CODE_:annuler_window2:733096:
synchronized public void win_draw4(PApplet appc, GWinData data) { //_CODE_:window3:786944:
appc.background(230);
} //_CODE_:window3:786944:
// ---------- Fonction qui gère la suppression de la prise-------
public void confirmer_Suppr(GButton source, GEvent event) { //_CODE_:b_Confirmer_Suppr:415305:
String line;
int k=0;
Iterator itr; //On utilise un iterator pour permettre la suppression de plusieurs prises sans causer de problème de Segmentation Fault
do {
line = textarea_supprimer.getText(k); //On récupère la ligne k se trouvant le champ de caractère
if (textarea_supprimer.getTextLength(k,true) <= 1) {
k++;
continue;
} else {
String[] data = split(line, ","); // Permet de segmenter dans un tableau de chaine de caractère chaque prise séparée par des virgules
for(String nom : data){
itr = b.iterator();
while(itr.hasNext()){
Bouton button = (Bouton)itr.next();
if(button.nom.equals(nom)) itr.remove();
}
}
k++;
}
} while (line != "");
nbPrises = b.size();
window3.setVisible(false);
window2.setVisible(false);
} //_CODE_:b_Confirmer_Suppr:415305:
public void annuler_suppr(GButton source, GEvent event) { //_CODE_:b_Annuler_Suppr:815943:
window3.setVisible(false);
window2.setVisible(false);
} //_CODE_:b_Annuler_Suppr:815943:
// ---------- La fonction createGUI a été générée par l'outil G4P GUI Builder Tool -------
// Create all the GUI controls.
// autogenerated do not edit
public void createGUI(){
G4P.messagesEnabled(false);
G4P.setGlobalColorScheme(GCScheme.BLUE_SCHEME);
G4P.setMouseOverEnabled(false);
G4P.setDisplayFont("Roboto", G4P.PLAIN, 12);
G4P.setInputFont("Roboto", G4P.PLAIN, 12);
G4P.setSliderFont("Roboto", G4P.PLAIN, 11);
surface.setTitle("Sketch Window");
button1 = new GButton(this, -427, 376, 80, 30);
button1.setText("Face text");
button1.setLocalColorScheme(GCScheme.BLUE_SCHEME);
button1.addEventHandler(this, "button1_click1");
b_Save = new GButton(this, 240, 630, 150, 50);
b_Save.setText("Sauvegarder la configuration");
b_Save.addEventHandler(this, "save_config");
b_Voie1 = new GButton(this, 440, 630, 150, 50);
b_Voie1.setText("Charger la Voie 1");
b_Voie1.addEventHandler(this, "set_Voie1");
b_Ajout = new GButton(this, 640, 630, 150, 50);
b_Ajout.setText("Ajoutez des prises");
b_Ajout.addEventHandler(this, "ajouter_prises");
b_Envoi = new GButton(this, 40, 630, 150, 50);
b_Envoi.setText("Envoyer vers l'Arduino");
b_Envoi.setLocalColorScheme(GCScheme.GREEN_SCHEME);
b_Envoi.addEventHandler(this, "envoi_arduino");
bSupprimer = new GButton(this, 830, 630, 150, 50);
bSupprimer.setText("Supprimer des prises");
bSupprimer.setLocalColorScheme(GCScheme.RED_SCHEME);
bSupprimer.addEventHandler(this, "supprimer_prises");
window1 = GWindow.getWindow(this, "Ajout Prise(s)", 0, 0, 500, 500, JAVA2D);
window1.setVisible(false);
window1.noLoop();
window1.setActionOnClose(G4P.KEEP_OPEN);
window1.addDrawHandler(this, "win_draw1");
label1 = new GLabel(window1, 70, 10, 360, 100);
label1.setTextAlign(GAlign.CENTER, GAlign.MIDDLE);
label1.setText("Veuillez entrer les informations relatives à une ou plusieurs prises sous la forme : A0 01 1\nA0 : l'identifiant de la prise \n01 : l'adresse de la prise \n1 : l'état de la prise (1: allumée , 0: éteinte)\nRemarque: Pour l'ajout de plusieurs prises, allez à la ligne.");
label1.setLocalColorScheme(GCScheme.BLUE_SCHEME);
label1.setOpaque(false);
textarea_prises = new GTextArea(window1, 70, 120, 360, 290, G4P.SCROLLBARS_VERTICAL_ONLY | G4P.SCROLLBARS_AUTOHIDE);
textarea_prises.setLocalColorScheme(GCScheme.BLUE_SCHEME);
textarea_prises.setOpaque(true);
textarea_prises.addEventHandler(this, "textarea1_change1");
b_Ajoutez = new GButton(window1, 70, 430, 150, 50);
b_Ajoutez.setText("Ajoutez");
b_Ajoutez.setLocalColorScheme(GCScheme.GREEN_SCHEME);
b_Ajoutez.addEventHandler(this, "click_ajoutez");
annuler_window1 = new GButton(window1, 280, 430, 150, 50);
annuler_window1.setText("Annuler");
annuler_window1.setLocalColorScheme(GCScheme.RED_SCHEME);
annuler_window1.addEventHandler(this, "annuler_Window1");
window2 = GWindow.getWindow(this, "Supprimer Prise(s)", 0, 0, 500, 300, JAVA2D);
window2.setVisible(false);
window2.noLoop();
window2.setActionOnClose(G4P.KEEP_OPEN);
window2.addDrawHandler(this, "win_draw2");
label2 = new GLabel(window2, 70, 10, 360, 70);
label2.setTextAlign(GAlign.CENTER, GAlign.MIDDLE);
label2.setText("Veuillez renseigner les prises que vous souhaitez supprimer d'après leur nom séparés par des virgules\nExemple : A0,A1,...,An");
label2.setOpaque(false);
textarea_supprimer = new GTextArea(window2, 70, 100, 360, 50, G4P.SCROLLBARS_NONE);
textarea_supprimer.setOpaque(true);
textarea_supprimer.addEventHandler(this, "textarea_suppr");
b_Suppr = new GButton(window2, 70, 180, 150, 50);
b_Suppr.setText("Supprimer");
b_Suppr.setLocalColorScheme(GCScheme.GREEN_SCHEME);
b_Suppr.addEventHandler(this, "suppr_prise");
annuler_window2 = new GButton(window2, 280, 180, 150, 50);
annuler_window2.setText("Annuler");
annuler_window2.setLocalColorScheme(GCScheme.RED_SCHEME);
annuler_window2.addEventHandler(this, "annuler_Window2");
window3 = GWindow.getWindow(this, "Confirmer Suppression", 0, 0, 240, 120, JAVA2D);
window3.setVisible(false);
window3.noLoop();
window3.setActionOnClose(G4P.KEEP_OPEN);
window3.addDrawHandler(this, "win_draw4");
label3 = new GLabel(window3, 40, 20, 160, 30);
label3.setTextAlign(GAlign.CENTER, GAlign.MIDDLE);
label3.setText("Êtes-vous sûr de supprimer les prises renseignées ?");
label3.setOpaque(false);
b_Confirmer_Suppr = new GButton(window3, 30, 70, 80, 30);
b_Confirmer_Suppr.setText("Confirmer");
b_Confirmer_Suppr.setLocalColorScheme(GCScheme.GREEN_SCHEME);
b_Confirmer_Suppr.addEventHandler(this, "confirmer_Suppr");
b_Annuler_Suppr = new GButton(window3, 130, 70, 80, 30);
b_Annuler_Suppr.setText("Annuler");
b_Annuler_Suppr.setLocalColorScheme(GCScheme.RED_SCHEME);
b_Annuler_Suppr.addEventHandler(this, "annuler_suppr");
window1.loop();
window2.loop();
window3.loop();
}
// Variable declarations
// autogenerated do not edit
GButton button1;
GButton b_Save;
GButton b_Voie1;
GButton b_Ajout;
GButton b_Envoi;
GButton bSupprimer;
GWindow window1;
GLabel label1;
GTextArea textarea_prises;
GButton b_Ajoutez;
GButton annuler_window1;
GWindow window2;
GLabel label2;
GTextArea textarea_supprimer;
GButton b_Suppr;
GButton annuler_window2;
GWindow window3;
GLabel label3;
GButton b_Confirmer_Suppr;
GButton b_Annuler_Suppr;
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment