/trunk/src/org/tela_botanica/del/client/vues/vueinitiale/PartagerUrlVue.java |
---|
New file |
0,0 → 1,59 |
package org.tela_botanica.del.client.vues.vueinitiale; |
import com.google.gwt.core.client.GWT; |
import com.google.gwt.event.dom.client.HasClickHandlers; |
import com.google.gwt.uibinder.client.UiBinder; |
import com.google.gwt.uibinder.client.UiField; |
import com.google.gwt.user.client.Window; |
import com.google.gwt.user.client.ui.Composite; |
import com.google.gwt.user.client.ui.HasWidgets; |
import com.google.gwt.user.client.ui.Label; |
import com.google.gwt.user.client.ui.Panel; |
import com.google.gwt.user.client.ui.TextBox; |
import com.google.gwt.user.client.ui.Widget; |
public class PartagerUrlVue extends Composite implements PartagerUrlPresenteur.Vue{ |
@UiField Panel zonePartage; |
@UiField Label fermer, partage; |
@UiField TextBox url; |
interface Binder extends UiBinder<Widget, PartagerUrlVue> { |
} |
private static Binder uiBinder = GWT.create(Binder.class); |
public PartagerUrlVue() { |
initWidget(uiBinder.createAndBindUi(this)); |
} |
@Override |
public void ajouterVue(HasWidgets composite) { |
composite.add(this.asWidget()); |
} |
@Override |
public void masquerFormulaire() { |
zonePartage.setVisible(false); |
} |
@Override |
public void afficherFormulaire() { |
zonePartage.setVisible(true); |
} |
public HasClickHandlers getFermer() { |
return fermer; |
} |
@Override |
public HasClickHandlers getBoutonPartage() { |
return partage; |
} |
public void setUrl(String url) { |
this.url.setText(url); |
} |
} |
/trunk/src/org/tela_botanica/del/client/vues/vueinitiale/VueInitiale.ui.xml |
---|
8,5 → 8,6 |
<g:HTMLPanel> |
<g:HTMLPanel ui:field="zoneIdentification"/> |
<g:HTMLPanel ui:field="zonePartagerUrl"/> |
</g:HTMLPanel> |
</ui:UiBinder> |
/trunk/src/org/tela_botanica/del/client/vues/vueinitiale/VueInitiale.java |
---|
24,7 → 24,7 |
private static Binder binder = GWT.create(Binder.class); |
@UiField Panel zoneIdentification; |
@UiField Panel zoneIdentification, zonePartagerUrl; |
// Constructeur de la vue |
public VueInitiale() { |
32,6 → 32,9 |
FormulaireIdentificationPresenteur presenteurIdentification = new FormulaireIdentificationPresenteur(new FormulaireIdentificationVue(), new UtilisateurServiceConcret()); |
presenteurIdentification.go(zoneIdentification); |
PartagerUrlPresenteur presenteurPartageUrl = new PartagerUrlPresenteur(new PartagerUrlVue()); |
presenteurPartageUrl.go(zonePartagerUrl); |
} |
} |
/trunk/src/org/tela_botanica/del/client/vues/vueinitiale/partagerUrl.css |
---|
New file |
0,0 → 1,31 |
.zonePartage { |
position: absolute; |
padding: 10px; |
margin-top: 10px; |
border: solid 2px #8eb533; |
background: white; |
padding-right:50px; |
} |
.partage { |
cursor:pointer; |
} |
.url { |
width:90%; |
margin-top:5px; |
} |
.fermer { |
background: url("./img/close.png") no-repeat scroll 39px -2px transparent; |
cursor: pointer; |
font-size: 11px; |
margin-left: 411px; |
margin-top: -108px; |
padding-bottom: 8px; |
padding-right: 53px; |
padding-top: 5px; |
position: absolute; |
width: 16px; |
} |
/trunk/src/org/tela_botanica/del/client/vues/vueinitiale/PartagerUrlVue.ui.xml |
---|
New file |
0,0 → 1,21 |
<ui:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder' |
xmlns:g='urn:import:com.google.gwt.user.client.ui' ui:generateFormat='com.google.gwt.i18n.rebind.format.PropertiesFormat' |
ui:generateKeys="com.google.gwt.i18n.rebind.keygen.MD5KeyGenerator" |
ui:generateLocales="default"> |
<ui:with field='res' type='org.tela_botanica.del.client.resources.Ressources' /> |
<ui:with field="constants" type="org.tela_botanica.del.client.i18n.Vocabulary" /> |
<ui:style src="partagerUrl.css" /> |
<g:HTMLPanel> |
<g:HTMLPanel> |
<g:Label ui:field="partage" styleName="{style.partage}">Partager cette page</g:Label> |
</g:HTMLPanel> |
<g:HTMLPanel styleName="{style.zonePartage} ombre-faible" ui:field="zonePartage"> |
<g:Label styleName="titre">Partager cette page</g:Label> |
<g:Label>Partager le résultat de votre recherche en copiant l'adresse ci-dessous :</g:Label> |
<g:TextBox styleName="{style.url}" ui:field="url"></g:TextBox> |
<g:Label ui:field="fermer" styleName="{style.fermer}">Fermer</g:Label> |
</g:HTMLPanel> |
</g:HTMLPanel> |
</ui:UiBinder> |
/trunk/src/org/tela_botanica/del/client/vues/vueinitiale/PartagerUrlPresenteur.java |
---|
New file |
0,0 → 1,81 |
package org.tela_botanica.del.client.vues.vueinitiale; |
import org.tela_botanica.del.client.cache.CacheClient; |
import org.tela_botanica.del.client.config.Config; |
import org.tela_botanica.del.client.gestionhistorique.ConstantesNavigation; |
import org.tela_botanica.del.client.modeles.InformationsRecherche; |
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.Window; |
import com.google.gwt.user.client.ui.HasWidgets; |
import com.google.gwt.user.client.ui.IsWidget; |
public class PartagerUrlPresenteur { |
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 PartagerUrlPresenteur(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 = genererUrl(); |
vue.setUrl(url); |
vue.afficherFormulaire(); |
} |
}); |
} |
public String genererUrl() { |
String url = Window.Location.getHref(); |
CacheClient cache = CacheClient.getInstance(); |
String arguments = ""; |
if (cache.getPageCourante() == ConstantesNavigation.PAGE_RECHERCHE_IMAGES) { |
InformationsRecherche infoRecherche; |
infoRecherche = cache.getInformationsRechercheImage(); |
arguments = infoRecherche.versChaineRequete() + "#" + ConstantesNavigation.PAGE_RECHERCHE_IMAGES; |
url = new Config().getUrl("del") + "?" + arguments; |
} else if (cache.getPageCourante() == ConstantesNavigation.PAGE_RECHERCHE_OBSERVATIONS) { |
InformationsRecherche infoRecherche; |
infoRecherche = cache.getInformationsRechercheObservation(); |
arguments = infoRecherche.versChaineRequete() + "#" + ConstantesNavigation.PAGE_RECHERCHE_OBSERVATIONS; |
url = new Config().getUrl("del") + "?" + arguments; |
} else { |
url = Window.Location.getHref(); |
} |
return url; |
} |
public void go(HasWidgets composite) { |
vue.ajouterVue(composite); |
} |
} |