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