/trunk/src/org/tela_botanica/del/client/composants/motsclesimages/MotsClesImagePresenteur.java |
---|
New file |
0,0 → 1,73 |
package org.tela_botanica.del.client.composants.motsclesimages; |
import java.util.List; |
import org.tela_botanica.del.client.cache.CacheClient; |
import org.tela_botanica.del.client.composants.motsclesimages.formulairesaisiemotclesimages.FormulaireSaisieMotsClesImagePresenteur; |
import org.tela_botanica.del.client.modeles.InformationsRecherche; |
import org.tela_botanica.del.client.modeles.ModeTri; |
import org.tela_botanica.del.client.navigation.evenement.BusEvenementiel; |
import org.tela_botanica.del.client.navigation.evenement.ajoutmotcleimage.EvenementAjoutMotCleImage; |
import org.tela_botanica.del.client.navigation.evenement.ajoutmotcleimage.GestionnaireEvenementAjoutMotCleImage; |
import org.tela_botanica.del.client.navigation.evenement.changementprotocole.EvenementChangementProtocole; |
import org.tela_botanica.del.client.navigation.evenement.changementprotocole.GestionnaireEvenementChangementProtocole; |
import org.tela_botanica.del.client.services.rest.MotsClesService; |
import org.tela_botanica.del.client.services.rest.MotsClesServiceConcret; |
import org.tela_botanica.del.client.services.rest.async.ListeMotsClesImageCallBack; |
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 MotsClesImagePresenteur { |
List<String> motsCles; |
FormulaireSaisieMotsClesImagePresenteur formulaireSaisieMotsClesPresenteur; |
MotsClesService motsClesService; |
String idImage; |
public interface Vue extends IsWidget { |
public void afficherMotsCles(List<String> listeMotsCles); |
HasWidgets getZoneSaisieMotsCles(); |
} |
private Vue vue; |
public MotsClesImagePresenteur(MotsClesService motsClesService, FormulaireSaisieMotsClesImagePresenteur formulaireSaisieMotsClesPresenteur, Vue vue) { |
this.formulaireSaisieMotsClesPresenteur = formulaireSaisieMotsClesPresenteur; |
this.vue = vue; |
this.motsClesService = motsClesService; |
gererEvemenements(); |
} |
public void go(HasWidgets composite) { |
formulaireSaisieMotsClesPresenteur.go(vue.getZoneSaisieMotsCles()); |
composite.add(vue.asWidget()); |
} |
public void chargerMotsCles(String idImage) { |
this.idImage = idImage; |
if(motsCles == null) { |
MotsClesService motsClesService = new MotsClesServiceConcret(); |
motsClesService.getMotsClesImage(idImage, new ListeMotsClesImageCallBack() { |
@Override |
public void surRetour(List<String> objetRetour) { |
motsCles = objetRetour; |
vue.afficherMotsCles(motsCles); |
} |
}); |
} |
} |
public void gererEvemenements() { |
BusEvenementiel.getInstance().addHandler(EvenementAjoutMotCleImage.TYPE, new GestionnaireEvenementAjoutMotCleImage() { |
@Override |
public void onAjoutMotCleImage(EvenementAjoutMotCleImage event) { |
if(idImage != null && idImage.equals(event.getIdImage())) { |
motsCles.add(event.getMotCle()); |
vue.afficherMotsCles(motsCles); |
formulaireSaisieMotsClesPresenteur.viderChampSaisie(); |
} |
} |
}); |
} |
} |
/trunk/src/org/tela_botanica/del/client/composants/motsclesimages/MotsClesImageVue.java |
---|
New file |
0,0 → 1,49 |
package org.tela_botanica.del.client.composants.motsclesimages; |
import java.util.Iterator; |
import java.util.List; |
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.HTMLPanel; |
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.Widget; |
public class MotsClesImageVue extends Composite implements MotsClesImagePresenteur.Vue { |
@UiField |
public Label motsCles; |
@UiField |
public Panel saisieMotsCles; |
interface MyUiBinder extends UiBinder<Widget, MotsClesImageVue> { |
} |
private static MyUiBinder uiBinder = GWT.create(MyUiBinder.class); |
public MotsClesImageVue() { |
// sets listBox |
initWidget(uiBinder.createAndBindUi(this)); |
} |
@Override |
public void afficherMotsCles(List<String> listeMotsCles) { |
String chaine = ""; |
for (Iterator iterator = listeMotsCles.iterator(); iterator.hasNext();) { |
String string = (String) iterator.next(); |
chaine += string+","; |
} |
motsCles.setText(chaine); |
} |
@Override |
public HasWidgets getZoneSaisieMotsCles() { |
return saisieMotsCles; |
} |
} |
/trunk/src/org/tela_botanica/del/client/composants/motsclesimages/formulairesaisiemotclesimages/FormulaireMotsClesImage.css |
---|
--- formulairesaisiemotclesimages/FormulaireSaisieMotsClesImageVue.ui.xml (revision 0) |
+++ formulairesaisiemotclesimages/FormulaireSaisieMotsClesImageVue.ui.xml (revision 1151) |
@@ -0,0 +1,15 @@ |
+<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='res' type='org.tela_botanica.del.client.resources.Ressources' /> |
+ <ui:with field="constants" type="org.tela_botanica.del.client.i18n.Vocabulary" /> |
+ |
+ <ui:style src="FormulaireMotsClesImage.css" /> |
+ |
+ <g:HTMLPanel> |
+ <g:TextBox ui:field="saisieMotsCles"></g:TextBox> |
+ <g:Button text="{constants.ok}" ui:field="valider"></g:Button> |
+ </g:HTMLPanel> |
+</ui:UiBinder> |
\ No newline at end of file |
/trunk/src/org/tela_botanica/del/client/composants/motsclesimages/formulairesaisiemotclesimages/FormulaireSaisieMotsClesImagePresenteur.java |
---|
New file |
0,0 → 1,75 |
package org.tela_botanica.del.client.composants.motsclesimages.formulairesaisiemotclesimages; |
import org.tela_botanica.del.client.navigation.evenement.BusEvenementiel; |
import org.tela_botanica.del.client.navigation.evenement.ajoutmotcleimage.EvenementAjoutMotCleImage; |
import org.tela_botanica.del.client.services.rest.MotsClesService; |
import org.tela_botanica.del.client.services.rest.async.AjoutMotsClesImageCallBack; |
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.event.dom.client.HasKeyPressHandlers; |
import com.google.gwt.event.dom.client.KeyCodes; |
import com.google.gwt.event.dom.client.KeyPressEvent; |
import com.google.gwt.event.dom.client.KeyPressHandler; |
import com.google.gwt.user.client.ui.HasText; |
import com.google.gwt.user.client.ui.HasWidgets; |
import com.google.gwt.user.client.ui.IsWidget; |
public class FormulaireSaisieMotsClesImagePresenteur { |
private MotsClesService motsClesService; |
private String idImage; |
public interface Vue extends IsWidget { |
public HasClickHandlers getBoutonValider(); |
public HasText getSaisieMotsCles(); |
public HasKeyPressHandlers getSaisieMotsClesHasKeyPressHandlers(); |
} |
private Vue vue; |
public FormulaireSaisieMotsClesImagePresenteur(String idImage, MotsClesService motsClesService, Vue vue) { |
this.vue = vue; |
this.motsClesService = motsClesService; |
this.idImage = idImage; |
gererEvenements(); |
} |
public void go(HasWidgets composite) { |
composite.add(vue.asWidget()); |
} |
private void gererEvenements() { |
vue.getBoutonValider().addClickHandler(new ClickHandler() { |
@Override |
public void onClick(ClickEvent event) { |
validerSaisie(); |
} |
}); |
vue.getSaisieMotsClesHasKeyPressHandlers().addKeyPressHandler(new KeyPressHandler() { |
public void onKeyPress(KeyPressEvent event) { |
if (event.getNativeEvent().getKeyCode() == KeyCodes.KEY_ENTER) { |
validerSaisie(); |
} |
} |
}); |
} |
private void validerSaisie() { |
if(vue.getSaisieMotsCles().getText() != null) { |
motsClesService.ajouterMotCleImage(idImage, vue.getSaisieMotsCles().getText(), new AjoutMotsClesImageCallBack() { |
@Override |
public void surRetour(Void objetRetour) { |
EvenementAjoutMotCleImage event = new EvenementAjoutMotCleImage(idImage, vue.getSaisieMotsCles().getText()); |
BusEvenementiel.getInstance().fireEvent(event); |
} |
}); |
} |
} |
public void viderChampSaisie() { |
vue.getSaisieMotsCles().setText(""); |
} |
} |
/trunk/src/org/tela_botanica/del/client/composants/motsclesimages/formulairesaisiemotclesimages/FormulaireSaisieMotsClesImageVue.java |
---|
New file |
0,0 → 1,47 |
package org.tela_botanica.del.client.composants.motsclesimages.formulairesaisiemotclesimages; |
import com.google.gwt.core.client.GWT; |
import com.google.gwt.event.dom.client.HasClickHandlers; |
import com.google.gwt.event.dom.client.HasKeyPressHandlers; |
import com.google.gwt.uibinder.client.UiBinder; |
import com.google.gwt.uibinder.client.UiField; |
import com.google.gwt.user.client.ui.Button; |
import com.google.gwt.user.client.ui.Composite; |
import com.google.gwt.user.client.ui.HasText; |
import com.google.gwt.user.client.ui.TextBox; |
import com.google.gwt.user.client.ui.Widget; |
public class FormulaireSaisieMotsClesImageVue extends Composite implements FormulaireSaisieMotsClesImagePresenteur.Vue { |
@UiField |
public TextBox saisieMotsCles; |
@UiField |
public Button valider; |
interface MyUiBinder extends UiBinder<Widget, FormulaireSaisieMotsClesImageVue> { |
} |
private static MyUiBinder uiBinder = GWT.create(MyUiBinder.class); |
public FormulaireSaisieMotsClesImageVue() { |
// sets listBox |
initWidget(uiBinder.createAndBindUi(this)); |
} |
@Override |
public HasClickHandlers getBoutonValider() { |
return valider; |
} |
@Override |
public HasText getSaisieMotsCles() { |
return saisieMotsCles; |
} |
@Override |
public HasKeyPressHandlers getSaisieMotsClesHasKeyPressHandlers() { |
return saisieMotsCles; |
} |
} |
/trunk/src/org/tela_botanica/del/client/composants/motsclesimages/MotsClesImage.css |
---|
--- MotsClesImageVue.ui.xml (revision 0) |
+++ MotsClesImageVue.ui.xml (revision 1151) |
@@ -0,0 +1,18 @@ |
+<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='res' type='org.tela_botanica.del.client.resources.Ressources' /> |
+ <ui:with field="constants" type="org.tela_botanica.del.client.i18n.Vocabulary" /> |
+ |
+ <ui:style src="MotsClesImage.css" /> |
+ <g:HTMLPanel> |
+ <g:HTMLPanel> |
+ <g:Label ui:field="motsCles"></g:Label> |
+ </g:HTMLPanel> |
+ <g:HTMLPanel> |
+ <g:HTMLPanel ui:field="saisieMotsCles"></g:HTMLPanel> |
+ </g:HTMLPanel> |
+ </g:HTMLPanel> |
+</ui:UiBinder> |
\ No newline at end of file |