Subversion Repositories eFlore/Applications.cel

Rev

Rev 318 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 318 Rev 638
Line 1... Line 1...
1
package org.tela_botanica.client.vues.image;
1
package org.tela_botanica.client.vues.image;
Line 2... Line 2...
2
 
2
 
3
import org.tela_botanica.client.image.ImageMediateur;
3
import org.tela_botanica.client.image.ImageMediateur;
-
 
4
import org.tela_botanica.client.vues.ArbreMotsClesFiltreVue;
Line -... Line 5...
-
 
5
import org.tela_botanica.client.vues.observation.filtres.ArbreDateObservationFiltreVue;
-
 
6
 
4
import org.tela_botanica.client.vues.ArbreMotsClesFiltreVue;
7
import com.google.gwt.core.client.GWT;
5
 
8
import com.google.gwt.core.client.JavaScriptObject;
-
 
9
import com.gwtext.client.core.EventObject;
6
import com.gwtext.client.core.EventObject;
10
import com.gwtext.client.core.Ext;
-
 
11
import com.gwtext.client.widgets.BoxComponent;
-
 
12
import com.gwtext.client.widgets.Button;
7
import com.gwtext.client.core.Ext;
13
import com.gwtext.client.widgets.Component;
8
import com.gwtext.client.widgets.Button;
14
import com.gwtext.client.widgets.Container;
-
 
15
import com.gwtext.client.widgets.Panel;
-
 
16
import com.gwtext.client.widgets.event.ButtonListenerAdapter;
-
 
17
import com.gwtext.client.widgets.event.ContainerListener;
-
 
18
import com.gwtext.client.widgets.event.ContainerListenerAdapter;
9
import com.gwtext.client.widgets.Panel;
19
import com.gwtext.client.widgets.layout.RowLayout;
Line 10... Line 20...
10
import com.gwtext.client.widgets.event.ButtonListenerAdapter;
20
import com.gwtext.client.widgets.layout.RowLayoutData;
11
import com.gwtext.client.widgets.layout.VerticalLayout;
21
import com.gwtext.client.widgets.layout.VerticalLayout;
12
 
22
 
Line 25... Line 35...
25
 
35
 
26
	/**
36
	/**
27
	 * L'arbre pour la recherche par mots clés
37
	 * L'arbre pour la recherche par mots clés
28
	 */
38
	 */
-
 
39
	private ArbreMotsClesFiltreVue motsClesFiltres = null;
-
 
40
	
-
 
41
	/**
-
 
42
	 * L'arbre pour la recherche par mots clés
-
 
43
	 */
-
 
44
	private ArbreDateImageFiltreVue arbreDateImageFiltreVue = null;
29
	private ArbreMotsClesFiltreVue motsClesFiltres = null;
45
	
30
	/**
46
	/**
31
	 * La barre de recherche par commentaires
47
	 * La barre de recherche par commentaires
32
	 */
48
	 */
Line 33... Line 49...
33
	private BarreRechercheFiltreVue commFiltresVues = null;
49
	private BarreRechercheFiltreVue rechercheLibreFiltreVue = null;
34
 
50
 
35
	/**
51
	/**
36
	 * Recherche par date
52
	 * Recherche par date
Line 60... Line 76...
60
	 * 
76
	 * 
61
	 * @param im
77
	 * @param im
62
	 *            le médiateur à associer
78
	 *            le médiateur à associer
63
	 */
79
	 */
