Subversion Repositories eFlore/Applications.del

Rev

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

Rev 1281 Rev 1541
1
package org.tela_botanica.del.client.composants.motsclesimages.propositions;
1
package org.tela_botanica.del.client.composants.motsclesimages.propositions;
2
 
2
 
3
import org.tela_botanica.del.client.composants.presenteur.Presenteur;
3
import org.tela_botanica.del.client.composants.presenteur.Presenteur;
4
 
4
 
5
import com.google.gwt.event.dom.client.ClickEvent;
5
import com.google.gwt.event.dom.client.ClickEvent;
6
import com.google.gwt.event.dom.client.ClickHandler;
6
import com.google.gwt.event.dom.client.ClickHandler;
7
import com.google.gwt.event.dom.client.HasClickHandlers;
7
import com.google.gwt.event.dom.client.HasClickHandlers;
8
import com.google.gwt.user.client.ui.HasWidgets;
8
import com.google.gwt.user.client.ui.HasWidgets;
9
import com.google.gwt.user.client.ui.IsWidget;
9
import com.google.gwt.user.client.ui.IsWidget;
10
 
10
 
11
public class MotClePropositionPresenteur extends Presenteur{
11
public class MotClePropositionPresenteur extends Presenteur{
12
 
12
 
13
	public interface Vue extends IsWidget {
13
	public interface Vue extends IsWidget {
14
		public void setMotCle(String motcle);
14
		public void setMotCle(String motcle);
15
		public HasClickHandlers getLienMotCle();
15
		public HasClickHandlers getLienMotCle();
16
		public void toggleCb();
16
		public void toggleCb();
17
		public boolean estAAjouter();
17
		public boolean estAAjouter();
18
		public void setEstAAjouter();
18
		public void setEstAAjouter();
19
		public HasClickHandlers getAjouterMotCle();
19
		public HasClickHandlers getAjouterMotCle();
20
	}
20
	}
21
	
21
	
22
	private Vue vue;
22
	private Vue vue;
23
	private String motcle;
23
	private String motcle;
24
	
24
	
25
	public MotClePropositionPresenteur(Vue vue, String motCle) {
25
	public MotClePropositionPresenteur(Vue vue, String motCle) {
26
		this.vue = vue;
26
		this.vue = vue;
27
		this.motcle = motCle;
27
		this.motcle = motCle;
28
		vue.setMotCle(motCle);
28
		vue.setMotCle(motCle);
29
	}
29
	}
30
	@Override
30
	@Override
31
	public void go(HasWidgets composite) {
31
	public void go(HasWidgets composite) {
32
		composite.add(vue.asWidget());
32
		composite.add(vue.asWidget());
33
		gererEvenements();
33
		gererEvenements();
34
	}
34
	}
35
 
35
 
36
	@Override
36
	@Override
37
	protected void gererEvenements() {
37
	protected void gererEvenements() {
38
		
38
		
39
		/* Attention : dans la gestion des évènements, comme la case à cocher est contenu dans 
39
		/* Attention : dans la gestion des évènements, comme la case à cocher est contenu dans 
40
		 * le lien Mot Cle, lorsque je clique sur la case directement, l'application :
40
		 * le lien Mot Cle, lorsque je clique sur la case directement, l'application :
41
		 * - change la valeur de la case suite à l'évènement sur la case
41
		 * - change la valeur de la case suite à l'évènement sur la case
42
		 * - rechange la valeur de la case suite à l'évènement sur le lien
42
		 * - rechange la valeur de la case suite à l'évènement sur le lien
43
		 * Il est donc impossible de changer la valeur de la case !
43
		 * Il est donc impossible de changer la valeur de la case !
44
		 * 
44
		 * 
45
		 *  La solution consiste à ajouter un changement de valeur lorsqu'on clique sur la case :
45
		 *  La solution consiste à ajouter un changement de valeur lorsqu'on clique sur la case :
46
		 */
46
		 */
47
		vue.getAjouterMotCle().addClickHandler(new ClickHandler() {
47
		vue.getAjouterMotCle().addClickHandler(new ClickHandler() {
48
			
48
			
49
			@Override
49
			@Override
50
			public void onClick(ClickEvent event) {
50
			public void onClick(ClickEvent event) {
51
				vue.toggleCb();				
51
				vue.toggleCb();			
-
 
52
				event.stopPropagation();
52
			}
53
			}
53
		});
54
		});
54
		
55
		
55
		// Ajout du changement de valeur de la case lors du clic sur la case
56
		// Ajout du changement de valeur de la case lors du clic sur la case
56
		vue.getLienMotCle().addClickHandler(new ClickHandler() {
57
		vue.getLienMotCle().addClickHandler(new ClickHandler() {
57
			
58
			
58
			@Override
59
			@Override
59
			public void onClick(ClickEvent event) {
60
			public void onClick(ClickEvent event) {
60
				vue.toggleCb();				
61
				vue.toggleCb();	
-
 
62
				event.stopPropagation();
61
			}
63
			}
62
		});
64
		});
63
		
65
		
64
	}
66
	}
65
 
67
 
66
	public boolean estAAjouter() {
68
	public boolean estAAjouter() {
67
		return vue.estAAjouter();
69
		return vue.estAAjouter();
68
	}
70
	}
69
	
71
	
70
	public void setEstAAjouter() {
72
	public void setEstAAjouter() {
71
		vue.setEstAAjouter();
73
		vue.setEstAAjouter();
72
	}
74
	}
73
	
75
	
74
	public String getTag() {
76
	public String getTag() {
75
		return this.motcle;
77
		return this.motcle;
76
	}
78
	}
77
	
79
	
78
	
80
	
79
}
81
}