Subversion Repositories eFlore/Applications.coel

Rev

Rev 1054 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1054 Rev 1166
Line 3... Line 3...
3
import org.tela_botanica.client.Mediateur;
3
import org.tela_botanica.client.Mediateur;
4
import org.tela_botanica.client.RegistreId;
4
import org.tela_botanica.client.RegistreId;
5
import org.tela_botanica.client.interfaces.ListePaginable;
5
import org.tela_botanica.client.interfaces.ListePaginable;
6
import org.tela_botanica.client.interfaces.Rafraichissable;
6
import org.tela_botanica.client.interfaces.Rafraichissable;
7
import org.tela_botanica.client.modeles.aDonneeListe;
7
import org.tela_botanica.client.modeles.aDonneeListe;
8
import org.tela_botanica.client.modeles.structure.Structure;
-
 
Line 9... Line 8...
9
 
8
 
10
import com.extjs.gxt.ui.client.Registry;
9
import com.extjs.gxt.ui.client.Registry;
11
import com.google.gwt.i18n.client.Dictionary;
10
import com.google.gwt.i18n.client.Dictionary;
12
import com.google.gwt.json.client.JSONArray;
11
import com.google.gwt.json.client.JSONArray;
13
import com.google.gwt.json.client.JSONNumber;
12
import com.google.gwt.json.client.JSONNumber;
Line 14... Line 13...
14
import com.google.gwt.json.client.JSONObject;
13
import com.google.gwt.json.client.JSONObject;
15
 
14
 
16
/**
-
 
17
 * Table de hachage composée d'informations sur les Valeurs des listes, renvoyé par un objet de type DAO
15
/**
18
 * La clé est l'id de l'entite.
16
 * Classe contenant les informations sur les Structures renvoyées par un objet de type DAO.
19
 * 
17
 * 
20
 * @author Grégoire DUCHÉ
18
 * @author Grégoire DUCHÉ
21
 * 
19
 * 
Line 25... Line 23...
25
	private static final long serialVersionUID = -9030260944108896455L;
23
	private static final long serialVersionUID = -9030260944108896455L;
26
	private int currentPage = 0;
24
	private int currentPage = 0;
27
	private int nbElementsPage = Integer.valueOf(((Dictionary) Dictionary.getDictionary("configuration")).get("nbElementsPage"));
25
	private int nbElementsPage = Integer.valueOf(((Dictionary) Dictionary.getDictionary("configuration")).get("nbElementsPage"));
28
	private int nbElementsTotal;
26
	private int nbElementsTotal;
29
	private Rafraichissable vueARafraichir;
27
	private Rafraichissable vueARafraichir;
30
	/**
-
 
31
	 * Constructeur sans paramètres 
-
 
32
	 */
28
 
33
	public ProjetListe() {
29
	public ProjetListe() {
34
		super();
30
		super();
35
	}
31
	}
Line 36... Line 32...
36
	
32
	
Line 44... Line 40...
44
	
40
	
45
	/**
41
	/**
46
	 * Constructeur pour une liste de projets
42
	 * Constructeur pour une liste de projets
47
	 * @param dates
43
	 * @param dates
48
	 */
44
	 */
49
	public ProjetListe(JSONArray projetsListe) {
45
	public ProjetListe(JSONArray ListeDeProjets) {
50
		super(projetsListe.size());
-
 
51
		
-
 
52
		final int taillemax = projetsListe.size();
-
 
53
		for (int i = 0; i < taillemax; i++) {
-
 
54
			JSONObject projetCourant = projetsListe.get(i).isObject() ;
-
 
55
			
-
 
56
			if (projetCourant != null)	{
-
 
57
				Projet projet = new Projet(projetCourant);
46
		super(ListeDeProjets.size());
58
				this.put(projet.getId(), projet);				
-
 
59
			}
-
 
60
		}
47
		initialiserProjetListe(ListeDeProjets);
Line 61... Line 48...
61
	}
48
	}
62
	
49
	
