Subversion Repositories eFlore/Applications.cel

Rev

Rev 201 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 201 Rev 1292
1
package org.tela_botanica.client.vues.observation;
1
package org.tela_botanica.client.vues.observation;
2
 
2
 
3
import org.tela_botanica.client.interfaces.Rafraichissable;
3
import org.tela_botanica.client.interfaces.Rafraichissable;
4
import org.tela_botanica.client.observation.ObservationMediateur;
4
import org.tela_botanica.client.observation.ObservationMediateur;
5
 
5
 
6
import com.google.gwt.user.client.Event;
6
import com.google.gwt.user.client.Event;
7
import com.google.gwt.user.client.ui.HTML;
7
import com.google.gwt.user.client.ui.HTML;
8
import com.gwtext.client.core.EventObject;
8
import com.gwtext.client.core.EventObject;
9
import com.gwtext.client.core.Ext;
9
import com.gwtext.client.core.Ext;
10
import com.gwtext.client.core.ExtElement;
10
import com.gwtext.client.core.ExtElement;
11
import com.gwtext.client.widgets.Button;
11
import com.gwtext.client.widgets.Button;
12
import com.gwtext.client.widgets.Panel;
12
import com.gwtext.client.widgets.Panel;
13
import com.gwtext.client.widgets.Window;
13
import com.gwtext.client.widgets.Window;
14
import com.gwtext.client.widgets.event.ButtonListenerAdapter;
14
import com.gwtext.client.widgets.event.ButtonListenerAdapter;
15
import com.gwtext.client.widgets.form.TextArea;
15
import com.gwtext.client.widgets.form.TextArea;
16
 
16
 
