Subversion Repositories eFlore/Applications.del

Compare Revisions

Ignore whitespace Rev 1119 → Rev 1120

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