New file |
0,0 → 1,80 |
package org.tela_botanica.del.client.composants.motsclesimages.propositions; |
|
import org.tela_botanica.del.client.composants.presenteur.Presenteur; |
|
import com.google.gwt.core.shared.GWT; |
import com.google.gwt.event.dom.client.ClickEvent; |
import com.google.gwt.event.dom.client.ClickHandler; |
import com.google.gwt.event.dom.client.HasClickHandlers; |
import com.google.gwt.user.client.ui.HasWidgets; |
import com.google.gwt.user.client.ui.IsWidget; |
|
public class MotClePropositionPresenteur extends Presenteur{ |
|
public interface Vue extends IsWidget { |
public void setMotCle(String motcle); |
public HasClickHandlers getLienMotCle(); |
public void toggleCb(); |
public boolean estAAjouter(); |
public void setEstAAjouter(); |
public HasClickHandlers getAjouterMotCle(); |
} |
|
private Vue vue; |
private String motcle; |
|
public MotClePropositionPresenteur(Vue vue, String motCle) { |
this.vue = vue; |
this.motcle = motCle; |
vue.setMotCle(motCle); |
} |
@Override |
public void go(HasWidgets composite) { |
composite.add(vue.asWidget()); |
gererEvenements(); |
} |
|
@Override |
protected void gererEvenements() { |
|
/* Attention : dans la gestion des évènements, comme la case à cocher est contenu dans |
* le lien Mot Cle, lorsque je clique sur la case directement, l'application : |
* - change la valeur de la case suite à l'évènement sur la case |
* - rechange la valeur de la case suite à l'évènement sur le lien |
* Il est donc impossible de changer la valeur de la case ! |
* |
* La solution consiste à ajouter un changement de valeur lorsqu'on clique sur la case : |
*/ |
vue.getAjouterMotCle().addClickHandler(new ClickHandler() { |
|
@Override |
public void onClick(ClickEvent event) { |
vue.toggleCb(); |
} |
}); |
|
// Ajout du changement de valeur de la case lors du clic sur la case |
vue.getLienMotCle().addClickHandler(new ClickHandler() { |
|
@Override |
public void onClick(ClickEvent event) { |
vue.toggleCb(); |
} |
}); |
|
} |
|
public boolean estAAjouter() { |
return vue.estAAjouter(); |
} |
|
public void setEstAAjouter() { |
vue.setEstAAjouter(); |
} |
|
public String getTag() { |
return this.motcle; |
} |
|
|
} |