/tags/v1.1-helium/src/org/tela_botanica/del/client/vues/identiplante/moteur/MoteurIdentiplante.css |
---|
New file |
0,0 → 1,35 |
.entrerMotClef { |
margin-bottom: 10px; |
font-size:12px |
} |
.lienProposerObservation { |
margin-left:65px; |
margin-top:10px; |
margin-bottom:10px; |
} |
.zoneStatut { |
margin-top:; |
} |
.zoneStatut span { |
padding-right:10px; |
} |
.zoneStatut label { |
padding-left:2px; |
} |
.titreRechercheObs { |
margin-top:5px; |
} |
.lienAide { |
margin-right:70px; |
padding:4px 15px; |
margin-top:9px; |
float:right; |
color:white; |
} |
/tags/v1.1-helium/src/org/tela_botanica/del/client/vues/identiplante/moteur/MoteurIdentiplanteVue.ui.xml |
---|
New file |
0,0 → 1,28 |
<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="MoteurIdentiplante.css" /> |
<g:HTMLPanel styleName="limiteMax"> |
<g:HTMLPanel styleName="limiteMax importance1"> |
<g:Label text="{constants.rechercherObservation}" styleName="titre {style.titreRechercheObs}" /> |
<g:Label text="{constants.entrerMotClef}" styleName="gris {style.entrerMotClef}" /> |
<g:HTMLPanel ui:field="zoneRecherche" /> |
</g:HTMLPanel> |
<g:HTMLPanel styleName="zone-onglets"> |
<g:Label styleName="onglet onglet-actif" text="Tout" ui:field="ongletTout"></g:Label> |
<g:Label styleName="onglet" text="A déterminer" ui:field="ongletADeterminer"></g:Label> |
<g:Label styleName="onglet" text="En discussion" ui:field="ongletEnDiscussion"></g:Label> |
<!-- terme Validées/Vérifiées sujet à changement, "Vérifiées" en texte, "Validées" partout ailleurs dans le code --> |
<g:Label styleName="onglet" text="Vérifiées" ui:field="ongletValidees"></g:Label> |
</g:HTMLPanel> |
<g:HTMLPanel> |
<g:HTMLPanel ui:field="zoneResultats" /> |
</g:HTMLPanel> |
</g:HTMLPanel> |
</ui:UiBinder> |
/tags/v1.1-helium/src/org/tela_botanica/del/client/vues/identiplante/moteur/MoteurIdentiplantePresenteur.java |
---|
New file |
0,0 → 1,128 |
package org.tela_botanica.del.client.vues.identiplante.moteur; |
import org.tela_botanica.del.client.cache.CacheClient; |
import org.tela_botanica.del.client.composants.moteurrecherche.MoteurRecherchePresenteur; |
import org.tela_botanica.del.client.composants.moteurrecherche.MoteurRechercheVue; |
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.config.Config; |
import org.tela_botanica.del.client.modeles.ModeRecherche; |
import org.tela_botanica.del.client.services.rest.ObservationService; |
import org.tela_botanica.del.client.services.rest.ObservationServiceConcret; |
import org.tela_botanica.del.client.vues.identiplante.resultats.ResultatsIdentiplantePresenteur; |
import org.tela_botanica.del.client.vues.identiplante.resultats.ResultatsIdentiplanteVue; |
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; |
import com.google.gwt.user.client.ui.Panel; |
public class MoteurIdentiplantePresenteur extends Presenteur { |
public interface Vue extends IsWidget { |
public HasWidgets getZoneRecherche(); |
public HasWidgets getZoneResultats(); |
public HasClickHandlers getOngletEnDiscussion(); |
public HasClickHandlers getOngletADeterminer(); |
public HasClickHandlers getOngletTout(); |
public HasClickHandlers getOngletValidees(); |
public void setOngletADeterminerActif(); |
public void setOngletToutActif(); |
public void setOngletEnDiscussionActif(); |
public void setOngletValideesActif(); |
} |
private Vue vue; |
public MoteurIdentiplantePresenteur(ObservationService serviceObs, Vue vue) { |
this.vue = vue; |
} |
public void go(HasWidgets composite) { |
composite.add(vue.asWidget()); |
ajouterMoteurRechercheAvancee(); |
gererEvenements(); |
} |
protected void ajouterMoteurRechercheAvancee() { |
MoteurRecherchePresenteur presenteur = new MoteurRecherchePresenteur(new MoteurRechercheVue("") { |
}, ModeRecherche.MODE_OBSERVATION) { |
@Override |
public void lancerRecherche() { |
chercherObservations(); |
} |
}; |
presenteur.go(vue.getZoneRecherche()); |
} |
public void chercherObservations() { |
vue.getZoneResultats().clear(); |
CacheClient.getInstance().mettreAjourUrlCourante(); |
new ResultatsIdentiplantePresenteur(new ObservationServiceConcret(), new ResultatsIdentiplanteVue()).go(vue.getZoneResultats()); |
} |
protected void gererEvenements() { |
// Gestion du clic sur les onglets |
vue.getOngletTout().addClickHandler(new ClickHandler() { |
@Override |
public void onClick(ClickEvent event) { |
CacheClient.getInstance().setFiltreStatut("tous"); |
CacheClient.getInstance().setPageCouranteRechercheObservations(1); |
chercherObservations(); |
vue.setOngletToutActif(); |
} |
}); |
vue.getOngletADeterminer().addClickHandler(new ClickHandler() { |
@Override |
public void onClick(ClickEvent event) { |
CacheClient.getInstance().setFiltreStatut("adeterminer"); |
CacheClient.getInstance().setPageCouranteRechercheObservations(1); |
chercherObservations(); |
vue.setOngletADeterminerActif(); |
} |
}); |
vue.getOngletEnDiscussion().addClickHandler(new ClickHandler() { |
@Override |
public void onClick(ClickEvent event) { |
CacheClient.getInstance().setFiltreStatut("endiscussion"); |
CacheClient.getInstance().setPageCouranteRechercheObservations(1); |
chercherObservations(); |
vue.setOngletEnDiscussionActif(); |
} |
}); |
vue.getOngletValidees().addClickHandler(new ClickHandler() { |
@Override |
public void onClick(ClickEvent event) { |
CacheClient.getInstance().setFiltreStatut("validees"); |
CacheClient.getInstance().setPageCouranteRechercheObservations(1); |
chercherObservations(); |
vue.setOngletValideesActif(); |
} |
}); |
} |
} |
/tags/v1.1-helium/src/org/tela_botanica/del/client/vues/identiplante/moteur/MoteurIdentiplanteVue.java |
---|
New file |
0,0 → 1,113 |
package org.tela_botanica.del.client.vues.identiplante.moteur; |
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.i18n.I18n; |
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.ui.CheckBox; |
import com.google.gwt.user.client.ui.Composite; |
import com.google.gwt.user.client.ui.HTML; |
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.RadioButton; |
import com.google.gwt.user.client.ui.Widget; |
public class MoteurIdentiplanteVue extends Composite implements MoteurIdentiplantePresenteur.Vue { |
// Gestion d'UiBinder |
interface Binder extends UiBinder<Widget, MoteurIdentiplanteVue> { |
} |
private static Binder binder = GWT.create(Binder.class); |
@UiField |
Panel zoneRecherche, zoneResultats; |
@UiField |
Label ongletTout, ongletADeterminer, ongletEnDiscussion, ongletValidees; |
public HasWidgets getZoneRecherche() { |
return zoneRecherche; |
} |
// Constructeur de la vue |
public MoteurIdentiplanteVue() { |
initWidget(binder.createAndBindUi(this)); |
mettreAJourOngletEnFonctionDuCache(); |
} |
public Panel getZoneResultats() { |
return zoneResultats; |
} |
@Override |
public HasClickHandlers getOngletEnDiscussion() { |
return ongletEnDiscussion; |
} |
@Override |
public HasClickHandlers getOngletADeterminer() { |
return ongletADeterminer; |
} |
@Override |
public HasClickHandlers getOngletTout() { |
return ongletTout; |
} |
@Override |
public HasClickHandlers getOngletValidees() { |
return ongletValidees; |
} |
@Override |
public void setOngletADeterminerActif() { |
nettoyerOngletsActifs(); |
ongletADeterminer.addStyleName("onglet-actif"); |
} |
@Override |
public void setOngletToutActif() { |
nettoyerOngletsActifs(); |
ongletTout.addStyleName("onglet-actif"); |
} |
@Override |
public void setOngletEnDiscussionActif() { |
nettoyerOngletsActifs(); |
ongletEnDiscussion.addStyleName("onglet-actif"); |
} |
@Override |
public void setOngletValideesActif() { |
nettoyerOngletsActifs(); |
ongletValidees.addStyleName("onglet-actif"); |
} |
public void nettoyerOngletsActifs() { |
ongletTout.removeStyleName("onglet-actif"); |
ongletADeterminer.removeStyleName("onglet-actif"); |
ongletEnDiscussion.removeStyleName("onglet-actif"); |
ongletValidees.removeStyleName("onglet-actif"); |
} |
public void mettreAJourOngletEnFonctionDuCache() { |
String statut = CacheClient.getInstance().getFiltreStatut(); |
if (statut == null) { |
setOngletToutActif(); |
} else if (statut.equals("adeterminer")) { |
setOngletADeterminerActif(); |
} else if (statut.equals("endiscussion")) { |
setOngletEnDiscussionActif(); |
} else if (statut.equals("validees")) { |
setOngletValideesActif(); |
} |
} |
} |