Package gui.models

Source Code of gui.models.InfoRepresentationModel

package gui.models;

import java.util.Collection;
import java.util.Iterator;

import javax.swing.JTable;
import javax.swing.table.AbstractTableModel;
import javax.swing.table.DefaultTableModel;

import metier.reservations.Demande;
import misc.Utils;

import data.programmation.Piece;
import data.programmation.Representation;

/**
* Modèle contenant les informations sur une représentation.
*
* Les infos listées sont :
* <ul>
* <li> Les places restantes pour cette zones
* <li> Les prix pour chaque zone et chaque catégorie
* </ul>
*
* @author Ait Elhaj Brahim
*
* @see AbstractTableModel
* @see JTable
*/
public class InfoRepresentationModel extends AbstractTableModel {

 
  private Object[][] donnees;

  private static int NB_COLONNES = 5;

  private String[] titreColonnes = { "Zone", "Places restantes", "Tarif Abonné",
      "Tarif Réduit", "Tarif Normal" };

  /**
   * Consruit un modèle avec les informations associées à un représentation.
   *
   * @param p
   *            La piece associé à cette liste
   * @param r
   *            La représentation dont on veut lister les informations
   */
  public InfoRepresentationModel(Piece p, Representation r) {

    Demande d = new Demande();

    Collection lesZones;
    lesZones = d.getZones();
    // On créer le tableau de données

    donnees = new Object[lesZones.size()][NB_COLONNES];
    int i = 0;
    Iterator itZones = lesZones.iterator();
    while (itZones.hasNext()) {
      String idZone = (String) itZones.next();

      int nbPiecesLibres = d.getNbPlacesLibres(r.getIdSeance(), idZone);

      Object[] ligne = { idZone, new Integer(nbPiecesLibres),
          new Double(p.getTarif(Utils.CATEGORIE_ABONNE, idZone)),
          new Double(p.getTarif(Utils.CATEGORIE_REDUIT, idZone)),
          new Double(p.getTarif(Utils.CATEGORIE_NORMAL, idZone)) };
      donnees[i] = ligne;
      i++;
    }

  }

  /**
   * Renvoie le nombre de colonnes.
   */
  public int getColumnCount() {
    return NB_COLONNES;
  }

  /**
   * renvoie la valeur de la cellule.
   * @param parm1 l'indice de ligne
   * @param parm2 l'indice de la colonne
   *
   */
  public Object getValueAt(int parm1, int parm2) {
    return donnees[parm1][parm2];
  }

  /**
   * Renvoie le nombre de colonnes.
   */
  public int getRowCount() {
    return donnees.length;
  }

  /**
   * Renvoie le nom de la colonne d'indice col
   * @param col L'indice de la colonne
   */
  public String getColumnName(int col) {
    return titreColonnes[col];
  }

}
TOP

Related Classes of gui.models.InfoRepresentationModel

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.