17
public class SaisieMotsClesVue extends Window implements Rafraichissable {
17
public class SaisieMotsClesVue extends Window implements Rafraichissable {
18
private ObservationMediateur oMediateur = null ;
18
private ObservationMediateur oMediateur = null ;
19
	
19
	
20
	private Object[][] listeMotsPesee = null;
20
	private Object[][] listeMotsPesee = null;
21
	
21
	
22
	private String motsAAjouter = "" ;
22
	private String motsAAjouter = "" ;
23
	
23
	
24
	private int nbMotsClesMax = 1 ;
24
	private int nbMotsClesMax = 1 ;
25
	
25
	
26
	private TextArea motsClesAjout = null;
26
	private TextArea motsClesAjout = null;
27
	
27
	
28
	private Button validerAjout = null ;
28
	private Button validerAjout = null ;
29
	
29
	
30
	private Button voirCacherNuage = null;
30
	private Button voirCacherNuage = null;
31
	
31
	
32
	private boolean nuageVisible = false ;
32
	private boolean nuageVisible = false ;
33
	
33
	
34
	private Panel contenuNuage = null ;
34
	private Panel contenuNuage = null ;
35
	
35
	
36
	public SaisieMotsClesVue(ObservationMediateur om) {
36
	public SaisieMotsClesVue(ObservationMediateur om) {
37
		super("Entrez vos mots clés");
37
		super("Entrez vos mots clés");
38
		setCls("fenmotcles");
38
		setCls("fenmotcles");
39
		oMediateur = om ;
39
		oMediateur = om ;
40
		//setWidth(300);
40
		//setWidth(300);
41
		motsClesAjout = new TextArea();
41
		motsClesAjout = new TextArea();
42
		//motsClesAjout.setWidth(300);
42
		//motsClesAjout.setWidth(300);
43
		validerAjout = new Button("Valider");
43
		validerAjout = new Button("Valider");
44
		voirCacherNuage= new Button("Afficher les mots clés");
44
		voirCacherNuage= new Button("Afficher les mots clés");
45
		final Rafraichissable r = this ;
45
		final Rafraichissable r = this ;
46
		
46
		
47
		this.setCloseAction(CLOSE);
47
		this.setCloseAction(CLOSE);
48
		
48
		
49
		validerAjout.addListener(new ButtonListenerAdapter() {
49
		validerAjout.addListener(new ButtonListenerAdapter() {
-
 
50
			@Override
50
			public void onClick(Button button, EventObject e) {
51
			public void onClick(Button button, EventObject e) {
51
				
52
				
52
				motsAAjouter = motsClesAjout.getText();
53
				motsAAjouter = motsClesAjout.getText();
53
				//oMediateur.AjouterMotsClesEnMasse(motsAAjouter);
54
				//oMediateur.AjouterMotsClesEnMasse(motsAAjouter);
54
			}
55
			}
55
			
56
			
56
		});
57
		});
57
		
58
		
58
		voirCacherNuage.addListener(new ButtonListenerAdapter() {
59
		voirCacherNuage.addListener(new ButtonListenerAdapter() {
-
 
60
			@Override
59
			public void onClick(Button button, EventObject e) {
61
			public void onClick(Button button, EventObject e) {
60
				
62
				
61
				if(nuageVisible) {
63
				if(nuageVisible) {
62
					
64
					
63
					if(contenuNuage != null) {
65
					if(contenuNuage != null) {
64
						contenuNuage.clear();
66
						contenuNuage.clear();
65
					}
67
					}
66
					voirCacherNuage.setText("Afficher les mots clés");
68
					voirCacherNuage.setText("Afficher les mots clés");
67
					nuageVisible = false;
69
					nuageVisible = false;
68
				}
70
				}
69
				else {
71
				else {
70
				//	oMediateur.obtenirNuageMotsCles(r);
72
				//	oMediateur.obtenirNuageMotsCles(r);
71
					voirCacherNuage.setText("Cacher les mots clés");
73
					voirCacherNuage.setText("Cacher les mots clés");
72
					nuageVisible = true;
74
					nuageVisible = true;
73
				}
75
				}
74
			}
76
			}
75
			
77
			
76
		});
78
		});
77
		
79
		
78
		add(motsClesAjout);
80
		add(motsClesAjout);
79
		add(validerAjout);
81
		add(validerAjout);
80
		add(voirCacherNuage);
82
		add(voirCacherNuage);
81
		
83
		
82
		contenuNuage = new Panel();
84
		contenuNuage = new Panel();
83
		contenuNuage.setBorder(false);
85
		contenuNuage.setBorder(false);
84
		
86
		
85
		add(contenuNuage);
87
		add(contenuNuage);
86
	}
88
	}
87
	
89
	
88
 
90
 
89
	public boolean renvoyerEtatFiltre() {
91
	public boolean renvoyerEtatFiltre() {
90
		// TODO Auto-generated method stub
92
		// TODO Auto-generated method stub
91
		return false;
93
		return false;
92
	}
94
	}
93
 
95
 
94
 
96
 
95
	public String renvoyerNomFiltre() {
97
	public String renvoyerNomFiltre() {
96
		// TODO Auto-generated method stub
98
		// TODO Auto-generated method stub
97
		return null;
99
		return null;
98
	}
100
	}
99
 
101
 
100
 
102
 
101
	public String[] renvoyerValeursAFiltrer() {
103
	public String[] renvoyerValeursAFiltrer() {
102
		// TODO Auto-generated method stub
104
		// TODO Auto-generated method stub
103
		return null;
105
		return null;
104
	}
106
	}
105
 
107
 
106
 
108
 
107
	public void valider() {
109
	public void valider() {
108
		// TODO Auto-generated method stub
110
		// TODO Auto-generated method stub
109
		
111
		
110
	}
112
	}
111
 
113
 
-
 
114
 
112
 
115
	@Override
113
	public void rafraichir(Object nouvelleDonnees,
116
	public void rafraichir(Object nouvelleDonnees,
114
			boolean repandreRaffraichissement) {
117
			boolean repandreRaffraichissement) {
115
		
118
		
116
		if(nouvelleDonnees instanceof Integer) {
119
		if(nouvelleDonnees instanceof Integer) {
117
			nbMotsClesMax = (Integer)nouvelleDonnees;
120
			nbMotsClesMax = (Integer)nouvelleDonnees;
118
			demasquerChargement();
121
			demasquerChargement();
119
		}
122
		}
120
		
123
		
121
		if(nouvelleDonnees instanceof Object[][]) {
124
		if(nouvelleDonnees instanceof Object[][]) {
122
			
125
			
123
			listeMotsPesee = (Object[][])nouvelleDonnees ;
126
			listeMotsPesee = (Object[][])nouvelleDonnees ;
124
			construireNuage();
127
			construireNuage();
125
			demasquerChargement();
128
			demasquerChargement();
126
		}
129
		}
127
		
130
		
128
		if(nouvelleDonnees instanceof String) {
131
		if(nouvelleDonnees instanceof String) {
129
			
132
			
130
			String res = (String)nouvelleDonnees;
133
			String res = (String)nouvelleDonnees;
131
			if(res.equals("OK")) {
134
			if(res.equals("OK")) {
132
				masquerChargement();
135
				masquerChargement();
133
				oMediateur.obtenirListeObservation();
136
				oMediateur.obtenirListeObservation();
134
				//oMediateur.obtenirNuageMotsCles(this);
137
				//oMediateur.obtenirNuageMotsCles(this);
135
			}
138
			}
136
		}
139
		}
137
	}
140
	}
138
	
141
	
139
	private void construireNuage() {
142
	private void construireNuage() {
140
		
143
		
141
		contenuNuage.clear();
144
		contenuNuage.clear();
142
		
145
		
143
		String contenu = "<ul class=\"nuagetag\">" ;
146
		String contenu = "<ul class=\"nuagetag\">" ;
144
		
147
		
145
		for(int i = 0; i<listeMotsPesee.length; i++) {
148
		for(int i = 0; i<listeMotsPesee.length; i++) {
146
			
149
			
147
			String classeMotCle = "motcletaille"+calculerPoids((Integer)listeMotsPesee[i][1]) ;
150
			String classeMotCle = "motcletaille"+calculerPoids((Integer)listeMotsPesee[i][1]) ;
148
			contenu += "<li class=\""+classeMotCle+"\">";
151
			contenu += "<li class=\""+classeMotCle+"\">";
149
			contenu += (String)listeMotsPesee[i][0];
152
			contenu += (String)listeMotsPesee[i][0];
150
			contenu += "</li>";
153
			contenu += "</li>";
151
		}
154
		}
152
		
155
		
153
		contenu += "</ul>" ;
156
		contenu += "</ul>" ;
154
		
157
		
155
		HTML contenuHTML = new HTML(contenu) {
158
		HTML contenuHTML = new HTML(contenu) {
-
 
159
			@Override
156
			public void onBrowserEvent(Event e) {
160
			public void onBrowserEvent(Event e) {
157
				
161
				
158
				motsAAjouter += " "+e.getTarget().getInnerHTML();
162
				motsAAjouter += " "+e.getTarget().getInnerHTML();
159
				motsClesAjout.setValue(motsAAjouter);
163
				motsClesAjout.setValue(motsAAjouter);
160
			}
164
			}
161
		};
165
		};
162
		
166
		
163
		contenuHTML.sinkEvents(Event.ONCLICK);
167
		contenuHTML.sinkEvents(Event.ONCLICK);
164
		contenuNuage.add(contenuHTML);
168
		contenuNuage.add(contenuHTML);
165
		
169
		
166
		contenuNuage.doLayout();
170
		contenuNuage.doLayout();
167
		doLayout();
171
		doLayout();
168
	}
172
	}
169
	
173
	
170
	private int calculerPoids(int poidMot) {
174
	private int calculerPoids(int poidMot) {
171
		
175
		
172
		int poids = (poidMot*10)/nbMotsClesMax;
176
		int poids = (poidMot*10)/nbMotsClesMax;
173
		if(poids < 1) {
177
		if(poids < 1) {
174
			return 1;
178
			return 1;
175
		}
179
		}
176
		
180
		
177
		return poids;
181
		return poids;
178
	}
182
	}
179
	
183
	
180
	/**
184
	/**
181
	 * Recherche l'élement actuellement affiché et affiche son message de chargement
185
	 * Recherche l'élement actuellement affiché et affiche son message de chargement
182
	 */
186
	 */
183
	public void masquerChargement()
187
	public void masquerChargement()
184
	{
188
	{
185
			ExtElement masked = Ext.get(getId()) ;
189
			ExtElement masked = Ext.get(getId()) ;
186
 
190
 
187
 
191
 
188
			if (masked!=null) {
192
			if (masked!=null) {
189
				masked.mask("Chargement") ;
193
				masked.mask("Chargement") ;
190
			}
194
			}
191
 
195
 
192
	}
196
	}
193
	
197
	
194
	/**
198
	/**
195
	 * Recherche l'élement actuellement affiché et retire son message de chargement si l'était affiché
199
	 * Recherche l'élement actuellement affiché et retire son message de chargement si l'était affiché
196
	 */
200
	 */
197
	public void demasquerChargement()
201
	public void demasquerChargement()
198
	{
202
	{
199
			ExtElement masked = Ext.get(getId()) ;
203
			ExtElement masked = Ext.get(getId()) ;
200
			
204
			
201
			if (masked!=null) {
205
			if (masked!=null) {
202
					masked.unmask() ;
206
					masked.unmask() ;
203
			}
207
			}
204
	}
208
	}
205
 
209
 
206
 
210
 
207
}
211
}