63
	public ProjetListe(JSONArray projetListe, JSONNumber nbElements, Rafraichissable vueARafraichir) {
50
	public ProjetListe(JSONArray ListeDeProjets, JSONNumber nbElements, Rafraichissable vueARafraichir) {
-
 
51
		super(ListeDeProjets.size());
-
 
52
		this.nbElementsTotal = Integer.valueOf(nbElements.toString());
-
 
53
		this.vueARafraichir = vueARafraichir;
64
		super(projetListe.size());
54
		initialiserProjetListe(ListeDeProjets);
-
 
55
	}
65
		this.nbElementsTotal = Integer.valueOf(nbElements.toString());
56
	
66
		
57
	private void initialiserProjetListe(JSONArray ListeDeProjets) {
67
		final int taillemax = projetListe.size();
58
		final int taillemax = ListeDeProjets.size();
68
		for (int i = 0; i < taillemax; i++) {
-
 
69
			JSONObject projet = projetListe.get(i).isObject() ;
59
		for (int i = 0; i < taillemax; i++) {
70
			
60
			JSONObject projetCourant = ListeDeProjets.get(i).isObject();
71
			if (projet != null)	{
61
			if (projetCourant != null)	{
72
				Projet projetCourant = new Projet(projet);
62
				Projet projet = new Projet(projetCourant);
73
				this.put(projetCourant.getId(), projetCourant);				
63
				this.put(projet.getId(), projet);				
74
			}
-
 
75
		}
-
 
76
		
64
			}
Line 77... Line 65...
77
		this.vueARafraichir = vueARafraichir;
65
		}
78
	}
66
	}
79
	
67
	
Line 99... Line 87...
99
		this.nbElementsPage = taillePage;
87
		this.nbElementsPage = taillePage;
100
	}
88
	}
Line 101... Line 89...
101
	
89
	
102
	public int[] getPageTable() {
90
	public int[] getPageTable() {
103
		int[] page = new int[4];
-
 
104
 
91
		int[] page = new int[4];
105
		// nombre de pages au total
92
		// nombre de pages au total
106
		page[0] = calculerNbPages();
-
 
107
 
93
		page[0] = calculerNbPages();
108
		// Page En Cours
94
		// Page En Cours
109
		page[1] = currentPage;
-
 
110
 
95
		page[1] = currentPage;
111
		// nbElementsParPage
96
		// nbElementsParPage
112
		page[2] = nbElementsPage;
-
 
113
 
97
		page[2] = nbElementsPage;
114
		// et le dernier le nombre total d'éléments
98
		// et le dernier le nombre total d'éléments
115
		page[3] = nbElementsTotal;
-
 
116
 
99
		page[3] = nbElementsTotal;
117
		return page;
100
		return page;
Line 118... Line 101...
118
	}
101
	}
119
	
102
	
120
	/**
103
	/**
121
	 * Calcule le nombre de pages nécessaires pour afficher un nombre d'élements
104
	 * Calcule le nombre de pages nécessaires pour afficher un nombre d'élements
122
	 * donnés en fonction de la taille de page en cours
105
	 * donnés en fonction de la taille de page en cours
123
	 * 
106
	 * 
124
	 * @return le nombre de pages
107
	 * @return le nombre de pages
125
	 */
108
	 */
126
	public int calculerNbPages() {
-
 
127
		// A cause de la betise de java pour les conversion implicite on fait
-
 
128
		// quelques conversions manuellement
109
	public int calculerNbPages() {
129
		// pour eviter qu'il arrondisse mal la division
110
		// À cause de la bétise de java pour les conversion implicite, on fait quelques conversions manuellement
130
		// nombre de pages = (nombre d'element / taille de la page) arrondie à
-
 
131
		// l'entier superieur
111
		// pour eviter qu'il arrondisse mal la division nombre de pages = (nombre d'element / taille de la page) 
132
 
112
		// arrondie à l'entier supérieur.
133
		double nPage = (1.0 * nbElementsTotal) / (1.0 * nbElementsPage);
113
		double nPage = (1.0 * nbElementsTotal) / (1.0 * nbElementsPage);
Line 134... Line 114...
134
		double nPageRound = Math.ceil(nPage);
114
		double nPageRound = Math.ceil(nPage);
135
		Double nPageInt = new Double(nPageRound);
115
		Double nPageInt = new Double(nPageRound);
136
 
116
 
Line 137... Line 117...
137
		// on convertit en entier
117
		// Convertion en entier
138
		return nPageInt.intValue();
118
		return nPageInt.intValue();
139
	}
119
	}
140
	
120
	
Line 141... Line 121...
141
	public void selectionnerStructure()	{
121
	public void selectionnerStructure()	{
142
		Mediateur mediateur =(Mediateur) Registry.get(RegistreId.MEDIATEUR);
122
		Mediateur mediateur = (Mediateur) Registry.get(RegistreId.MEDIATEUR);
143
		mediateur.selectionnerProjet(vueARafraichir, null, null, currentPage, nbElementsPage);
123
		mediateur.selectionnerProjet(vueARafraichir, null, null, currentPage, nbElementsPage);
144
	}
-
 
145
	
124
	}
146
	public void filtrerParNom(String nom)	{
125
	
147
		Mediateur mediateur =(Mediateur) Registry.get(RegistreId.MEDIATEUR);
126
	public void filtrerParNom(String nom)	{