Blame | Last modification | View Log | RSS feed
package org.tela_botanica.client.vues;import org.tela_botanica.client.interfaces.Filtrable;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.ClickListener;import com.google.gwt.user.client.ui.HTML;import com.gwtext.client.core.Ajax;import com.gwtext.client.core.EventObject;import com.gwtext.client.core.Ext;import com.gwtext.client.core.ExtElement;import com.gwtext.client.widgets.Window;public class NuageMotsClesVue extends Window implements Filtrable, Rafraichissable {private ObservationMediateur oMediateur = null ;private Object[][] listeMotsPesee = null;private String motsAChercher = "" ;private int nbMotsClesMax = 1 ;public NuageMotsClesVue(ObservationMediateur om) {super("Nuage de mots clés");setCls("fenmotcles");oMediateur = om ;setWidth(200);this.setCloseAction(CLOSE);oMediateur.obtenirNuageMotsCles(this);}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;}if(nouvelleDonnees instanceof Object[][]) {listeMotsPesee = (Object[][])nouvelleDonnees ;construireNuage();}}private void construireNuage() {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) {oMediateur.ajouterMotCleRecherche(e.getTarget().getInnerHTML());}};contenuHTML.sinkEvents(Event.ONCLICK);this.clear();this.add(contenuHTML);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() ;}}}