Subversion Repositories eFlore/Applications.cel

Rev

Rev 195 | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 195 Rev 201
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
			public void onClick(Button button, EventObject e) {
50
			public void onClick(Button button, EventObject e) {
51
				
51
				
52
				motsAAjouter = motsClesAjout.getText();
52
				motsAAjouter = motsClesAjout.getText();
53
				//oMediateur.AjouterMotsClesEnMasse(motsAAjouter);
53
				//oMediateur.AjouterMotsClesEnMasse(motsAAjouter);
54
			}
54
			}
55
			
55
			
56
		});
56
		});
57
		
57
		
58
		voirCacherNuage.addListener(new ButtonListenerAdapter() {
58
		voirCacherNuage.addListener(new ButtonListenerAdapter() {
59
			public void onClick(Button button, EventObject e) {
59
			public void onClick(Button button, EventObject e) {
60
				
60
				
61
				if(nuageVisible) {
61
				if(nuageVisible) {
62
					
62
					
63
					if(contenuNuage != null) {
63
					if(contenuNuage != null) {
64
						contenuNuage.clear();
64
						contenuNuage.clear();
65
					}
65
					}
66
					voirCacherNuage.setText("Afficher les mots clés");
66
					voirCacherNuage.setText("Afficher les mots clés");
67
					nuageVisible = false;
67
					nuageVisible = false;
68
				}
68
				}
69
				else {
69
				else {
70
				//	oMediateur.obtenirNuageMotsCles(r);
70
				//	oMediateur.obtenirNuageMotsCles(r);
71
					voirCacherNuage.setText("Cacher les mots clés");
71
					voirCacherNuage.setText("Cacher les mots clés");
72
					nuageVisible = true;
72
					nuageVisible = true;
73
				}
73
				}
74
			}
74
			}
75
			
75
			
76
		});
76
		});
77
		
77
		
78
		add(motsClesAjout);
78
		add(motsClesAjout);
79
		add(validerAjout);
79
		add(validerAjout);
80
		add(voirCacherNuage);
80
		add(voirCacherNuage);
81
		
81
		
82
		contenuNuage = new Panel();
82
		contenuNuage = new Panel();
83
		contenuNuage.setBorder(false);
83
		contenuNuage.setBorder(false);
84
		
84
		
85
		add(contenuNuage);
85
		add(contenuNuage);
86
	}
86
	}
87
	
87
	
88
 
88
 
89
	public boolean renvoyerEtatFiltre() {
89
	public boolean renvoyerEtatFiltre() {
90
		// TODO Auto-generated method stub
90
		// TODO Auto-generated method stub
91
		return false;
91
		return false;
92
	}
92
	}
93
 
93
 
94
 
94
 
95
	public String renvoyerNomFiltre() {
95
	public String renvoyerNomFiltre() {
96
		// TODO Auto-generated method stub
96
		// TODO Auto-generated method stub
97
		return null;
97
		return null;
98
	}
98
	}
99
 
99
 
100
 
100
 
101
	public String[] renvoyerValeursAFiltrer() {
101
	public String[] renvoyerValeursAFiltrer() {
102
		// TODO Auto-generated method stub
102
		// TODO Auto-generated method stub
103
		return null;
103
		return null;
104
	}
104
	}
105
 
105
 
106
 
106
 
107
	public void valider() {
107
	public void valider() {
108
		// TODO Auto-generated method stub
108
		// TODO Auto-generated method stub
109
		
109
		
110
	}
110
	}
111
 
111
 
112
 
112
 
113
	public void rafraichir(Object nouvelleDonnees,
113
	public void rafraichir(Object nouvelleDonnees,
114
			boolean repandreRaffraichissement) {
114
			boolean repandreRaffraichissement) {
115
		
115
		
116
		if(nouvelleDonnees instanceof Integer) {
116
		if(nouvelleDonnees instanceof Integer) {
117
			nbMotsClesMax = (Integer)nouvelleDonnees;
117
			nbMotsClesMax = (Integer)nouvelleDonnees;
118
			demasquerChargement();
118
			demasquerChargement();
119
		}
119
		}
120
		
120
		
121
		if(nouvelleDonnees instanceof Object[][]) {
121
		if(nouvelleDonnees instanceof Object[][]) {
122
			
122
			
123
			listeMotsPesee = (Object[][])nouvelleDonnees ;
123
			listeMotsPesee = (Object[][])nouvelleDonnees ;
124
			construireNuage();
124
			construireNuage();
125
			demasquerChargement();
125
			demasquerChargement();
126
		}
126
		}
127
		
127
		
128
		if(nouvelleDonnees instanceof String) {
128
		if(nouvelleDonnees instanceof String) {
129
			
129
			
130
			String res = (String)nouvelleDonnees;
130
			String res = (String)nouvelleDonnees;
131
			if(res.equals("OK")) {
131
			if(res.equals("OK")) {
132
				masquerChargement();
132
				masquerChargement();
133
				oMediateur.obtenirListeObservation();
133
				oMediateur.obtenirListeObservation();
134
				//oMediateur.obtenirNuageMotsCles(this);
134
				//oMediateur.obtenirNuageMotsCles(this);
135
			}
135
			}
136
		}
136
		}
137
	}
137
	}