64
	public PanneauFiltresImagesVues(ImageMediateur im) {
80
	public PanneauFiltresImagesVues(ImageMediateur im) {
-
 
81
		
65
		super("Filtres");
82
		super("Filtres");
66
		iMediateur = im;
83
		iMediateur = im;
Line 67... Line 84...
67
		
84
		
68
		this.setCollapsible(true);
85
		this.setCollapsible(true);
69
		setLayout(new VerticalLayout());
-
 
70
 
-
 
71
		commFiltresVues = new BarreRechercheFiltreVue(im);
-
 
Line 72... Line 86...
72
		add(commFiltresVues);
86
		setLayout(new RowLayout());
-
 
87
 
-
 
88
		rechercheLibreFiltreVue = new BarreRechercheFiltreVue(im);
-
 
89
		rechercheLibreFiltreVue.setTitle("Recherche libre");
-
 
90
		rechercheLibreFiltreVue.setCollapsible(true);
-
 
91
		add(rechercheLibreFiltreVue, new RowLayoutData());
73
 
92
		
-
 
93
		if(Ext.isIE()) {
-
 
94
			add(rechercheLibreFiltreVue);
-
 
95
			rechercheLibreFiltreVue.setHeight(110);
-
 
96
		} else {
74
		dateFiltreVues = new DateFiltreVue(im);
97
			add(rechercheLibreFiltreVue,new RowLayoutData(100));
75
		add(dateFiltreVues);
98
		}
-
 
99
 
76
 
100
		arbreDateImageFiltreVue = new ArbreDateImageFiltreVue(im) ;
-
 
101
		arbreDateImageFiltreVue.setWidth("100%") ;
Line 77... Line 102...
77
		selectionFiltreVue = new SelectionFiltreVue(im);
102
		arbreDateImageFiltreVue.setBorder(false);
78
		add(selectionFiltreVue);
-
 
79
 
-
 
80
		motsClesFiltres = new ArbreMotsClesFiltreVue(im);
-
 
81
		add(motsClesFiltres);
103
		add(arbreDateImageFiltreVue, new RowLayoutData());
82
 
-
 
83
		Panel panelValidation = new Panel();
104
 
84
		valider = new Button("Rechercher");
-
 
85
		panelValidation.add(valider);
-
 
86
		panelValidation.setBorder(false);
105
		motsClesFiltres = new ArbreMotsClesFiltreVue(im);
Line -... Line 106...
-
 
106
		motsClesFiltres.setTitle("Mots clés");
-
 
107
		motsClesFiltres.setAutoScroll(true);
87
		add(panelValidation);
108
		add(motsClesFiltres, new RowLayoutData());
Line 88... Line 109...
88
 
109
 
-
 
110
		selectionFiltreVue = new SelectionFiltreVue(im);
Line -... Line 111...
-
 
111
		
-
 
112
		addListener(new ContainerListenerAdapter() {
89
		valider.addListener(new ButtonListenerAdapter() {
113
 
90
 
-
 
91
			public void onClick(Button button, EventObject e) {
114
			public void onRender(Component component) {
92
 
115
				// TODO Auto-generated method stub
Line 93... Line 116...
93
				iMediateur.obtenirPhotoGalerie(iMediateur.getGalerieImage());
116
 
94
 
117
				rechercheLibreFiltreVue.ajouterListeners();
Line 105... Line 128...
105
	public ArbreMotsClesFiltreVue getMotsClesFiltre() {
128
	public ArbreMotsClesFiltreVue getMotsClesFiltre() {
106
		return motsClesFiltres;
129
		return motsClesFiltres;
107
	}
130
	}
Line 108... Line 131...
108
 
131
 
109
	/**
132
	/**
110
	 * Accesseur pour le filtre par commentaire
133
	 * Accesseur pour le filtre général
111
	 * 
134
	 * 
112
	 * @return le filtre des commentaires
135
	 * @return le filtre général
113
	 */
136
	 */
114
	public BarreRechercheFiltreVue getBarreRecherche() {
137
	public BarreRechercheFiltreVue getBarreRecherche() {
115
		return commFiltresVues;
138
		return rechercheLibreFiltreVue;
Line 116... Line 139...
116
	}
139
	}
117
 
140
 
118
	/**
141
	/**
119
	 * Renvoie un booléen indiquant si un des filtres a été modifié
142
	 * Renvoie un booléen indiquant si un des filtres a été modifié
120
	 * 
143
	 * 
121
	 * @return true sur un des filtres est modifié, false sinon
144
	 * @return true sur un des filtres est modifié, false sinon
Line 122... Line 145...
122
	 */
145
	 */
123
	public boolean renvoyerEtatFiltre() {
146
	public boolean renvoyerEtatFiltre() {
124
 
147
 
125
		return (motsClesFiltres.renvoyerEtatFiltre()
148
		return (motsClesFiltres.renvoyerEtatFiltre()
126
				|| commFiltresVues.renvoyerEtatFiltre()
149
				|| rechercheLibreFiltreVue.renvoyerEtatFiltre()
Line 127... Line 150...
127
				|| dateFiltreVues.renvoyerEtatFiltre() 
150
				|| arbreDateImageFiltreVue.renvoyerEtatFiltre() 
128
				|| selectionFiltreVue.renvoyerEtatFiltre());
151
				|| selectionFiltreVue.renvoyerEtatFiltre());
129
	}
152
	}
130
 
153
 
131
	/**
154
	/**
132
	 * Renvoie un tableau à 2 niveaux contenant des paires "nom_de_filtre",
155
	 * Renvoie un tableau à 2 niveaux contenant des paires "nom_de_filtre",
133
	 * "valeur"
156
	 * "valeur"
-
 
157
	 * 
134
	 * 
158
	 * @return un tableau contenant les noms et les valeurs à filtrer
-
 
159
	 */
-
 
160
	public String[][] renvoyerValeursAFiltrer() {
-
 
161
		
-
 
162
		String[] filtresDates = arbreDateImageFiltreVue.renvoyerValeursAFiltrer();
-
 
163
		
-
 
164
		int lgSup = 0;
-
 
165
		
-
 
166
		if(filtresDates.length > 0) {
-
 
167
			String[] nomFiltresDates = filtresDates[0].split(",");
-
 
168
			String[] valFiltresDates = filtresDates[1].split(",");
-
 
169
			lgSup = Math.max(nomFiltresDates.length, valFiltresDates.length);
-
 
170
		}
-
 
171
		
-
 
172
		String[][] filtres = new String[3 + lgSup][2];
-
 
173
		
-
 
174
		for(int i=3; i < filtres.length; i++) {
135
	 * @return un tableau contenant les noms et les valeurs à filtrer
175
			filtres[i][0] = filtresDates[0].split(",")[i - 3];
136
	 */
176
			filtres[i][1] = filtresDates[1].split(",")[i -3];
137
	public String[][] renvoyerValeursAFiltrer() {
177
		}
Line 138... Line 178...
138
		String[][] filtres = { motsClesFiltres.renvoyerValeursAFiltrer(),
178
		
139
				commFiltresVues.renvoyerValeursAFiltrer(),
179
		filtres[0] = motsClesFiltres.renvoyerValeursAFiltrer();
Line 140... Line 180...
140
				dateFiltreVues.renvoyerValeursAFiltrer(),
180
		filtres[1] = rechercheLibreFiltreVue.renvoyerValeursAFiltrer();