Subversion Repositories eFlore/Applications.del

Compare Revisions

Ignore whitespace Rev 1467 → Rev 1535

/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();
}
}
 
}