Rev 97 | Rev 130 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
package org.tela_botanica.client.vues;import org.tela_botanica.client.interfaces.Rafraichissable;import org.tela_botanica.client.observation.ObservationMediateur;import com.google.gwt.user.client.DOM;import com.google.gwt.user.client.Event;import com.google.gwt.user.client.Window;import com.google.gwt.user.client.ui.Image;import com.gwtext.client.core.Ext;import com.gwtext.client.widgets.Panel;import com.gwtext.client.widgets.ToolTip;/*** Un panneau affichant la repartition d'une plante** @author David Delon**/public class InformationRepartitionVue extends Panel implements Rafraichissable {/*** Le médiateur associé*/private ObservationMediateur observationMediateur = null;/*** l'image à afficher*/private Image image = new Image();private String urlImage = "" ;private ToolTip tp = new ToolTip("<div class=\"x-tooltip-help\"> Double cliquez pour agrandir l'image </div>") ;com.gwtext.client.widgets.Window imgZoom = new com.gwtext.client.widgets.Window("Agrandissement") ;/*** Constructeur sans argument (privé car ne doit pas être utilisé)*/@SuppressWarnings("unused")private InformationRepartitionVue() {super();}/*** Constructeur avec argument* @param obs le médiateur à associer*/public InformationRepartitionVue(ObservationMediateur obs) {this.observationMediateur = obs;imgZoom.setCloseAction(com.gwtext.client.widgets.Window.HIDE) ;image = new Image() {public void onBrowserEvent(Event event) {// lors du double clicif (Event.ONDBLCLICK == DOM.eventGetType(event)) {// on notifie le médiateuragrandirImage() ;}}};tp.applyTo(image.getElement()) ;image.sinkEvents(Event.ONDBLCLICK);this.setCls("x-image-info-rep") ;image.setPixelSize(150, 150);add(image);// on ajoute les listenersajouterListeners();}/*** Affichage carte de repartition**/public void rafraichir(Object nouvelleDonnees,boolean repandreRaffraichissement) {// si on recoit une String contenant une URLif (nouvelleDonnees instanceof String) {urlImage=(String) nouvelleDonnees;if (urlImage.length()==0) {raz() ;}else {image.setUrl(urlImage);}}}public void agrandirImage() {if(!imgZoom.isVisible()){String urlAgrandie = urlImage.replace("min", "max") ;imgZoom.setHtml("<img src=\""+urlAgrandie+"\" />") ;imgZoom.setPagePosition( Window.getClientWidth()/2, Window.getClientHeight()/5) ;imgZoom.setAutoHeight(true) ;imgZoom.setAutoWidth(true) ;imgZoom.show(this.getElement()) ;}}/*** Ajoute les listeners pour la gestions d'évènement*/public void ajouterListeners() {}public void raz() {image.setUrl("");}}