/trunk/src/org/tela_botanica/del/client/i18n/Vocabulary.properties |
---|
72,6 → 72,7 |
voirMotsCles = Voir et modifier les mots clés associés à l'image |
motsCles = Mots Clés |
aideSaisieMotCle = Saisissez des mots clés pour décrire l'image |
indiceSupprimerMotCle = Supprimer ce mot clé |
#ecran recherche observation |
rechercherObservation = Identifier une plante |
/trunk/src/org/tela_botanica/del/client/i18n/Vocabulary.java |
---|
457,6 → 457,15 |
String indicationActionClicImage(); |
/** |
* Translated "Supprimer ce mot clé". |
* |
* @return translated "Supprimer ce mot clé" |
*/ |
@DefaultStringValue("Supprimer ce mot clé") |
@Key("indiceSupprimerMotCle") |
String indiceSupprimerMotCle(); |
/** |
* Translated "Saisissez un nom de plante à comparer avec l'image". |
* |
* @return translated "Saisissez un nom de plante à comparer avec l'image" |
/trunk/src/org/tela_botanica/del/client/navigation/evenement/supressionmotcleimage/GestionnaireEvenementSuppressionMotCleImage.java |
---|
New file |
0,0 → 1,7 |
package org.tela_botanica.del.client.navigation.evenement.supressionmotcleimage; |
import com.google.gwt.event.shared.EventHandler; |
public interface GestionnaireEvenementSuppressionMotCleImage extends EventHandler { |
public void onSuppressionMotCleImage(EvenementSuppressionMotCleImage evenementSuppressionMotCleImage); |
} |
/trunk/src/org/tela_botanica/del/client/navigation/evenement/supressionmotcleimage/EvenementSuppressionMotCleImage.java |
---|
New file |
0,0 → 1,45 |
package org.tela_botanica.del.client.navigation.evenement.supressionmotcleimage; |
import java.util.ArrayList; |
import java.util.List; |
import com.google.gwt.event.shared.GwtEvent; |
public class EvenementSuppressionMotCleImage extends GwtEvent<GestionnaireEvenementSuppressionMotCleImage> { |
public static com.google.gwt.event.shared.GwtEvent.Type<GestionnaireEvenementSuppressionMotCleImage> TYPE = new com.google.gwt.event.shared.GwtEvent.Type<GestionnaireEvenementSuppressionMotCleImage>(); |
private String idImage; |
private List<String> motsCles; |
public EvenementSuppressionMotCleImage(String idImage, String motCle) { |
this.idImage = idImage; |
if(motCle.indexOf(",") != -1) { |
String[] motsClesTab = motCle.split(","); |
motsCles = new ArrayList<String>(motsClesTab.length); |
for (int i = 0; i < motsClesTab.length; i++) { |
motsCles.add(motsClesTab[i]); |
} |
} else { |
motsCles = new ArrayList<String>(1); |
motsCles.add(motCle); |
} |
} |
@Override |
protected void dispatch(GestionnaireEvenementSuppressionMotCleImage handler) { |
handler.onSuppressionMotCleImage(this); |
} |
public String getIdImage() { |
return idImage; |
} |
public List<String> getMotsCles() { |
return motsCles; |
} |
@Override |
public com.google.gwt.event.shared.GwtEvent.Type<GestionnaireEvenementSuppressionMotCleImage> getAssociatedType() { |
return TYPE; |
} |
} |
/trunk/src/org/tela_botanica/del/client/navigation/evenement/ajoutmotcleimage/EvenementAjoutMotCleImage.java |
---|
3,6 → 3,8 |
import java.util.ArrayList; |
import java.util.List; |
import org.tela_botanica.del.client.modeles.MotCle; |
import com.google.gwt.event.shared.GwtEvent; |
public class EvenementAjoutMotCleImage extends GwtEvent<GestionnaireEvenementAjoutMotCleImage> { |
9,20 → 11,9 |
public static com.google.gwt.event.shared.GwtEvent.Type<GestionnaireEvenementAjoutMotCleImage> TYPE = new com.google.gwt.event.shared.GwtEvent.Type<GestionnaireEvenementAjoutMotCleImage>(); |
private String idImage; |
private List<String> motsCles; |
public EvenementAjoutMotCleImage(String idImage, String motCle) { |
public EvenementAjoutMotCleImage(String idImage) { |
this.idImage = idImage; |
if(motCle.indexOf(",") != -1) { |
String[] motsClesTab = motCle.split(","); |
motsCles = new ArrayList<String>(motsClesTab.length); |
for (int i = 0; i < motsClesTab.length; i++) { |
motsCles.add(motsClesTab[i]); |
} |
} else { |
motsCles = new ArrayList<String>(1); |
motsCles.add(motCle); |
} |
} |
@Override |
33,10 → 24,6 |
public String getIdImage() { |
return idImage; |
} |
public List<String> getMotsCles() { |
return motsCles; |
} |
@Override |
public com.google.gwt.event.shared.GwtEvent.Type<GestionnaireEvenementAjoutMotCleImage> getAssociatedType() { |
/trunk/src/org/tela_botanica/del/client/utils/UtilitairesServiceResultat.java |
---|
12,6 → 12,7 |
import org.tela_botanica.del.client.modeles.Image; |
import org.tela_botanica.del.client.modeles.ImageServiceResultat; |
import org.tela_botanica.del.client.modeles.InterventionForum; |
import org.tela_botanica.del.client.modeles.MotCle; |
import org.tela_botanica.del.client.modeles.Observation; |
import org.tela_botanica.del.client.modeles.ObservationServiceResultat; |
import org.tela_botanica.del.client.modeles.PropositionDetermination; |
595,14 → 596,15 |
return observation; |
} |
public static List<String> parserRetourListeMotsClesImage(JSONObject retourJson) { |
List<String> motsCles = new ArrayList<String>(); |
public static List<MotCle> parserRetourListeMotsClesImage(JSONObject retourJson) { |
List<MotCle> motsCles = new ArrayList<MotCle>(); |
JSONObject tableauMc = retourJson; |
if (tableauMc != null) { |
java.util.Iterator<String> it = tableauMc.keySet().iterator(); |
while (it.hasNext()) { |
JSONObject mc = tableauMc.get(it.next()).isObject(); |
motsCles.add(getValeurOuVide(mc, "mot_cle")); |
MotCle motCle = new MotCle(getValeurOuVide(mc, "id_mot_cle"), getValeurOuVide(mc, "image"), getValeurOuVide(mc, "mot_cle")); |
motsCles.add(motCle); |
} |
} |
return motsCles; |
/trunk/src/org/tela_botanica/del/client/services/rest/MotsClesService.java |
---|
1,12 → 1,15 |
package org.tela_botanica.del.client.services.rest; |
import org.tela_botanica.del.client.services.rest.async.AjoutMotsClesImageCallBack; |
import org.tela_botanica.del.client.services.rest.async.AjoutMotsClesImageCallback; |
import org.tela_botanica.del.client.services.rest.async.ListeMotsClesImageCallBack; |
import org.tela_botanica.del.client.services.rest.async.SuppressionMotCleImageCallback; |
public interface MotsClesService { |
public void getMotsClesImage(String idImage, ListeMotsClesImageCallBack listeMotsClesImageCallBack); |
public void ajouterMotCleImage(String idImage, String motCle, AjoutMotsClesImageCallBack ajoutMotsClesImageCallBack); |
public void ajouterMotCleImage(String idImage, String motCle, AjoutMotsClesImageCallback ajoutMotsClesImageCallBack); |
public void supprimerMotCleImage(String idMotCle, SuppressionMotCleImageCallback callback); |
} |
/trunk/src/org/tela_botanica/del/client/services/rest/MotsClesServiceConcret.java |
---|
2,9 → 2,10 |
import org.tela_botanica.del.client.cache.CacheClient; |
import org.tela_botanica.del.client.config.Config; |
import org.tela_botanica.del.client.services.rest.async.AjoutMotsClesImageCallBack; |
import org.tela_botanica.del.client.services.rest.async.AjoutMotsClesImageCallback; |
import org.tela_botanica.del.client.services.rest.async.ListeMotsClesImageCallBack; |
import org.tela_botanica.del.client.services.rest.async.PHPCallback.ModeRequete; |
import org.tela_botanica.del.client.services.rest.async.SuppressionMotCleImageCallback; |
import com.google.gwt.http.client.RequestBuilder; |
import com.google.gwt.http.client.URL; |
41,7 → 42,7 |
@Override |
public void ajouterMotCleImage(String idImage, String motCle, |
AjoutMotsClesImageCallBack callback) { |
AjoutMotsClesImageCallback callback) { |
String urlService = baseUrl+"mots-cles/"; |
RequestBuilder rb = new RequestBuilder(RequestBuilder.PUT, urlService); |
61,4 → 62,16 |
"&"+URL.encodeQueryString("auteur.id")+"="+URL.encodeQueryString(CacheClient.getInstance().getUtilisateur().getId()); |
} |
@Override |
public void supprimerMotCleImage(String idMotCle, SuppressionMotCleImageCallback callback) { |
String urlService = baseUrl+"mots-cles/"+idMotCle; |
RequestBuilder rb = new RequestBuilder(RequestBuilder.DELETE, urlService); |
callback.setMode(ModeRequete.SUPPRESSION); |
try { |
rb.sendRequest(null, callback); |
} catch (Exception e) { |
//TODO: quoi faire si la requete est mal formée coté client avant d'être envoyée ? |
} |
} |
} |
/trunk/src/org/tela_botanica/del/client/services/rest/async/AjoutMotsClesImageCallBack.java |
---|
File deleted |
/trunk/src/org/tela_botanica/del/client/services/rest/async/ListeMotsClesImageCallBack.java |
---|
2,14 → 2,15 |
import java.util.List; |
import org.tela_botanica.del.client.modeles.MotCle; |
import org.tela_botanica.del.client.utils.UtilitairesServiceResultat; |
import com.google.gwt.json.client.JSONParser; |
import com.google.gwt.user.client.Window; |
public abstract class ListeMotsClesImageCallBack extends PHPCallback<List<String>> { |
public abstract class ListeMotsClesImageCallBack extends PHPCallback<List<MotCle>> { |
@Override |
public List<String> parserJSON(String retourService) { |
public List<MotCle> parserJSON(String retourService) { |
return UtilitairesServiceResultat.parserRetourListeMotsClesImage(JSONParser.parseStrict(retourService).isObject().get("resultats").isObject()); |
} |
} |
/trunk/src/org/tela_botanica/del/client/services/rest/async/AjoutMotsClesImageCallback.java |
---|
New file |
0,0 → 1,8 |
package org.tela_botanica.del.client.services.rest.async; |
public abstract class AjoutMotsClesImageCallback extends PHPCallback<Void> { |
@Override |
public Void parserJSON(String retourService) { |
return null; |
} |
} |
/trunk/src/org/tela_botanica/del/client/services/rest/async/SuppressionMotCleImageCallback.java |
---|
New file |
0,0 → 1,9 |
package org.tela_botanica.del.client.services.rest.async; |
public abstract class SuppressionMotCleImageCallback extends PHPCallback<String> { |
@Override |
public String parserJSON(String retourService) { |
return null; |
} |
} |
/trunk/src/org/tela_botanica/del/client/composants/motsclesimages/MotsClesImagePresenteur.java |
---|
1,19 → 1,20 |
package org.tela_botanica.del.client.composants.motsclesimages; |
import java.util.Iterator; |
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.composants.motsclesimages.motcle.MotClePresenteur; |
import org.tela_botanica.del.client.composants.motsclesimages.motcle.MotCleVue; |
import org.tela_botanica.del.client.i18n.I18n; |
import org.tela_botanica.del.client.modeles.MotCle; |
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.navigation.evenement.supressionmotcleimage.EvenementSuppressionMotCleImage; |
import org.tela_botanica.del.client.navigation.evenement.supressionmotcleimage.GestionnaireEvenementSuppressionMotCleImage; |
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 org.tela_botanica.del.client.services.rest.async.SuppressionMotCleImageCallback; |
import com.google.gwt.user.client.Window; |
import com.google.gwt.user.client.ui.HasWidgets; |
21,14 → 22,15 |
public class MotsClesImagePresenteur { |
List<String> motsCles; |
List<MotCle> motsCles; |
FormulaireSaisieMotsClesImagePresenteur formulaireSaisieMotsClesPresenteur; |
MotsClesService motsClesService; |
String idImage; |
public interface Vue extends IsWidget { |
public void afficherMotsCles(List<String> listeMotsCles); |
public HasWidgets getZoneMotsCles(); |
HasWidgets getZoneSaisieMotsCles(); |
void viderZoneMotsCles(); |
} |
private Vue vue; |
51,9 → 53,10 |
MotsClesService motsClesService = new MotsClesServiceConcret(); |
motsClesService.getMotsClesImage(idImage, new ListeMotsClesImageCallBack() { |
@Override |
public void surRetour(List<String> objetRetour) { |
public void surRetour(List<MotCle> objetRetour) { |
motsCles = objetRetour; |
vue.afficherMotsCles(motsCles); |
vue.viderZoneMotsCles(); |
afficherMotsCles(objetRetour); |
} |
}); |
} |
64,18 → 67,45 |
@Override |
public void onAjoutMotCleImage(EvenementAjoutMotCleImage event) { |
if(idImage != null && idImage.equals(event.getIdImage())) { |
List<String> motsClesAjoutes = event.getMotsCles(); |
for (Iterator iterator = motsClesAjoutes.iterator(); iterator |
.hasNext();) { |
String string = (String) iterator.next(); |
motsCles.add(string); |
} |
vue.afficherMotsCles(motsCles); |
motsCles = null; |
chargerMotsCles(idImage); |
formulaireSaisieMotsClesPresenteur.viderChampSaisie(); |
} |
} |
}); |
BusEvenementiel.getInstance().addHandler(EvenementSuppressionMotCleImage.TYPE, new GestionnaireEvenementSuppressionMotCleImage() { |
@Override |
public void onSuppressionMotCleImage(EvenementSuppressionMotCleImage event) { |
if(idImage != null && idImage.equals(event.getIdImage())) { |
motsCles = null; |
chargerMotsCles(idImage); |
} |
} |
}); |
} |
public void afficherMotsCles(List<MotCle> listeMotsCles) { |
this.motsCles = listeMotsCles; |
Object[] tabMotsCles = motsCles.toArray(); |
for (int i = 0; i < motsCles.toArray().length; i++) { |
MotCle motCleEnCours = (MotCle)tabMotsCles[i]; |
MotClePresenteur mcP = new MotClePresenteur(new MotCleVue(motCleEnCours.getMotCle()), motCleEnCours.getMotCle(), motCleEnCours.getIdMotCle()) { |
public void surSuppression(String idMotCle) { |
if(Window.confirm(I18n.getVocabulary().indiceSupprimerMotCle()+" ?")) { |
motsClesService.supprimerMotCleImage(idMotCle, new SuppressionMotCleImageCallback() { |
@Override |
public void surRetour(String objetRetour) { |
motsCles = null; |
chargerMotsCles(idImage); |
} |
}); |
} |
}; |
}; |
mcP.go(vue.getZoneMotsCles()); |
} |
} |
public void focuserChampsSaisie() { |
formulaireSaisieMotsClesPresenteur.focuserChampSaisie(); |
/trunk/src/org/tela_botanica/del/client/composants/motsclesimages/MotsClesImageVue.java |
---|
1,14 → 1,10 |
package org.tela_botanica.del.client.composants.motsclesimages; |
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.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.Widget; |
15,7 → 11,7 |
public class MotsClesImageVue extends Composite implements MotsClesImagePresenteur.Vue { |
@UiField |
public HTML motsCles; |
public Panel motsCles; |
@UiField |
public Panel saisieMotsCles; |
30,18 → 26,15 |
// sets listBox |
initWidget(uiBinder.createAndBindUi(this)); |
} |
@Override |
public void viderZoneMotsCles() { |
motsCles.clear(); |
} |
@Override |
public void afficherMotsCles(List<String> listeMotsCles) { |
String chaine = ""; |
Object[] tabMotsCles = listeMotsCles.toArray(); |
int nbMc = tabMotsCles.length; |
for (int i = 0; i < tabMotsCles.length; i++) { |
String string = (String)tabMotsCles[i]; |
chaine += "<span class=\"motCleImage\">"+string+"</span>"; |
chaine += (i != (nbMc - 1)) ? " " : ""; |
} |
motsCles.setHTML(chaine); |
public HasWidgets getZoneMotsCles() { |
return motsCles; |
} |
@Override |
/trunk/src/org/tela_botanica/del/client/composants/motsclesimages/formulairesaisiemotclesimages/FormulaireSaisieMotsClesImagePresenteur.java |
---|
3,7 → 3,7 |
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 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; |
61,10 → 61,10 |
private void validerSaisie() { |
String texte = vue.getSaisieMotsCles().getText(); |
if(texte != null && !texte.isEmpty()) { |
motsClesService.ajouterMotCleImage(idImage, vue.getSaisieMotsCles().getText(), new AjoutMotsClesImageCallBack() { |
motsClesService.ajouterMotCleImage(idImage, vue.getSaisieMotsCles().getText(), new AjoutMotsClesImageCallback() { |
@Override |
public void surRetour(Void objetRetour) { |
EvenementAjoutMotCleImage event = new EvenementAjoutMotCleImage(idImage, vue.getSaisieMotsCles().getText()); |
EvenementAjoutMotCleImage event = new EvenementAjoutMotCleImage(idImage); |
BusEvenementiel.getInstance().fireEvent(event); |
} |
}); |
/trunk/src/org/tela_botanica/del/client/composants/motsclesimages/motcle/MotCleVue.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='res' type='org.tela_botanica.del.client.resources.Ressources' /> |
<ui:with field="constants" type="org.tela_botanica.del.client.i18n.Vocabulary" /> |
<ui:style src="MotCle.css" /> |
<g:FocusPanel styleName="{style.conteneurMotCle}" ui:field="conteneurMotCle"><g:HTMLPanel><g:InlineHTML styleName="{style.motCle}" ui:field="motCle" /><g:FocusPanel styleName="invisible {style.suppressionMotCle}" ui:field="suppressionMotCle" ><g:InlineHTML>X</g:InlineHTML></g:FocusPanel></g:HTMLPanel></g:FocusPanel> |
</ui:UiBinder> |
/trunk/src/org/tela_botanica/del/client/composants/motsclesimages/motcle/MotClePresenteur.java |
---|
New file |
0,0 → 1,71 |
package org.tela_botanica.del.client.composants.motsclesimages.motcle; |
import com.google.gwt.event.dom.client.BlurEvent; |
import com.google.gwt.event.dom.client.BlurHandler; |
import com.google.gwt.event.dom.client.ClickEvent; |
import com.google.gwt.event.dom.client.ClickHandler; |
import com.google.gwt.event.dom.client.FocusEvent; |
import com.google.gwt.event.dom.client.FocusHandler; |
import com.google.gwt.event.dom.client.HasBlurHandlers; |
import com.google.gwt.event.dom.client.HasClickHandlers; |
import com.google.gwt.event.dom.client.HasFocusHandlers; |
import com.google.gwt.event.dom.client.HasMouseOutHandlers; |
import com.google.gwt.event.dom.client.HasMouseOverHandlers; |
import com.google.gwt.event.dom.client.MouseOutEvent; |
import com.google.gwt.event.dom.client.MouseOutHandler; |
import com.google.gwt.event.dom.client.MouseOverEvent; |
import com.google.gwt.event.dom.client.MouseOverHandler; |
import com.google.gwt.user.client.Window; |
import com.google.gwt.user.client.ui.HasWidgets; |
import com.google.gwt.user.client.ui.IsWidget; |
public abstract class MotClePresenteur { |
String motCle; |
String idMotCle; |
public interface Vue extends IsWidget { |
HasClickHandlers getZoneSuppressionMotCle(); |
void afficherZoneSuppression(); |
void cacherZoneSuppression(); |
HasMouseOverHandlers getZoneMotCleMouseHover(); |
HasMouseOutHandlers getZoneMotCleMouseOut(); |
} |
private Vue vue; |
public MotClePresenteur(Vue vue, String motCleText, String motCleId) { |
this.vue = vue; |
this.idMotCle = motCleId; |
} |
public void go(HasWidgets composite) { |
composite.add(vue.asWidget()); |
gererEvenements(); |
} |
public void gererEvenements() { |
vue.getZoneSuppressionMotCle().addClickHandler(new ClickHandler() { |
@Override |
public void onClick(ClickEvent event) { |
surSuppression(idMotCle); |
} |
}); |
vue.getZoneMotCleMouseHover().addMouseOverHandler(new MouseOverHandler() { |
@Override |
public void onMouseOver(MouseOverEvent event) { |
vue.afficherZoneSuppression(); |
} |
}); |
vue.getZoneMotCleMouseOut().addMouseOutHandler(new MouseOutHandler() { |
@Override |
public void onMouseOut(MouseOutEvent event) { |
vue.cacherZoneSuppression(); |
} |
}); |
} |
public abstract void surSuppression(String idMotCle); |
} |
/trunk/src/org/tela_botanica/del/client/composants/motsclesimages/motcle/MotCleVue.java |
---|
New file |
0,0 → 1,69 |
package org.tela_botanica.del.client.composants.motsclesimages.motcle; |
import org.tela_botanica.del.client.i18n.I18n; |
import com.google.gwt.core.client.GWT; |
import com.google.gwt.event.dom.client.HasBlurHandlers; |
import com.google.gwt.event.dom.client.HasClickHandlers; |
import com.google.gwt.event.dom.client.HasFocusHandlers; |
import com.google.gwt.event.dom.client.HasMouseOutHandlers; |
import com.google.gwt.event.dom.client.HasMouseOverHandlers; |
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.FocusPanel; |
import com.google.gwt.user.client.ui.HTML; |
import com.google.gwt.user.client.ui.HTMLPanel; |
import com.google.gwt.user.client.ui.HasWidgets; |
import com.google.gwt.user.client.ui.InlineHTML; |
import com.google.gwt.user.client.ui.Panel; |
import com.google.gwt.user.client.ui.Widget; |
public class MotCleVue extends Composite implements MotClePresenteur.Vue { |
@UiField |
public InlineHTML motCle; |
@UiField |
public FocusPanel suppressionMotCle; |
@UiField |
public FocusPanel conteneurMotCle; |
interface MyUiBinder extends UiBinder<Widget, MotCleVue> { |
} |
private static MyUiBinder uiBinder = GWT.create(MyUiBinder.class); |
public MotCleVue(String mot) { |
initWidget(uiBinder.createAndBindUi(this)); |
motCle.setText(mot); |
suppressionMotCle.setTitle(I18n.getVocabulary().indiceSupprimerMotCle()); |
} |
@Override |
public HasClickHandlers getZoneSuppressionMotCle() { |
return suppressionMotCle; |
} |
@Override |
public void afficherZoneSuppression() { |
suppressionMotCle.removeStyleName("invisible"); |
} |
@Override |
public void cacherZoneSuppression() { |
suppressionMotCle.addStyleName("invisible"); |
} |
@Override |
public HasMouseOverHandlers getZoneMotCleMouseHover() { |
return conteneurMotCle; |
} |
@Override |
public HasMouseOutHandlers getZoneMotCleMouseOut() { |
return conteneurMotCle; |
} |
} |
/trunk/src/org/tela_botanica/del/client/composants/motsclesimages/motcle/MotCle.css |
---|
New file |
0,0 → 1,26 |
.conteneurMotCle { |
display: inline-block; |
margin-right: 3px; |
} |
.motCle { |
border: 1px solid grey; |
background-color: #555; |
padding: 2px; |
line-height: 25px; |
} |
.suppressionMotCle { |
display: inline; |
border: 1px solid grey; |
border-left: none; |
background-color: #555; |
padding: 2px; |
line-height: 25px; |
cursor: pointer; |
color: red; |
} |
.suppressionMotCle:hover { |
background-color: #888; |
} |
/trunk/src/org/tela_botanica/del/client/composants/motsclesimages/MotsClesImageVue.ui.xml |
---|
13,7 → 13,7 |
<g:HTMLPanel styleName="{style.panneauSaisieMotsCles}" ui:field="saisieMotsCles"></g:HTMLPanel> |
</g:HTMLPanel> |
<g:HTMLPanel> |
<g:HTML ui:field="motsCles"></g:HTML> |
<g:HTMLPanel styleName="gwt-HTML" ui:field="motsCles"></g:HTMLPanel> |
</g:HTMLPanel> |
</g:HTMLPanel> |
</ui:UiBinder> |
/trunk/src/org/tela_botanica/del/client/modeles/MotCle.java |
---|
New file |
0,0 → 1,27 |
package org.tela_botanica.del.client.modeles; |
public class MotCle { |
private String idMotCle; |
private String idImage; |
private String motCle; |
public MotCle(String idMotCle, String idImage, String motCle) { |
super(); |
this.idMotCle = idMotCle; |
this.idImage = idImage; |
this.motCle = motCle; |
} |
public String getIdMotCle() { |
return idMotCle; |
} |
public String getIdImage() { |
return idImage; |
} |
public String getMotCle() { |
return motCle; |
} |
} |