138
	
138
	
139
	private void construireNuage() {
139
	private void construireNuage() {
140
		
140
		
141
		contenuNuage.clear();
141
		contenuNuage.clear();
142
		
142
		
143
		String contenu = "<ul class=\"nuagetag\">" ;
143
		String contenu = "<ul class=\"nuagetag\">" ;
144
		
144
		
145
		for(int i = 0; i<listeMotsPesee.length; i++) {
145
		for(int i = 0; i<listeMotsPesee.length; i++) {
146
			
146
			
147
			String classeMotCle = "motcletaille"+calculerPoids((Integer)listeMotsPesee[i][1]) ;
147
			String classeMotCle = "motcletaille"+calculerPoids((Integer)listeMotsPesee[i][1]) ;
148
			contenu += "<li class=\""+classeMotCle+"\">";
148
			contenu += "<li class=\""+classeMotCle+"\">";
149
			contenu += (String)listeMotsPesee[i][0];
149
			contenu += (String)listeMotsPesee[i][0];
150
			contenu += "</li>";
150
			contenu += "</li>";
151
		}
151
		}
152
		
152
		
153
		contenu += "</ul>" ;
153
		contenu += "</ul>" ;
154
		
154
		
155
		HTML contenuHTML = new HTML(contenu) {
155
		HTML contenuHTML = new HTML(contenu) {
156
			public void onBrowserEvent(Event e) {
156
			public void onBrowserEvent(Event e) {
157
				
157
				
158
				motsAAjouter += " "+e.getTarget().getInnerHTML();
158
				motsAAjouter += " "+e.getTarget().getInnerHTML();
159
				motsClesAjout.setValue(motsAAjouter);
159
				motsClesAjout.setValue(motsAAjouter);
160
			}
160
			}
161
		};
161
		};
162
		
162
		
163
		contenuHTML.sinkEvents(Event.ONCLICK);
163
		contenuHTML.sinkEvents(Event.ONCLICK);
164
		contenuNuage.add(contenuHTML);
164
		contenuNuage.add(contenuHTML);
165
		
165
		
166
		contenuNuage.doLayout();
166
		contenuNuage.doLayout();
167
		doLayout();
167
		doLayout();
168
	}
168
	}
169
	
169
	
170
	private int calculerPoids(int poidMot) {
170
	private int calculerPoids(int poidMot) {
171
		
171
		
172
		int poids = (poidMot*10)/nbMotsClesMax;
172
		int poids = (poidMot*10)/nbMotsClesMax;
173
		if(poids < 1) {
173
		if(poids < 1) {
174
			return 1;
174
			return 1;
175
		}
175
		}
176
		
176
		
177
		return poids;
177
		return poids;
178
	}
178
	}
179
	
179
	
180
	/**
180
	/**
181
	 * Recherche l'élement actuellement affiché et affiche son message de chargement
181
	 * Recherche l'élement actuellement affiché et affiche son message de chargement
182
	 */
182
	 */
183
	public void masquerChargement()
183
	public void masquerChargement()
184
	{
184
	{
185
			ExtElement masked = Ext.get(getId()) ;
185
			ExtElement masked = Ext.get(getId()) ;
186
 
186
 
187
 
187
 
188
			if (masked!=null) {
188
			if (masked!=null) {
189
				masked.mask("Chargement") ;
189
				masked.mask("Chargement") ;
190
			}
190
			}
191
 
191
 
192
	}
192
	}
193
	
193
	
194
	/**
194
	/**
195
	 * Recherche l'élement actuellement affiché et retire son message de chargement si l'était affiché
195
	 * Recherche l'élement actuellement affiché et retire son message de chargement si l'était affiché
196
	 */
196
	 */
197
	public void demasquerChargement()
197
	public void demasquerChargement()
198
	{
198
	{
199
			ExtElement masked = Ext.get(getId()) ;
199
			ExtElement masked = Ext.get(getId()) ;
200
			
200
			
201
			if (masked!=null) {
201
			if (masked!=null) {
202
					masked.unmask() ;
202
					masked.unmask() ;
203
			}
203
			}
204
	}
204
	}
205
 
205
 
206
 
206
 
207
}
207
}