New file |
0,0 → 1,55 |
package org.tela_botanica.del.client.composants.partageurl; |
|
import org.tela_botanica.del.client.cache.CacheClient; |
|
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 PartageUrlPresenteur { |
|
public abstract interface Vue extends IsWidget { |
public void ajouterVue(HasWidgets composite); |
public void masquerFormulaire(); |
public void afficherFormulaire(); |
public HasClickHandlers getBoutonPartage(); |
public HasClickHandlers getFermer(); |
public void setUrl(String url); |
} |
|
private Vue vue; |
|
public PartageUrlPresenteur(Vue vue) { |
this.vue = vue; |
vue.masquerFormulaire(); |
|
gererEvenements(); |
} |
|
public void gererEvenements() { |
vue.getFermer().addClickHandler(new ClickHandler() { |
|
@Override |
public void onClick(ClickEvent event) { |
vue.masquerFormulaire(); |
} |
}); |
|
vue.getBoutonPartage().addClickHandler(new ClickHandler() { |
@Override |
public void onClick(ClickEvent event) { |
String url = CacheClient.getInstance().genererUrlCourante(); |
GWT.log("URL partagée :"+url); |
vue.setUrl(url); |
vue.afficherFormulaire(); |
} |
}); |
} |
|
public void go(HasWidgets composite) { |
vue.ajouterVue(composite); |
} |
} |