Rev 5 | Rev 7 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
package org.tela_botanica.client.image;import org.tela_botanica.client.interfaces.Rafraichissable;import org.tela_botanica.client.vues.GalerieImageVue;import org.tela_botanica.client.vues.ListeImageVue;import org.tela_botanica.client.vues.ZoomImageVue;import com.google.gwt.user.client.DOM;import com.google.gwt.user.client.Element;import com.google.gwt.user.client.Event;import com.google.gwt.user.client.Window;import com.gwtext.client.core.EventObject;import com.gwtext.client.core.RegionPosition;import com.gwtext.client.data.Record;import com.gwtext.client.data.Store;import com.gwtext.client.widgets.DataView;import com.gwtext.client.widgets.Panel;import com.gwtext.client.widgets.TabPanel;import com.gwtext.client.widgets.layout.BorderLayout;import com.gwtext.client.widgets.layout.BorderLayoutData;public class ImageMediateur {// controleurprivate ImageControleur iControleur = null ;//widgets//Panneau principal des images (onglet "images")private final Panel panneauPrincipalImage = new Panel("Images");// Panneau à onglet pour la liste, la galerie et la vue en grandprivate TabPanel ongletsImage = null ;private GalerieImageVue galerieImage = null ;private ListeImageVue listeImage = null ;private ZoomImageVue zoomImage = null ;// panneau details et mots clésprivate final Panel detailsEtMotsCles = new Panel("Détails et mots clés");public ImageMediateur(){final BorderLayoutData regionEst = new BorderLayoutData(RegionPosition.EAST);regionEst.setSplit(true);iControleur = new ImageControleur(this);panneauPrincipalImage.setLayout(new BorderLayout());ongletsImage = new TabPanel();galerieImage = new GalerieImageVue(this) ;Panel panneauListeImage = new Panel("Liste");listeImage = new ListeImageVue(this);panneauListeImage.add(listeImage);zoomImage = new ZoomImageVue(this);ongletsImage.add(galerieImage);ongletsImage.add(zoomImage);ongletsImage.add(panneauListeImage);detailsEtMotsCles.setWidth("20%");detailsEtMotsCles.setAnimCollapse(true);detailsEtMotsCles.setTitleCollapse(true);detailsEtMotsCles.setCollapsible(true);panneauPrincipalImage.add(ongletsImage,new BorderLayoutData(RegionPosition.CENTER));panneauPrincipalImage.add(detailsEtMotsCles,regionEst);}public ImageControleur getIControleur() {return iControleur;}public Panel getPanneauPrincipalImage() {return panneauPrincipalImage;}public TabPanel getOngletsImage() {return ongletsImage;}public GalerieImageVue getGalerieImage() {return galerieImage;}public ListeImageVue getListeImage() {return listeImage;}public ZoomImageVue getZoomImage() {return zoomImage;}public Panel getDetailsEtMotsCles() {return detailsEtMotsCles;}public void synchroniserZoomListeGalerie(Object o, Rafraichissable r){if(r != getGalerieImage()){getGalerieImage().rafraichir(o);}if(r != getZoomImage()){getZoomImage().rafraichir(o);}if(r != getListeImage()){getListeImage().rafraichir(o);}}public void obtenirPhotoGalerie(Rafraichissable r){getIControleur().obtenirPhotoGalerie(r) ;}public void ClicGalerieImage(int index, Element node,EventObject e){Record rd = getGalerieImage().getDView().getRecord(node) ;String imgUrl = rd.getAsString("url_image");getZoomImage().rafraichir(imgUrl);if(DOM.eventGetType(e.getBrowserEvent()) == Event.ONDBLCLICK){getOngletsImage().setActiveTab(1);}}public void DoubleClicZoomImage(){getOngletsImage().setActiveTab(0);}public void ClicBoutonZoomImage(String arg){DataView dv = getGalerieImage().getDView();Store st = getGalerieImage().getSt();Record nRec = null ;final int selected = st.indexOf(dv.getSelectedRecords()[0]);int storeIndex = dv.indexOf(selected);if(arg.equals("prev")){// si la photo séléctionnée est la première, on passe à la// dernièreif (selected == 0) {storeIndex = st.getCount() - 1 ;nRec = st.getAt(storeIndex);}else{storeIndex = storeIndex - 1 ;nRec = st.getAt(storeIndex);}}if(arg.equals("suiv")){// si la photo selectionnée est la dernière on passe à la// premièreif (selected == st.getCount() - 1) {storeIndex = 0 ;nRec = st.getAt(0);}else{storeIndex = storeIndex + 1 ;nRec = st.getAt(storeIndex);}}if(nRec != null){getZoomImage().rafraichir(nRec.getAsString("url_image"));dv.select(storeIndex);}}}