/branches/v1.11-magnesium/src/org/tela_botanica/del/client/vues/entete/EnteteVue.ui.xml |
---|
New file |
0,0 → 1,13 |
<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: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="entete.css" /> |
<g:HTMLPanel> |
<g:HTMLPanel ui:field="zoneIdentification" styleName="{style.zoneIdentification}"></g:HTMLPanel> |
<g:HTMLPanel ui:field="zoneLiens" styleName="{style.zoneLiens}"></g:HTMLPanel> |
</g:HTMLPanel> |
</ui:UiBinder> |
/branches/v1.11-magnesium/src/org/tela_botanica/del/client/vues/entete/EntetePresenteur.java |
---|
New file |
0,0 → 1,53 |
package org.tela_botanica.del.client.vues.entete; |
import org.tela_botanica.del.client.composants.formulaires.identification.FormulaireIdentificationPresenteur; |
import org.tela_botanica.del.client.composants.formulaires.identification.FormulaireIdentificationVue; |
import org.tela_botanica.del.client.composants.presenteur.Presenteur; |
import org.tela_botanica.del.client.services.rest.UtilisateurServiceConcret; |
import org.tela_botanica.del.client.vues.entete.liens.LiensPresenteur; |
import org.tela_botanica.del.client.vues.entete.liens.LiensVue; |
import com.google.gwt.user.client.ui.HasWidgets; |
import com.google.gwt.user.client.ui.IsWidget; |
import com.google.gwt.user.client.ui.Widget; |
/** |
* Classe pour le header de l'application affichant le formulaire de connexion, le titre, les logos |
* */ |
public class EntetePresenteur extends Presenteur { |
/** |
* La vue du header |
* */ |
public interface Vue extends IsWidget { |
public HasWidgets getZoneIdentification(); |
public HasWidgets getZoneLiens(); |
} |
private Vue vue; |
public EntetePresenteur(Vue vue) { |
this.vue = vue; |
} |
@Override |
public void go(HasWidgets composite) { |
composite.add(vue.asWidget()); |
//Ajout de la zone identification |
FormulaireIdentificationPresenteur identification = new FormulaireIdentificationPresenteur(new FormulaireIdentificationVue(), new UtilisateurServiceConcret()); |
identification.go(vue.getZoneIdentification()); |
LiensPresenteur liens = new LiensPresenteur(new LiensVue()); |
liens.go(vue.getZoneLiens()); |
} |
@Override |
protected void gererEvenements() { |
// TODO Auto-generated method stub |
} |
public void ajouterLien(Widget lien) { |
this.vue.getZoneLiens().add(lien); |
} |
} |
/branches/v1.11-magnesium/src/org/tela_botanica/del/client/vues/entete/EnteteVue.java |
---|
New file |
0,0 → 1,37 |
package org.tela_botanica.del.client.vues.entete; |
import com.google.gwt.core.client.GWT; |
import com.google.gwt.uibinder.client.UiBinder; |
import com.google.gwt.uibinder.client.UiField; |
import com.google.gwt.user.client.ui.Composite; |
import com.google.gwt.user.client.ui.HasWidgets; |
import com.google.gwt.user.client.ui.Panel; |
import com.google.gwt.user.client.ui.Widget; |
import org.tela_botanica.del.client.vues.entete.EntetePresenteur; |
public class EnteteVue extends Composite implements EntetePresenteur.Vue { |
// Gestion d'UiBinder |
interface Binder extends UiBinder<Widget, EnteteVue> { |
} |
private static Binder binder = GWT.create(Binder.class); |
@UiField |
Panel zoneIdentification, zoneLiens; |
public EnteteVue() { |
initWidget(binder.createAndBindUi(this)); |
} |
@Override |
public HasWidgets getZoneIdentification() { |
return zoneIdentification; |
} |
@Override |
public HasWidgets getZoneLiens() { |
return zoneLiens; |
} |
} |
/branches/v1.11-magnesium/src/org/tela_botanica/del/client/vues/entete/liens/LiensVue.ui.xml |
---|
New file |
0,0 → 1,32 |
<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: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="liens.css" /> |
<g:HTMLPanel> |
<!-- Liens identiplante --> |
<g:HTMLPanel styleName="limiteMax"> |
<!-- picto --> |
<g:Anchor target="_blank" href="{constants.lienAidePictoflora}" ui:field="aidePictoflora" |
text="{constants.accesAide}" title="{constants.accesAide}" styleName="acceder-aide {style.aide}"/> |
<!-- identiplante --> |
<g:Anchor ui:field="ajouterObservation" text="{constants.ajouterObservation}" |
title="{constants.legendeAjouterObservation}" styleName="acceder-outil" |
href="{constants.lienAppliSaisie}" target="_blank"/> |
<g:Anchor href="{constants.lienAideIdentiplante}" ui:field="aide" |
text="{constants.accesAide}" title="{constants.accesAide}" |
styleName="acceder-aide {style.aide}" target="_blank" /> |
<!-- Commun --> |
<g:HTMLPanel ui:field="zonePartageUrl" styleName="{style.zonePartageUrl}"></g:HTMLPanel> |
<g:Anchor ui:field="participerProjet" text="Participer au projet" |
title="{constants.legendeAjouterObservation}" |
styleName="acceder-outil droite {style.boutonParticiper}" target="_blank"/> |
</g:HTMLPanel> |
</g:HTMLPanel> |
</ui:UiBinder> |
/branches/v1.11-magnesium/src/org/tela_botanica/del/client/vues/entete/liens/LiensPresenteur.java |
---|
New file |
0,0 → 1,73 |
package org.tela_botanica.del.client.vues.entete.liens; |
import org.tela_botanica.del.client.cache.CacheClient; |
import org.tela_botanica.del.client.composants.partageurl.PartageUrlPresenteur; |
import org.tela_botanica.del.client.composants.partageurl.PartageUrlVue; |
import org.tela_botanica.del.client.composants.presenteur.Presenteur; |
import org.tela_botanica.del.client.modeles.ProtocoleServiceResultat; |
import org.tela_botanica.del.client.services.rest.ProtocoleServiceConcret; |
import org.tela_botanica.del.client.services.rest.async.ProtocolesCallback; |
import com.google.gwt.user.client.ui.HasWidgets; |
import com.google.gwt.user.client.ui.IsWidget; |
public class LiensPresenteur extends Presenteur { |
public interface Vue extends IsWidget { |
public HasWidgets getZonePartageUrl(); |
} |
private Vue vue; |
public LiensPresenteur(Vue vue) { |
this.vue = vue; |
} |
public void go(HasWidgets composite) { |
composite.add(vue.asWidget()); |
PartageUrlPresenteur partageUrl = new PartageUrlPresenteur(new PartageUrlVue()); |
partageUrl.go(vue.getZonePartageUrl()); |
gererProtocoles(); |
} |
protected void gererProtocoles() { |
//FIXME : ne doit pas etre concret ici ? |
ProtocoleServiceConcret protocoleService = new ProtocoleServiceConcret(); |
if (CacheClient.getInstance().getProtocoleCourant() == null) { |
if (CacheClient.getInstance().getListeProtocoles() == null || CacheClient.getInstance().getListeProtocoles().size() == 0) { |
protocoleService.getProtocoles(new ProtocolesCallback() { |
@Override |
public void surRetour(ProtocoleServiceResultat protocolesRecus) { |
CacheClient.getInstance().setListeProtocoles(protocolesRecus.getProtocoles()); |
if (protocolesRecus.getProtocoles().size() > 0) { |
// 1 est censé etre "Capitalisation d'images" |
CacheClient.getInstance().setProtocoleCourant(protocolesRecus.getProtocoles().get(1)); |
} else { |
// TODO afficher message indiquant que la liste des |
// protocoles de votes n'est pas fourni |
} |
} |
}); |
} else { |
CacheClient.getInstance().setProtocoleCourant(CacheClient.getInstance().getListeProtocoles().get(0)); |
} |
} |
} |
@Override |
protected void gererEvenements() { |
// TODO Auto-generated method stub |
/* |
* vue.getLienAjoutObservation().addClickHandler(new ClickHandler() { |
@Override |
public void onClick(ClickEvent event) { |
Config config = new Config(); |
Window.open(config.getUrl("applisaisie"), "Saisie d'une nouvelle observation", null); |
} |
}); |
*/ |
} |
} |
/branches/v1.11-magnesium/src/org/tela_botanica/del/client/vues/entete/liens/LiensVue.java |
---|
New file |
0,0 → 1,79 |
package org.tela_botanica.del.client.vues.entete.liens; |
import org.tela_botanica.del.client.cache.CacheClient; |
import org.tela_botanica.del.client.config.Config; |
import org.tela_botanica.del.client.i18n.I18n; |
import org.tela_botanica.del.client.navigation.evenement.BusEvenementiel; |
import org.tela_botanica.del.client.navigation.evenement.changementprotocole.EvenementChangementProtocole; |
import org.tela_botanica.del.client.navigation.evenement.changementprotocole.GestionnaireEvenementChangementProtocole; |
import com.google.gwt.core.client.GWT; |
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.Anchor; |
import com.google.gwt.user.client.ui.Composite; |
import com.google.gwt.user.client.ui.HasWidgets; |
import com.google.gwt.user.client.ui.Panel; |
import com.google.gwt.user.client.ui.Widget; |
public class LiensVue extends Composite implements LiensPresenteur.Vue { |
// Gestion d'UiBinder |
interface Binder extends UiBinder<Widget, LiensVue> {} |
private static Binder binder = GWT.create(Binder.class); |
@UiField Panel zonePartageUrl; |
@UiField Anchor ajouterObservation, aidePictoflora, aide, participerProjet; |
public LiensVue() { |
initWidget(binder.createAndBindUi(this)); |
gererAffichageEnFonctionDeLaNavigation(); |
gererEvenements(); |
} |
public HasWidgets getZonePartageUrl() { |
return zonePartageUrl; |
} |
public void gererAffichageEnFonctionDeLaNavigation() { |
String urlCourante = Window.Location.getHref(); |
Config config = new Config(); |
String urlAppliImg = config.getUrl("pictoflora"); |
if (urlCourante.contains(urlAppliImg)) { |
//SI PICTO |
ajouterObservation.setVisible(false); |
aide.setVisible(false); |
setLienSaisieProjet(); |
} else { |
aidePictoflora.setVisible(false); |
participerProjet.setVisible(false); |
} |
} |
private void setLienSaisieProjet() { |
participerProjet.setHref(formaterLienSaisieProjetUrl()); |
participerProjet.setTitle(I18n.getVocabulary().legendeAjouterImage()); |
} |
private String formaterLienSaisieProjetUrl() { |
String urlSaisieProjet = I18n.getVocabulary().lienAppliSaisie(); |
if(CacheClient.getInstance().getProtocoleCourant() != null) { |
String tagProtocole = CacheClient.getInstance().getProtocoleCourant().getTag(); |
urlSaisieProjet = I18n.getVocabulary().lienAppliSaisieProjetUrl(); |
urlSaisieProjet = urlSaisieProjet.replace("{projet}", tagProtocole); |
} |
return urlSaisieProjet; |
} |
private void gererEvenements() { |
BusEvenementiel.getInstance().addHandler(EvenementChangementProtocole.TYPE, new GestionnaireEvenementChangementProtocole() { |
@Override |
public void onChangementProtocole(EvenementChangementProtocole event) { |
setLienSaisieProjet(); |
} |
}); |
} |
} |
/branches/v1.11-magnesium/src/org/tela_botanica/del/client/vues/entete/liens/liens.css |
---|
New file |
0,0 → 1,14 |
.zonePartageUrl { |
display:inline-block; |
width:150px; |
float:right; |
} |
.aide { |
float:right; |
margin-left:5px; |
} |
.boutonParticiper { |
margin-right:5px; |
} |
/branches/v1.11-magnesium/src/org/tela_botanica/del/client/vues/entete/entete.css |
---|
New file |
0,0 → 1,13 |
.zoneIdentification { |
float: right; |
height: 129px; |
width: 45%; |
background: url("./img/carre_orange.png") no-repeat scroll -0px -8px transparent; |
text-align:right; |
padding-left:27px; |
} |
.zoneLiens { |
clear: both; |
height: 40px; |
padding:10px 65px; |
} |