Subversion Repositories eFlore/Applications.del

Compare Revisions

Ignore whitespace Rev 1119 → Rev 1120

/trunk/src/org/tela_botanica/del/client/config/Config.java
38,6 → 38,7
urls.put("bonnierPda", configuration.get("bonnierPdaUrl"));
urls.put("ouvragesFlore", configuration.get("ouvragesFloreUrl"));
urls.put("clesDetermination", configuration.get("clesDeterminationUrl"));
urls.put("rss", configuration.get("rssUrl"));
}
/**
/trunk/src/org/tela_botanica/del/client/composants/moteurrecherche/MoteurRecherchePresenteur.java
4,6 → 4,8
import org.tela_botanica.del.client.composants.formulaires.autocompletion.AutoCompletionComboBoxPresenteur;
import org.tela_botanica.del.client.composants.formulaires.autocompletion.AutoCompletionComboBoxVue;
import org.tela_botanica.del.client.composants.presenteur.Presenteur;
import org.tela_botanica.del.client.composants.rss.RssPresenteur;
import org.tela_botanica.del.client.composants.rss.RssVue;
import org.tela_botanica.del.client.config.Config;
import org.tela_botanica.del.client.modeles.InformationsRecherche;
import org.tela_botanica.del.client.modeles.ModeRecherche;
89,6 → 91,8
public HasKeyPressHandlers getChampsDepartement();
public HasKeyPressHandlers getChampsContientMots();
public HasWidgets getZoneRss();
 
}
 
95,7 → 99,8
private Vue vue;
private Config config;
private ModeRecherche modeRecherche;
 
private RssPresenteur presenteurRss;
public enum TypeMoteur {
SIMPLE, AVANCEE
};
116,6 → 121,10
}
 
private void initialiser(Vue vue, ModeRecherche mode, Config configuration) {
this.presenteurRss = new RssPresenteur(new RssVue(), CacheClient.getInstance().getInformationsRechercheObservation(), "S'abonner au flux rss des résultats de cette recherche");
presenteurRss.go(vue.getZoneRss());
this.vue = vue;
setMode(mode);
this.config = configuration;
352,6 → 361,7
vue.chargerValeursRecherchePrecedente(informationsRecherche);
}
lancerRecherche();
presenteurRss.genererLien(informationsRecherche);
}
 
public abstract void lancerRecherche();
/trunk/src/org/tela_botanica/del/client/composants/moteurrecherche/MoteurRechercheVue.java
25,7 → 25,7
private String labelRecherche = "";
 
@UiField
Panel rechercheAvancee, taxon, commune;
Panel rechercheAvancee, taxon, commune, zoneRss;
@UiField
Label lienRechercheAvancee, recherchePrecedente;
@UiField
233,4 → 233,8
public HasKeyPressHandlers getChampsContientMots() {
return contientMots;
}
public HasWidgets getZoneRss() {
return zoneRss;
}
}
/trunk/src/org/tela_botanica/del/client/composants/moteurrecherche/MoteurRecherche.css
77,4 → 77,11
 
.zoneRecherche {
margin-bottom:30px;
}
.zoneRss {
float:right;
margin-top:5px;
}
.zoneRss a {
border:none;
}
/trunk/src/org/tela_botanica/del/client/composants/moteurrecherche/MoteurRechercheVue.ui.xml
65,7 → 65,11
<g:Button styleName="{style.boutonRecherche} {style.rechercherAvance}" ui:field="boutonRechercheAvancee" text="{constants.rechercher}"></g:Button>
<g:HTMLPanel styleName="nettoyage" />
</g:HTMLPanel>
<g:HTMLPanel styleName="droite">
<g:HTMLPanel ui:field="zoneRss" styleName="{style.zoneRss}"></g:HTMLPanel>
</g:HTMLPanel>
<g:Label ui:field="recherchePrecedente" styleName="{style.recherchePrecedente}" />
<g:HTMLPanel ui:field="zonePagination" />
</g:HTMLPanel>
</ui:UiBinder>
/trunk/src/org/tela_botanica/del/client/composants/rss/RssVue.ui.xml
New file
0,0 → 1,11
<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="constants" type="org.tela_botanica.del.client.i18n.Vocabulary" />
 
<g:HTMLPanel>
<g:HTML ui:field="lien" styleName="lienRss"> LIEN RSS ></g:HTML>
</g:HTMLPanel>
</ui:UiBinder>
/trunk/src/org/tela_botanica/del/client/composants/rss/RssPresenteur.java
New file
0,0 → 1,52
package org.tela_botanica.del.client.composants.rss;
 
import org.tela_botanica.del.client.composants.presenteur.Presenteur;
import org.tela_botanica.del.client.config.Config;
import org.tela_botanica.del.client.modeles.InformationsRecherche;
 
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 RssPresenteur extends Presenteur {
 
// Définition de la vue
public abstract interface Vue extends IsWidget {
void setLien(String lien);
void setLabelLien(String label);
}
// Variables
private Vue vue;
private String lien = "";
private Config config = new Config();
//Constructeur
public RssPresenteur(Vue vue) {
this.vue = vue;
}
public RssPresenteur(Vue vue, InformationsRecherche recherche, String label) {
this.vue = vue;
vue.setLabelLien(label);
genererLien(recherche);
}
public void genererLien(InformationsRecherche recherche) {
// TODO : mettre le lien de base
this.lien = config.getUrl("rss") + recherche.versChaineRequete();
gererEvenements();
}
@Override
public void go(HasWidgets composite) {
composite.add(vue.asWidget());
gererEvenements();
}
 
@Override
protected void gererEvenements() {
vue.setLien(this.lien);
}
 
}
/trunk/src/org/tela_botanica/del/client/composants/rss/RssVue.java
New file
0,0 → 1,41
package org.tela_botanica.del.client.composants.rss;
 
import org.tela_botanica.del.client.composants.rss.RssPresenteur.Vue;
 
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.HTML;
import com.google.gwt.user.client.ui.Widget;
 
public class RssVue extends Composite implements Vue {
 
// Composants
@UiField
HTML lien;
// Variables
String label = "";
// Interface pour l'association au XML
interface Binder extends UiBinder<Widget, RssVue> {
}
 
private static Binder uiBinder = GWT.create(Binder.class);
// Constructeur de la vue
public RssVue() {
initWidget(uiBinder.createAndBindUi(this));
}
public void setLien(String lien) {
String lienHtml = "<a href=\"" + lien + "\" target=\"_blank\">" + label + "</a>";
this.lien.setHTML(lienHtml);
}
public void setLabelLien(String label) {
this.label = label;
}
}