Subversion Repositories eFlore/Applications.del

Rev

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

Rev 1151 Rev 1152
1
package org.tela_botanica.del.client.composants.motsclesimages.formulairesaisiemotclesimages;
1
package org.tela_botanica.del.client.composants.motsclesimages.formulairesaisiemotclesimages;
2
 
2
 
3
import org.tela_botanica.del.client.navigation.evenement.BusEvenementiel;
3
import org.tela_botanica.del.client.navigation.evenement.BusEvenementiel;
4
import org.tela_botanica.del.client.navigation.evenement.ajoutmotcleimage.EvenementAjoutMotCleImage;
4
import org.tela_botanica.del.client.navigation.evenement.ajoutmotcleimage.EvenementAjoutMotCleImage;
5
import org.tela_botanica.del.client.services.rest.MotsClesService;
5
import org.tela_botanica.del.client.services.rest.MotsClesService;
6
import org.tela_botanica.del.client.services.rest.async.AjoutMotsClesImageCallBack;
6
import org.tela_botanica.del.client.services.rest.async.AjoutMotsClesImageCallBack;
7
 
7
 
8
import com.google.gwt.event.dom.client.ClickEvent;
8
import com.google.gwt.event.dom.client.ClickEvent;
9
import com.google.gwt.event.dom.client.ClickHandler;
9
import com.google.gwt.event.dom.client.ClickHandler;
10
import com.google.gwt.event.dom.client.HasClickHandlers;
10
import com.google.gwt.event.dom.client.HasClickHandlers;
11
import com.google.gwt.event.dom.client.HasKeyPressHandlers;
11
import com.google.gwt.event.dom.client.HasKeyPressHandlers;
12
import com.google.gwt.event.dom.client.KeyCodes;
12
import com.google.gwt.event.dom.client.KeyCodes;
13
import com.google.gwt.event.dom.client.KeyPressEvent;
13
import com.google.gwt.event.dom.client.KeyPressEvent;
14
import com.google.gwt.event.dom.client.KeyPressHandler;
14
import com.google.gwt.event.dom.client.KeyPressHandler;
15
import com.google.gwt.user.client.ui.HasText;
15
import com.google.gwt.user.client.ui.HasText;
16
import com.google.gwt.user.client.ui.HasWidgets;
16
import com.google.gwt.user.client.ui.HasWidgets;
17
import com.google.gwt.user.client.ui.IsWidget;
17
import com.google.gwt.user.client.ui.IsWidget;
18
 
18
 
19
public class FormulaireSaisieMotsClesImagePresenteur {
19
public class FormulaireSaisieMotsClesImagePresenteur {
20
	
20
	
21
	private MotsClesService motsClesService;
21
	private MotsClesService motsClesService;
22
	private String idImage;
22
	private String idImage;
23
 
23
 
24
	public interface Vue extends IsWidget {
24
	public interface Vue extends IsWidget {
25
		public HasClickHandlers getBoutonValider();
25
		public HasClickHandlers getBoutonValider();
26
		public HasText getSaisieMotsCles();
26
		public HasText getSaisieMotsCles();
27
		public HasKeyPressHandlers getSaisieMotsClesHasKeyPressHandlers();	
27
		public HasKeyPressHandlers getSaisieMotsClesHasKeyPressHandlers();
-
 
28
		public void focuserChampSaisie();	
28
	}
29
	}
29
 
30
 
30
	private Vue vue;
31
	private Vue vue;
31
	
32
	
32
	public FormulaireSaisieMotsClesImagePresenteur(String idImage, MotsClesService motsClesService, Vue vue) {
33
	public FormulaireSaisieMotsClesImagePresenteur(String idImage, MotsClesService motsClesService, Vue vue) {
33
		this.vue = vue;
34
		this.vue = vue;
34
		this.motsClesService = motsClesService;
35
		this.motsClesService = motsClesService;
35
		this.idImage = idImage;
36
		this.idImage = idImage;
36
		gererEvenements();
37
		gererEvenements();
37
	}
38
	}
38
	
39
	
39
	public void go(HasWidgets composite) {
40
	public void go(HasWidgets composite) {
40
		composite.add(vue.asWidget());
41
		composite.add(vue.asWidget());
41
	}
42
	}
42
	
43
	
43
	private void gererEvenements() {
44
	private void gererEvenements() {
44
		vue.getBoutonValider().addClickHandler(new ClickHandler() {		
45
		vue.getBoutonValider().addClickHandler(new ClickHandler() {		
45
			@Override
46
			@Override
46
			public void onClick(ClickEvent event) {
47
			public void onClick(ClickEvent event) {
47
				validerSaisie();
48
				validerSaisie();
48
			}
49
			}
49
		});
50
		});
50
		
51
		
51
		vue.getSaisieMotsClesHasKeyPressHandlers().addKeyPressHandler(new KeyPressHandler() {
52
		vue.getSaisieMotsClesHasKeyPressHandlers().addKeyPressHandler(new KeyPressHandler() {
52
			public void onKeyPress(KeyPressEvent event) {
53
			public void onKeyPress(KeyPressEvent event) {
53
				if (event.getNativeEvent().getKeyCode() == KeyCodes.KEY_ENTER) {
54
				if (event.getNativeEvent().getKeyCode() == KeyCodes.KEY_ENTER) {
54
					validerSaisie();
55
					validerSaisie();
55
				}
56
				}
56
			}
57
			}
57
		});
58
		});
58
	}
59
	}
59
	
60
	
60
	private void validerSaisie() {
61
	private void validerSaisie() {
61
		if(vue.getSaisieMotsCles().getText() != null) {
62
		String texte = vue.getSaisieMotsCles().getText();
-
 
63
		if(texte != null && !texte.isEmpty()) {
62
			motsClesService.ajouterMotCleImage(idImage, vue.getSaisieMotsCles().getText(), new AjoutMotsClesImageCallBack() {				
64
			motsClesService.ajouterMotCleImage(idImage, vue.getSaisieMotsCles().getText(), new AjoutMotsClesImageCallBack() {				
63
				@Override
65
				@Override
64
				public void surRetour(Void objetRetour) {
66
				public void surRetour(Void objetRetour) {
65
					EvenementAjoutMotCleImage event = new EvenementAjoutMotCleImage(idImage, vue.getSaisieMotsCles().getText());
67
					EvenementAjoutMotCleImage event = new EvenementAjoutMotCleImage(idImage, vue.getSaisieMotsCles().getText());
66
					BusEvenementiel.getInstance().fireEvent(event);
68
					BusEvenementiel.getInstance().fireEvent(event);
67
				}
69
				}
68
			});
70
			});
69
		}
71
		}
70
	}
72
	}
71
 
73
 
72
	public void viderChampSaisie() {
74
	public void viderChampSaisie() {
73
		vue.getSaisieMotsCles().setText("");
75
		vue.getSaisieMotsCles().setText("");
74
	}
76
	}
-
 
77
 
-
 
78
	public void focuserChampSaisie() {
-
 
79
		vue.focuserChampSaisie();
-
 
80
	}
75
}
81
}