Fonctions membres publiques | |
void | onClick (View element) |
Fonctions membres protégées | |
void | onCreate (Bundle savedInstanceState) |
Attributs de paquetage | |
TableLayout | tableauSeances |
ImageButton | boutonPurgerSeances |
Fonctions membres privées | |
void | afficherSeance (Seance seance) |
void | supprimerSeanceSelectionnee (int idSeanceElementSelectionne, int indexLigneTableau) |
void | connectionBaseDeDonnees () |
void | affecterElementsIHM () |
void | recupererInformationsJoueur () |
void | modifierIHMAfficherSeancesJoueur () |
void | rendreBoutonIHMCliquables () |
void | afficherBoiteDialogueDetailsSeance (int idSeanceSelectionnee) |
void | purgerSeancesJoueur () |
Attributs privés | |
ServeurBDD | serveurBDD |
int | idJoueurActuel |
Joueur | joueurActuel |
Created by smaniotto on 12/04/18. Classe IHMHistoriqueSeances définnissant le comportement du layout 'ecran_historique_seances'.
void com.ttpa.iris.ttpamobile.IHMHistoriqueSeances.affecterElementsIHM | ( | ) | [private] |
Méthode affecterElementsIHM() permettant d'affecter les élements graphiques actuels de l'IHM.
Références com.ttpa.iris.ttpamobile.IHMHistoriqueSeances.boutonPurgerSeances, et com.ttpa.iris.ttpamobile.IHMHistoriqueSeances.tableauSeances.
Référencé par com.ttpa.iris.ttpamobile.IHMHistoriqueSeances.onCreate().
{ Log.d("IHMHistoriqueSeances", "affecterElementsIHM()"); // Tableau des séances tableauSeances = (TableLayout)findViewById(R.id.tableauSeances); // Bouton de puirge des séances du joueur boutonPurgerSeances = (ImageButton)findViewById(R.id.boutonPurgerSeances); }
void com.ttpa.iris.ttpamobile.IHMHistoriqueSeances.afficherBoiteDialogueDetailsSeance | ( | int | idSeanceSelectionnee | ) | [private] |
Méthode afficherBoiteDialogueDetailsSeance() affichant une boite de dialogue avec les informations détaillées de la séance sélectionnée.
idSeanceSelectionnee | étant l'id de la séance à afficher |
Références com.ttpa.iris.ttpamobile.ServeurBDD.getSeance(), com.ttpa.iris.ttpamobile.Seance.getZoneObjectif(), com.ttpa.iris.ttpamobile.Seance.getZoneRobot(), com.ttpa.iris.ttpamobile.IHMHistoriqueSeances.onClick(), et com.ttpa.iris.ttpamobile.IHMHistoriqueSeances.serveurBDD.
Référencé par com.ttpa.iris.ttpamobile.IHMHistoriqueSeances.onClick().
{ Log.d("IHMHistoriqueSeances", "afficherBoiteDialogueDetailsSeance()"); // Retrouver l'objet Seance correspondant grâce à la base de données Seance seanceSelectionnee = serveurBDD.getSeance(idSeanceSelectionnee); // Afficher la boîte de dialogue AlertDialog.Builder detailsSeance = new AlertDialog.Builder(this); LayoutInflater factory = LayoutInflater.from(this); final View detailsSeanceView = factory.inflate(R.layout.details_seance, null); detailsSeance.setView(detailsSeanceView); detailsSeance.setTitle("Informations complémentaires de la séance"); // Affecter les informations de la séance aux champs correspondants TextView texteValeurZoneRobot = (TextView) detailsSeanceView.findViewById(R.id.texteValeurZoneRobot); TextView texteValeurZoneObjectif = (TextView) detailsSeanceView.findViewById(R.id.texteValeurZoneObjectif); switch(seanceSelectionnee.getZoneRobot()) { case 0: case -1: texteValeurZoneRobot.setText("Aucune"); break; default: texteValeurZoneRobot.setText("ZONE " + seanceSelectionnee.getZoneRobot()); break; } switch(seanceSelectionnee.getZoneObjectif()) { case 0: case -1: texteValeurZoneObjectif.setText("Aucune"); break; default: texteValeurZoneObjectif.setText("ZONE " + seanceSelectionnee.getZoneObjectif()); break; } detailsSeance.setNegativeButton("Retour", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { } }); detailsSeance.show(); }
void com.ttpa.iris.ttpamobile.IHMHistoriqueSeances.afficherSeance | ( | Seance | seance | ) | [private] |
Méthode afficherSeance() permettant d'afficher dans un tableau une séance.
seance | étant la séance à afficher |
Références com.ttpa.iris.ttpamobile.Seance.getDateDebut(), com.ttpa.iris.ttpamobile.Seance.getEffet(), com.ttpa.iris.ttpamobile.Seance.getFrequence(), com.ttpa.iris.ttpamobile.Seance.getId(), com.ttpa.iris.ttpamobile.Seance.getNombreBalles(), com.ttpa.iris.ttpamobile.Seance.getTauxReussite(), et com.ttpa.iris.ttpamobile.IHMHistoriqueSeances.tableauSeances.
Référencé par com.ttpa.iris.ttpamobile.IHMHistoriqueSeances.modifierIHMAfficherSeancesJoueur().
{ Log.d("IHMHistoriqueSeances", "afficherSeance()"); TableLayout tableauSeances = (TableLayout) findViewById(R.id.tableauSeances); // Déclaration des paramètres visuels des champs TableRow.LayoutParams lpLigne = new TableRow.LayoutParams(TableRow.LayoutParams.WRAP_CONTENT); TableRow.LayoutParams lpChamp = new TableRow.LayoutParams(TableRow.LayoutParams.MATCH_PARENT, TableRow.LayoutParams.MATCH_PARENT, 1f); // Déclaration et paramétrage de la ligne accueillant la séance TableRow ligne= new TableRow(this); ligne.setLayoutParams(lpLigne); float taille_police_ecriture = (float)Integer.parseInt(getString(R.string.taille_police_historique)); // Déclaration et paramétrage du champ ID TextView texteSeanceId = new TextView(this); texteSeanceId.setLayoutParams(lpChamp); texteSeanceId.setGravity(Gravity.CENTER); texteSeanceId.setVisibility(View.GONE); texteSeanceId.setText(Integer.toString(seance.getId())); // Déclaration et paramétrage du champ Date TextView texteSeanceDate = new TextView(this); texteSeanceDate.setLayoutParams(lpChamp); texteSeanceDate.setGravity(Gravity.CENTER); texteSeanceDate.setTextSize(taille_police_ecriture); texteSeanceDate.setText(seance.getDateDebut()); // Déclaration et paramétrage du champ Fréquence TextView texteSeanceFrequence = new TextView(this); texteSeanceFrequence.setLayoutParams(lpChamp); texteSeanceFrequence.setGravity(Gravity.CENTER); texteSeanceFrequence.setTextSize(taille_police_ecriture); texteSeanceFrequence.setText(Integer.toString(seance.getFrequence()) + " balles/min"); // Déclaration et paramétrage du champ Nb Balles TextView texteSeanceNombreBalles = new TextView(this); texteSeanceNombreBalles.setLayoutParams(lpChamp); texteSeanceNombreBalles.setGravity(Gravity.CENTER); texteSeanceNombreBalles.setTextSize(taille_police_ecriture); texteSeanceNombreBalles.setText(Integer.toString(seance.getNombreBalles())); // Déclaration et paramétrage du champ Effet TextView texteSeanceEffet = new TextView(this); texteSeanceEffet.setLayoutParams(lpChamp); texteSeanceEffet.setGravity(Gravity.CENTER); texteSeanceEffet.setTextSize(taille_police_ecriture); texteSeanceEffet.setText(seance.getEffet()); // Déclaration et paramétrage du champ Taux Réussite TextView texteSeanceTauxReussite = new TextView(this); texteSeanceTauxReussite.setLayoutParams(lpChamp); texteSeanceTauxReussite.setGravity(Gravity.CENTER); texteSeanceTauxReussite.setTextSize(taille_police_ecriture); texteSeanceTauxReussite.setText(Float.toString(seance.getTauxReussite()) + "%"); // Déclaration et paramétrage du champ Action ImageButton boutonDetailsSeance = new ImageButton(this); boutonDetailsSeance.setLayoutParams(lpChamp); boutonDetailsSeance.setBackgroundColor(Color.argb(0, 0, 0, 0)); // Rendre le fond transparent boutonDetailsSeance.setImageResource(R.drawable.ic_loupe_afficher); boutonDetailsSeance.setOnClickListener(this); // Rendre le bouton cliquable // Ajouter les champs à la ligne ligne.addView(texteSeanceId); ligne.addView(texteSeanceDate); ligne.addView(texteSeanceFrequence); ligne.addView(texteSeanceNombreBalles); ligne.addView(texteSeanceEffet); ligne.addView(texteSeanceTauxReussite); ligne.addView(boutonDetailsSeance); // Ajouter la ligne au tableau des séances à l'index 1 : après l'entête du tableau tableauSeances.addView(ligne, 1); }
void com.ttpa.iris.ttpamobile.IHMHistoriqueSeances.connectionBaseDeDonnees | ( | ) | [private] |
Méthode connectionBaseDeDonnees() permettant de se connecter à la base de données.
Références com.ttpa.iris.ttpamobile.ServeurBDD.open(), et com.ttpa.iris.ttpamobile.IHMHistoriqueSeances.serveurBDD.
Référencé par com.ttpa.iris.ttpamobile.IHMHistoriqueSeances.onCreate().
{ Log.d("IHMHistoriqueSeances", "connectionBaseDeDonnees()"); serveurBDD = new ServeurBDD(this); serveurBDD.open(); }
Méthode modifierIHMAfficherSeancesJoueur() affichant les séances du jouer actuel dans un tableau de l'IHM.
Références com.ttpa.iris.ttpamobile.IHMHistoriqueSeances.afficherSeance(), com.ttpa.iris.ttpamobile.Joueur.getId(), com.ttpa.iris.ttpamobile.Joueur.getNom(), com.ttpa.iris.ttpamobile.ServeurBDD.getSeances(), com.ttpa.iris.ttpamobile.IHMHistoriqueSeances.joueurActuel, et com.ttpa.iris.ttpamobile.IHMHistoriqueSeances.serveurBDD.
Référencé par com.ttpa.iris.ttpamobile.IHMHistoriqueSeances.onCreate().
{ Log.d("IHMHistoriqueSeances", "modifierIHMAfficherSeancesJoueur()"); TextView texteHistoriqueSeances = (TextView) findViewById(R.id.texteHistoriqueSeances); texteHistoriqueSeances.setText("Historique des séances de " + joueurActuel.getNom() + " :"); // Récupérer la liste des séances existantes du joueur List<Seance> seances = serveurBDD.getSeances(joueurActuel.getId()); Log.d("IHMHistoriqueSeances", "modifierIHMAfficherSeancesJoueur() Nombre de séances du joueur: " + seances.size()); // Pour chaque séance existante for(int i = 0; i < seances.size(); i++) { Log.d("IHMHistoriqueSeances", "modifierIHMAfficherSeancesJoueur() Séance n° " + seances.get(i).getId() + ": \n" + seances.get(i).toString()); // Ajouter la séance dans le tableau de séances afficherSeance(seances.get(i)); } }
void com.ttpa.iris.ttpamobile.IHMHistoriqueSeances.onClick | ( | View | element | ) |
Méthode onClick() permettant la gestion du click sur un bouton.
element | étant l'élément sur lequel l'utilisateur a clické |
Références com.ttpa.iris.ttpamobile.IHMHistoriqueSeances.afficherBoiteDialogueDetailsSeance(), com.ttpa.iris.ttpamobile.IHMHistoriqueSeances.boutonPurgerSeances, com.ttpa.iris.ttpamobile.IHMHistoriqueSeances.purgerSeancesJoueur(), et com.ttpa.iris.ttpamobile.IHMHistoriqueSeances.tableauSeances.
Référencé par com.ttpa.iris.ttpamobile.IHMHistoriqueSeances.afficherBoiteDialogueDetailsSeance(), et com.ttpa.iris.ttpamobile.IHMHistoriqueSeances.purgerSeancesJoueur().
{ Log.d("IHMHistoriqueSeances", "onClick()"); Seance seance = null; if(element == boutonPurgerSeances) { // Purger les séances déjà existantes du joueur purgerSeancesJoueur(); } else // l'élément est un bouton du champ action { // Retrouver l'ID de la séance sélectionnée for (int i = 1; i < tableauSeances.getChildCount(); ++i) { TableRow ligne = (TableRow) tableauSeances.getChildAt(i); if (ligne == element.getParent()) { TextView texteIdSeance = (TextView) ligne.getChildAt(0); // 0 : Position du champ ID de la ligne int idSeanceElementSelectionne = Integer.parseInt(texteIdSeance.getText().toString()); // ID de la séance à supprimer // Afficher la boite de dialogue de la séance sélectionnée afficherBoiteDialogueDetailsSeance(idSeanceElementSelectionne); } } } }
void com.ttpa.iris.ttpamobile.IHMHistoriqueSeances.onCreate | ( | Bundle | savedInstanceState | ) | [protected] |
Méthode onCreate appellée au démarrage de l'activité permettant l'initialisation des composants.
savedInstanceState |
Références com.ttpa.iris.ttpamobile.IHMHistoriqueSeances.affecterElementsIHM(), com.ttpa.iris.ttpamobile.IHMHistoriqueSeances.connectionBaseDeDonnees(), com.ttpa.iris.ttpamobile.IHMHistoriqueSeances.modifierIHMAfficherSeancesJoueur(), com.ttpa.iris.ttpamobile.IHMHistoriqueSeances.recupererInformationsJoueur(), et com.ttpa.iris.ttpamobile.IHMHistoriqueSeances.rendreBoutonIHMCliquables().
{ super.onCreate(savedInstanceState); setContentView(R.layout.ecran_historique_seances); // Se connecter à la base de données connectionBaseDeDonnees(); // Affecter les éléments graphiques de l'IHM affecterElementsIHM(); // Récupérer les informations du joueur actuel recupererInformationsJoueur(); // Modifier l'IHM pour afficher le joueur modifierIHMAfficherSeancesJoueur(); // Permettre à tous les boutons de suppression de séance d'être cliquables rendreBoutonIHMCliquables(); }
void com.ttpa.iris.ttpamobile.IHMHistoriqueSeances.purgerSeancesJoueur | ( | ) | [private] |
Méthode purgerSeancesJoueur() affichant une boîte de dialogue qui va supprimer les séances du joueur actuel selon la décision prise.
Références com.ttpa.iris.ttpamobile.Joueur.getNom(), com.ttpa.iris.ttpamobile.IHMHistoriqueSeances.idJoueurActuel, com.ttpa.iris.ttpamobile.IHMHistoriqueSeances.joueurActuel, com.ttpa.iris.ttpamobile.IHMHistoriqueSeances.onClick(), com.ttpa.iris.ttpamobile.ServeurBDD.purgerSeancesJoueur(), com.ttpa.iris.ttpamobile.IHMHistoriqueSeances.serveurBDD, et com.ttpa.iris.ttpamobile.IHMHistoriqueSeances.tableauSeances.
Référencé par com.ttpa.iris.ttpamobile.IHMHistoriqueSeances.onClick().
{ Log.d("IHMHistoriqueSeances", "purgerSeancesJoueur()"); // Afficher la boite de dialogue AlertDialog.Builder detailsSeance = new AlertDialog.Builder(this); detailsSeance.setMessage("Vous êtes sur le point de supprimer définitivement les séance du joueur " + joueurActuel.getNom() + "."); detailsSeance.setPositiveButton("Continuer", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { // Purger les séances déjà existantes du joueur Toast.makeText(getApplicationContext(), "Purge des séances...", Toast.LENGTH_SHORT).show(); // Purger la table des séances de la base de données serveurBDD.purgerSeancesJoueur(idJoueurActuel); // Supprimer le contenu du tableau des séances int compteur = tableauSeances.getChildCount(); for (int i = 1; i < compteur; i++) { // On ne supprime pas la 1ere ligne qui est l'entête View child = tableauSeances.getChildAt(i); if (child instanceof TableRow) ((ViewGroup) child).removeAllViews(); } } }); detailsSeance.setNegativeButton("Annuler", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { } }); detailsSeance.show(); }
void com.ttpa.iris.ttpamobile.IHMHistoriqueSeances.recupererInformationsJoueur | ( | ) | [private] |
Méthode recupererInformationsJoueur() affectant aux attributs les caratéristiques du joueur actuel, importées depuis la base de données.
Références com.ttpa.iris.ttpamobile.ServeurBDD.getIdJoueurParametres(), com.ttpa.iris.ttpamobile.ServeurBDD.getJoueur(), com.ttpa.iris.ttpamobile.IHMHistoriqueSeances.idJoueurActuel, com.ttpa.iris.ttpamobile.IHMHistoriqueSeances.joueurActuel, et com.ttpa.iris.ttpamobile.IHMHistoriqueSeances.serveurBDD.
Référencé par com.ttpa.iris.ttpamobile.IHMHistoriqueSeances.onCreate().
{ Log.d("IHMHistoriqueSeances", "recupererInformationsJoueur()"); idJoueurActuel = serveurBDD.getIdJoueurParametres(); joueurActuel = serveurBDD.getJoueur(idJoueurActuel); }
void com.ttpa.iris.ttpamobile.IHMHistoriqueSeances.rendreBoutonIHMCliquables | ( | ) | [private] |
Méthode rendreBoutonIHMCliquables() permettant aux boutons de l'IHM d'être cliquables.
Références com.ttpa.iris.ttpamobile.IHMHistoriqueSeances.boutonPurgerSeances, et com.ttpa.iris.ttpamobile.IHMHistoriqueSeances.tableauSeances.
Référencé par com.ttpa.iris.ttpamobile.IHMHistoriqueSeances.onCreate().
{ Log.d("IHMHistoriqueSeances", "rendreBoutonIHMCliquables()"); // Boutons présents dans le tableau d'historique de séances du joueur int compteurLignes = tableauSeances.getChildCount(); for (int i = 0; i < compteurLignes; ++i) { TableRow ligne = (TableRow) tableauSeances.getChildAt(i); if (ligne.getChildAt(ligne.getChildCount() - 1) instanceof ImageButton) { View element = ligne.getChildAt(ligne.getChildCount() - 1); // Le bouton de suppression de séance étant le dernier élément de la ligne element.setOnClickListener(this); } } // Bouton de purge de séance du joueur boutonPurgerSeances.setOnClickListener(this); }
void com.ttpa.iris.ttpamobile.IHMHistoriqueSeances.supprimerSeanceSelectionnee | ( | int | idSeanceElementSelectionne, |
int | indexLigneTableau | ||
) | [private] |
Méthode supprimerSeanceSelectionnee() permettant la suppression d'une séance précise.
idSeanceElementSelectionne | étant l'ID de la séance à supprimer |
indexLigneTableau | étant son index dans le tableau |
Références com.ttpa.iris.ttpamobile.IHMHistoriqueSeances.serveurBDD, com.ttpa.iris.ttpamobile.ServeurBDD.supprimerSeance(), et com.ttpa.iris.ttpamobile.IHMHistoriqueSeances.tableauSeances.
{ Log.d("IHMHistoriqueSeances", "supprimerSeanceSelectionnee()"); // Supprimer la séance selectionnée de la base de données serveurBDD.supprimerSeance(idSeanceElementSelectionne); // Supprimer le contenu de la ligne correspondante du tableau des séances TableLayout tableauSeances = (TableLayout)findViewById(R.id.tableauSeances); TableRow ligne = (TableRow) tableauSeances.getChildAt(indexLigneTableau); tableauSeances.removeView(ligne); Toast.makeText(getApplicationContext(), "Suppression de la séance " + idSeanceElementSelectionne + "...", Toast.LENGTH_SHORT).show(); }
ImageButton com.ttpa.iris.ttpamobile.IHMHistoriqueSeances.boutonPurgerSeances [package] |
Attributs de la classe
Référencé par com.ttpa.iris.ttpamobile.IHMHistoriqueSeances.afficherBoiteDialogueDetailsSeance(), com.ttpa.iris.ttpamobile.IHMHistoriqueSeances.connectionBaseDeDonnees(), com.ttpa.iris.ttpamobile.IHMHistoriqueSeances.modifierIHMAfficherSeancesJoueur(), com.ttpa.iris.ttpamobile.IHMHistoriqueSeances.purgerSeancesJoueur(), com.ttpa.iris.ttpamobile.IHMHistoriqueSeances.recupererInformationsJoueur(), et com.ttpa.iris.ttpamobile.IHMHistoriqueSeances.supprimerSeanceSelectionnee().
TableLayout com.ttpa.iris.ttpamobile.IHMHistoriqueSeances.tableauSeances [package] |
Eléments graphiques de l'IHM
Référencé par com.ttpa.iris.ttpamobile.IHMHistoriqueSeances.affecterElementsIHM(), com.ttpa.iris.ttpamobile.IHMHistoriqueSeances.afficherSeance(), com.ttpa.iris.ttpamobile.IHMHistoriqueSeances.onClick(), com.ttpa.iris.ttpamobile.IHMHistoriqueSeances.purgerSeancesJoueur(), com.ttpa.iris.ttpamobile.IHMHistoriqueSeances.rendreBoutonIHMCliquables(), et com.ttpa.iris.ttpamobile.IHMHistoriqueSeances.supprimerSeanceSelectionnee().