Rev 140 | Blame | Compare with Previous | 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.core.client.JavaScriptObject;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.BoxComponent;import com.gwtext.client.widgets.Component;import com.gwtext.client.widgets.Container;import com.gwtext.client.widgets.Window;import com.gwtext.client.widgets.event.ContainerListener;import com.gwtext.client.widgets.event.ContainerListenerAdapter;public class NuageMotsClesVue extends Window implements Filtrable, Rafraichissable {private ObservationMediateur oMediateur = null ;private Object[][] listeMotsPesee = null;private String motsAChercher = "" ;private int nbMotsClesMax = 1 ;private boolean nuageCharge = false ;public NuageMotsClesVue(ObservationMediateur om) {super("Nuage de mots clés");setCls("fenmotcles");oMediateur = om ;setWidth(200);this.setCloseAction(CLOSE);//oMediateur.obtenirNuageMotsCles(this);this.addListener(new ContainerListenerAdapter() {@Overridepublic void onAfterLayout(Container self) {if(!nuageCharge) {masquerChargement();}}@Overridepublic void onRender(Component component) {}@Overridepublic void onShow(Component component) {// TODO Auto-generated method stub}});}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();nuageCharge = true;demasquerChargement();}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() ;}}}