Subversion Repositories eFlore/Archives.cel-v2

Compare Revisions

Regard whitespace Rev 26 → Rev 27

/trunk/src/org/tela_botanica/client/vues/GalerieImageVue.java
1,48 → 1,31
package org.tela_botanica.client.vues;
 
 
import java.util.Iterator;
 
import org.tela_botanica.client.image.ImageMediateur;
import org.tela_botanica.client.interfaces.Rafraichissable;
import org.tela_botanica.client.interfaces.VueListable;
import org.tela_botanica.client.modeles.ImageCarnet;
import org.tela_botanica.client.modeles.ListeImageCarnet;
 
 
import com.google.gwt.core.client.JavaScriptObject;
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.XTemplate;
import com.gwtext.client.data.ArrayReader;
import com.gwtext.client.data.FieldDef;
import com.gwtext.client.data.IntegerFieldDef;
import com.gwtext.client.data.MemoryProxy;
import com.gwtext.client.data.Record;
import com.gwtext.client.data.RecordDef;
import com.gwtext.client.data.Store;
import com.gwtext.client.data.StringFieldDef;
import com.gwtext.client.util.Format;
import com.gwtext.client.widgets.BoxComponent;
import com.gwtext.client.widgets.Component;
import com.gwtext.client.widgets.Container;
import com.gwtext.client.widgets.DataView;
import com.gwtext.client.widgets.Observable;
import com.gwtext.client.widgets.Panel;
import com.gwtext.client.widgets.DataView.Data;
import com.gwtext.client.widgets.event.ContainerListener;
import com.gwtext.client.widgets.event.ContainerListenerAdapter;
import com.gwtext.client.widgets.event.DataViewListener;
import com.gwtext.client.widgets.event.DataViewListenerAdapter;
 
/**
* Galerie d'images miniatures
*
* @author aurelien
*
*/
public class GalerieImageVue extends Panel implements Rafraichissable, VueListable {
public class GalerieImageVue extends Panel implements Rafraichissable,
VueListable {
 
// instance du médiateur
private ImageMediateur iMediateur = null;
49,31 → 32,25
private DataView dView = null ;
private Store st = null ;
public GalerieImageVue(ImageMediateur im)
{
public GalerieImageVue(ImageMediateur im) {
super("Galerie");
iMediateur = im ;
this.addListener(new ContainerListenerAdapter() {
 
 
public void onHide(Component component) {
// TODO Auto-generated method stub
}
 
 
public void onRender(Component component) {
// TODO Auto-generated method stub
}
 
 
public void onShow(Component component) {
if(dView == null)
{
if (dView == null) {
initialiser();
}
}
82,16 → 59,12
}
public void ajouterListenersDataView() {
public void ajouterListenersDataView()
{
// ajout de listeners pour la gestion de la selection
// dans la galerie
dView.addListener(new DataViewListenerAdapter() {
 
 
 
public void onClick(DataView source, int index, Element node,
EventObject e) {
99,13 → 72,11
}
 
 
public void onContainerClick(DataView source, EventObject e) {
//TODO: appeler le mediateur
}
 
 
public void onContextMenu(DataView source, int index, Element node,
EventObject e) {
114,7 → 85,6
}
 
 
public void onDblClick(DataView source, int index, Element node,
EventObject e) {
123,15 → 93,11
}
 
 
public void onSelectionChange(DataView view, Element[] selections) {
if(selections.length <= 0)
{
if (selections.length <= 0) {
getIMediateur().aucuneSelection();
}
else
{
} else {
getIMediateur().selection() ;
getIMediateur().synchroniserSelection("galerie") ;
}
140,10 → 106,33
});
}
public DataView getDView() {
return dView;
}
public String[] getIdSelectionnees() {
Record[] selection = getDView().getSelectedRecords();
int taille = selection.length;
String id_selection[] = new String[taille];
 
for (int i = 0; i < selection.length; i++) {
 
id_selection[i] = selection[i].getAsString("num_image");
}
 
return id_selection;
}
 
public ImageMediateur getIMediateur() {
return iMediateur;
}
 
public Store getSt() {
return st;
}
 
// instantiation paresseuse
public void initialiser()
{
public void initialiser() {
// Preparation de la dataview et du template
// le template va créer une div contenant une image
// pour chacune des photos
159,6 → 148,7
// la dataview affichera les images en accord avec le template
// cree precedemment
dView = new DataView("div.thumb-wrap") {
 
public void prepareData(Data data) {
data.setProperty("shortName", Format.ellipsis(data
.getProperty("num_image"), 15));
173,7 → 163,6
dView.setOverCls("x-view-over");
dView.setEmptyText("Aucune image à afficher");
// creation du store
FieldDef defNumImage = new IntegerFieldDef("num_image");
FieldDef defDatImage = new StringFieldDef("dat_image");
182,7 → 171,8
FieldDef defUrlImageS = new StringFieldDef("url_image_S");
FieldDef defUrlImageM = new StringFieldDef("url_image_M");
FieldDef defUrlImage = new StringFieldDef("url_image");
FieldDef[] defTab = {defNumImage,defDatImage,defLieImage,defAppImage,defUrlImageS,defUrlImageM,defUrlImage};
FieldDef[] defTab = { defNumImage, defDatImage, defLieImage,
defAppImage, defUrlImageS, defUrlImageM, defUrlImage };
RecordDef rd = new RecordDef(defTab) ;
st = new Store(rd) ;
dView.setStore(st);
197,12 → 187,10
getIMediateur().obtenirPhotoGalerie(this);
}
public void rafraichir(Object nouvelleDonnees,
boolean repandreRafraichissement) {
public void rafraichir(Object nouvelleDonnees, boolean repandreRafraichissement) {
if(nouvelleDonnees instanceof Store)
{
if (nouvelleDonnees instanceof Store) {
st = (Store)nouvelleDonnees;
st.load() ;
dView.setStore(st);
209,42 → 197,12
dView.refresh();
}
if(repandreRafraichissement)
{
getIMediateur().synchroniserDonneesZoomListeGalerie(nouvelleDonnees, this) ;
if (repandreRafraichissement) {
getIMediateur().synchroniserDonneesZoomListeGalerie(
nouvelleDonnees, this);
}
}
 
 
public ImageMediateur getIMediateur() {
return iMediateur;
}
 
 
public DataView getDView() {
return dView;
}
 
 
public Store getSt() {
return st;
}
public String[] getIdSelectionnees()
{
Record[] selection = getDView().getSelectedRecords() ;
int taille = selection.length ;
String id_selection[] = new String[taille] ;
for (int i = 0; i < selection.length; i++) {
id_selection[i] = selection[i].getAsString("num_image") ;
}
return id_selection ;
}
 
 
public void selectionnerImages(int[] ids) {
getDView().select(ids) ;