Subversion Repositories eFlore/Applications.del

Compare Revisions

Ignore whitespace Rev 1195 → Rev 1196

/trunk/src/org/tela_botanica/del/client/vues/identiplante/moteur/MoteurIdentiplante.css
New file
0,0 → 1,39
.entrerMotClef {
margin-bottom: 10px;
font-size:12px
}
 
.lienProposerObservation {
margin-left:65px;
margin-top:10px;
margin-bottom:10px;
}
.chapeau {
min-height:70px;
}
 
.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;
}
/trunk/src/org/tela_botanica/del/client/vues/identiplante/moteur/MoteurIdentiplanteVue.ui.xml
New file
0,0 → 1,37
<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>
<g:HTML styleName="{style.chapeau}"><ui:msg key="chapeauObservation">Cet espace vous permet d'échanger sur la détermination d'espèces.
Vous ne parvenez pas à déterminer une plante ? Soumettez-la aux membres du réseau.
Vous avez relevé des erreurs dans les images soumises par le réseau ? Postez un commentaire ou proposez une nouvelle détermination.</ui:msg></g:HTML>
<g:Label ui:field="ajouterObservation" text="{constants.ajouterObservation}" title="{constants.legendeAjouterObservation}" styleName="acceder-outil {style.lienProposerObservation}"/>
<g:Anchor target="_blank" href="{constants.lienAideIdentiplante}" ui:field="aide" text="{constants.accesAide}" title="{constants.legendeAjouterObservation}" styleName="acceder-aide {style.lienAide}"/>
<g:HTMLPanel ui:field="zonePartageUrl"></g:HTMLPanel>
</g:HTMLPanel>
<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:HorizontalPanel styleName="{style.zoneStatut}">
<g:Label>Filtrer par statut : </g:Label>
<g:CheckBox ui:field="radioTout" text="Tout" name="statut" checked="true" formValue="tout"></g:CheckBox>
<g:CheckBox ui:field="radioDeterminer" text="à déterminer" name="statut" formValue="adeterminer"></g:CheckBox>
<g:CheckBox ui:field="radioDiscussion" text="en discussion" name="statut" formValue="endiscussion"></g:CheckBox>
</g:HorizontalPanel>
</g:HTMLPanel>
 
<g:HTMLPanel>
<g:HTMLPanel ui:field="zoneResultats" />
</g:HTMLPanel>
</g:HTMLPanel>
</ui:UiBinder>
/trunk/src/org/tela_botanica/del/client/vues/identiplante/moteur/MoteurIdentiplantePresenteur.java
New file
0,0 → 1,104
package org.tela_botanica.del.client.vues.identiplante.moteur;
 
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();
 
HasClickHandlers getLienAjoutObservation();
public String getValeurRadioStatut();
public HasClickHandlers getRadioADeterminer();
public HasClickHandlers getRadioEnDiscussion();
public void decocherRadioTout();
public Panel getZonePartageUrl();
 
}
 
private Vue vue;
 
public MoteurIdentiplantePresenteur(ObservationService serviceObs, Vue vue) {
this.vue = vue;
}
 
public void go(HasWidgets composite) {
 
composite.add(vue.asWidget());
ajouterMoteurRechercheAvancee();
PartageUrlPresenteur presenteurPartageUrl = new PartageUrlPresenteur(new PartageUrlVue());
presenteurPartageUrl.go(vue.getZonePartageUrl());
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();
new ResultatsIdentiplantePresenteur(new ObservationServiceConcret(), new ResultatsIdentiplanteVue(), vue.getValeurRadioStatut()).go(vue.getZoneResultats());
}
 
protected void gererEvenements() {
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);
}
});
vue.getRadioADeterminer().addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
vue.decocherRadioTout();
}
});
vue.getRadioEnDiscussion().addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
vue.decocherRadioTout();
}
});
}
 
}
/trunk/src/org/tela_botanica/del/client/vues/identiplante/moteur/MoteurIdentiplanteVue.java
New file
0,0 → 1,88
package org.tela_botanica.del.client.vues.identiplante.moteur;
 
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, zonePartageUrl;
 
@UiField
Label ajouterObservation;
 
@UiField
CheckBox radioTout, radioDeterminer, radioDiscussion;
 
public HasWidgets getZoneRecherche() {
return zoneRecherche;
}
public Panel getZonePartageUrl() {
return zonePartageUrl;
}
// Constructeur de la vue
public MoteurIdentiplanteVue() {
initWidget(binder.createAndBindUi(this));
}
 
public Panel getZoneResultats() {
return zoneResultats;
}
@Override
public HasClickHandlers getLienAjoutObservation() {
return ajouterObservation;
}
public String getValeurRadioStatut() {
String valeurStatut = "";
if (radioDeterminer.getValue()) {
valeurStatut += radioDeterminer.getFormValue() + ";";
}
 
if (radioDiscussion.getValue()) {
valeurStatut += radioDiscussion.getFormValue() + ";";
}
return valeurStatut;
}
 
@Override
public HasClickHandlers getRadioADeterminer() {
return radioDeterminer;
}
 
@Override
public HasClickHandlers getRadioEnDiscussion() {
return radioDiscussion;
}
 
@Override
public void decocherRadioTout() {
radioTout.setChecked(false);
}
 
}
/trunk/src/org/tela_botanica/del/client/vues/identiplante/moteur/MoteurIdentiplanteVueBinderImplGenMessages.properties
New file
0,0 → 1,12
# Generated from org.tela_botanica.del.client.vues.rechercheobservations.moteur.MoteurRechercheObservationsVueBinderImplGenMessages
# for locale fr
 
chapeauObservation=<ul class="traitTela">\
<li>Cet espace vous permet d''échanger sur la détermination d''espèces.</li> \
<li>Vous ne parvenez pas à déterminer une plante ? <br />Soumettez-la aux membres du réseau.</li> \
<li>Vous avez relevé des erreurs dans les images soumises par le réseau ? <br />Postez un commentaire ou proposez une nouvelle détermination.</li> \
</ul>