Rev 185 | Rev 201 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
package org.tela_botanica.client.vues.observation;import org.tela_botanica.client.interfaces.Rafraichissable;import org.tela_botanica.client.observation.ObservationMediateur;import com.google.gwt.user.client.Event;import com.google.gwt.user.client.ui.HTML;import com.gwtext.client.core.EventObject;import com.gwtext.client.core.Ext;import com.gwtext.client.core.ExtElement;import com.gwtext.client.widgets.Button;import com.gwtext.client.widgets.Panel;import com.gwtext.client.widgets.Window;import com.gwtext.client.widgets.event.ButtonListenerAdapter;import com.gwtext.client.widgets.form.TextArea;public class SaisieMotsClesVue extends Window implements Rafraichissable {private ObservationMediateur oMediateur = null ;private Object[][] listeMotsPesee = null;private String motsAAjouter = "" ;private int nbMotsClesMax = 1 ;private TextArea motsClesAjout = null;private Button validerAjout = null ;private Button voirCacherNuage = null;private boolean nuageVisible = false ;private Panel contenuNuage = null ;public SaisieMotsClesVue(ObservationMediateur om) {super("Entrez vos mots clés");setCls("fenmotcles");oMediateur = om ;setWidth(300);motsClesAjout = new TextArea();motsClesAjout.setWidth(300);validerAjout = new Button("Valider");voirCacherNuage= new Button("Afficher les mots clés");final Rafraichissable r = this ;this.setCloseAction(CLOSE);validerAjout.addListener(new ButtonListenerAdapter() {public void onClick(Button button, EventObject e) {motsAAjouter = motsClesAjout.getText();//oMediateur.AjouterMotsClesEnMasse(motsAAjouter);}});voirCacherNuage.addListener(new ButtonListenerAdapter() {public void onClick(Button button, EventObject e) {if(nuageVisible) {if(contenuNuage != null) {contenuNuage.clear();}voirCacherNuage.setText("Afficher les mots clés");nuageVisible = false;}else {// oMediateur.obtenirNuageMotsCles(r);voirCacherNuage.setText("Cacher les mots clés");nuageVisible = true;}}});add(motsClesAjout);add(validerAjout);add(voirCacherNuage);contenuNuage = new Panel();contenuNuage.setBorder(false);add(contenuNuage);}public boolean renvoyerEtatFiltre() {// TODO Auto-generated method stubreturn false;}public String renvoyerNomFiltre() {// TODO Auto-generated method stubreturn null;}public String[] renvoyerValeursAFiltrer() {// TODO Auto-generated method stubreturn null;}public void valider() {// TODO Auto-generated method stub}public void rafraichir(Object nouvelleDonnees,boolean repandreRaffraichissement) {if(nouvelleDonnees instanceof Integer) {nbMotsClesMax = (Integer)nouvelleDonnees;demasquerChargement();}if(nouvelleDonnees instanceof Object[][]) {listeMotsPesee = (Object[][])nouvelleDonnees ;construireNuage();demasquerChargement();}if(nouvelleDonnees instanceof String) {String res = (String)nouvelleDonnees;if(res.equals("OK")) {masquerChargement();oMediateur.obtenirListeObservation();//oMediateur.obtenirNuageMotsCles(this);}}}private void construireNuage() {contenuNuage.clear();String contenu = "<ul class=\"nuagetag\">" ;for(int i = 0; i<listeMotsPesee.length; i++) {String classeMotCle = "motcletaille"+calculerPoids((Integer)listeMotsPesee[i][1]) ;contenu += "<li class=\""+classeMotCle+"\">";contenu += (String)listeMotsPesee[i][0];contenu += "</li>";}contenu += "</ul>" ;HTML contenuHTML = new HTML(contenu) {public void onBrowserEvent(Event e) {motsAAjouter += " "+e.getTarget().getInnerHTML();motsClesAjout.setValue(motsAAjouter);}};contenuHTML.sinkEvents(Event.ONCLICK);contenuNuage.add(contenuHTML);contenuNuage.doLayout();doLayout();}private int calculerPoids(int poidMot) {int poids = (poidMot*10)/nbMotsClesMax;if(poids < 1) {return 1;}return poids;}/*** Recherche l'élement actuellement affiché et affiche son message de chargement*/public void masquerChargement(){ExtElement masked = Ext.get(getId()) ;if (masked!=null) {masked.mask("Chargement") ;}}/*** Recherche l'élement actuellement affiché et retire son message de chargement si l'était affiché*/public void demasquerChargement(){ExtElement masked = Ext.get(getId()) ;if (masked!=null) {masked.unmask() ;}}}