1,7 → 1,5 |
|
package org.tela_botanica.client.vues; |
|
|
import java.util.Iterator; |
|
import org.tela_botanica.client.image.ImageMediateur; |
10,7 → 8,6 |
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.Window; |
import com.gwtext.client.core.EventObject; |
50,65 → 47,62 |
|
/** |
* Liste d'image composée de miniatures et d'information sur l'image |
* |
* @author aurelien |
* |
*/ |
public class ListeImageVue extends GridPanel implements Rafraichissable, VueListable { |
|
|
|
public class ListeImageVue extends GridPanel implements Rafraichissable, |
VueListable { |
|
// instance du médiateur |
private ImageMediateur iMediateur = null; |
|
|
private ColumnConfig numImage ; |
private ColumnConfig urlImage ; |
private ColumnConfig lieImage ; |
private ColumnConfig datImage ; |
private ColumnConfig appImage ; |
private ColumnModel modeleColonnes ; |
|
private boolean estInstancie = false ; |
|
|
|
private ImageMediateur iMediateur = null; |
|
private ColumnConfig numImage; |
private ColumnConfig urlImage; |
private ColumnConfig lieImage; |
private ColumnConfig datImage; |
private ColumnConfig appImage; |
private ColumnModel modeleColonnes; |
|
private boolean estInstancie = false; |
|
// données locales |
// store qui gère les données de la liste d'images |
private Store st = null ; |
private ColumnConfig cl = null ; |
|
|
private Store st = null; |
private ColumnConfig cl = null; |
|
public ListeImageVue(ImageMediateur im) { |
|
super() ; |
|
this.setId("listeImageGrid") ; |
|
this.iMediateur = im ; |
|
numImage = new ColumnConfig("numéro","num_image",100,true); |
datImage = new ColumnConfig("date","dat_image",120,true); |
lieImage = new ColumnConfig("lieu","lie_image",120,true); |
appImage = new ColumnConfig("appareil","app_image",200,true); |
urlImage = new ColumnConfig("Image","url_image_S",200,true,new Renderer() { |
|
public String render(Object value, CellMetadata cellMetadata, |
Record record, int rowIndex, int colNum, Store store) { |
super(); |
|
String ImgUrl = record.getAsString("url_image_S"); |
String ImgNum = record.getAsString("num_image"); |
return "<div class=\"img-list\"> <img src=\""+ImgUrl+"\" title='"+ImgNum+"'> </div>"; |
} |
this.setId("listeImageGrid"); |
|
}); |
|
ColumnConfig[] cm = {numImage,datImage,lieImage,appImage,urlImage}; |
this.iMediateur = im; |
|
numImage = new ColumnConfig("numéro", "num_image", 100, true); |
datImage = new ColumnConfig("date", "dat_image", 120, true); |
lieImage = new ColumnConfig("lieu", "lie_image", 120, true); |
appImage = new ColumnConfig("appareil", "app_image", 200, true); |
urlImage = new ColumnConfig("Image", "url_image_S", 200, true, |
new Renderer() { |
|
public String render(Object value, |
CellMetadata cellMetadata, Record record, |
int rowIndex, int colNum, Store store) { |
|
String ImgUrl = record.getAsString("url_image_S"); |
String ImgNum = record.getAsString("num_image"); |
return "<div class=\"img-list\"> <img src=\"" + ImgUrl |
+ "\" title='" + ImgNum + "'> </div>"; |
} |
|
}); |
|
ColumnConfig[] cm = { numImage, datImage, lieImage, appImage, urlImage }; |
modeleColonnes = new ColumnModel(cm); |
this.setColumnModel(modeleColonnes); |
this.setAutoScroll(true); |
this.setAutoWidth(true); |
|
|
|
// creation du store |
FieldDef defNumImage = new IntegerFieldDef("num_image"); |
FieldDef defDatImage = new StringFieldDef("dat_image"); |
117,188 → 111,157 |
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}; |
RecordDef rd = new RecordDef(defTab) ; |
st = new Store(rd) ; |
FieldDef[] defTab = { defNumImage, defDatImage, defLieImage, |
defAppImage, defUrlImageS, defUrlImageM, defUrlImage }; |
RecordDef rd = new RecordDef(defTab); |
st = new Store(rd); |
this.setStore(st); |
this.getView().setAutoFill(true) ; |
|
//this.setLoadMask(true) ; |
this.setLoadMask("chargement") ; |
|
ajouterListeners() ; |
|
|
this.getView().setAutoFill(true); |
|
// this.setLoadMask(true) ; |
this.setLoadMask("chargement"); |
|
ajouterListeners(); |
|
} |
|
public void ajouterListeners() |
{ |
|
public void ajouterListeners() { |
this.addListener(new ContainerListenerAdapter() { |
|
|
public void onHide(Component component) { |
// TODO Auto-generated method stub |
|
|
} |
|
|
public void onRender(Component component) { |
|
if(!isEstInstancie()) |
{ |
setEstInstancie(true) ; |
getIMediateur().synchroniserSelection("galerie") ; |
if (!isEstInstancie()) { |
setEstInstancie(true); |
getIMediateur().synchroniserSelection("galerie"); |
} |
} |
|
|
public void onShow(Component component) { |
|
|
|
} |
|
|
}); |
|
|
this.addGridRowListener(new GridRowListener() { |
|
public void onRowClick(GridPanel grid, int rowIndex, EventObject e) { |
|
public void onRowClick(GridPanel grid, int rowIndex, EventObject e) { |
; |
getIMediateur().clicListeImage(rowIndex) ; |
getIMediateur().clicListeImage(rowIndex); |
} |
|
public void onRowContextMenu(GridPanel grid, int rowIndex, |
EventObject e) { |
|
getIMediateur().montrerContextMenu(e) ; |
|
|
getIMediateur().montrerContextMenu(e); |
} |
|
public void onRowDblClick(GridPanel grid, int rowIndex, |
EventObject e) { |
|
|
getIMediateur().doubleClicListeImage(rowIndex) ; |
|
|
getIMediateur().doubleClicListeImage(rowIndex); |
} |
|
}); |
|
|
this.getSelectionModel().addListener(new RowSelectionListenerAdapter() { |
|
public void onSelectionChange(RowSelectionModel sm) { |
|
if(sm.getCount() <= 0) |
{ |
getIMediateur().aucuneSelection() ; |
} |
else |
{ |
getIMediateur().selection() ; |
|
if (sm.getCount() <= 0) { |
getIMediateur().aucuneSelection(); |
} else { |
getIMediateur().selection(); |
getIMediateur().synchroniserSelection("liste"); |
} |
|
} |
|
}); |
} |
|
public String[] getIdSelectionnees() |
{ |
Record[] selection = this.getSelectionModel().getSelections() ; |
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 ColumnConfig getCl() { |
return cl; |
} |
|
public String[] getIdSelectionnees() { |
Record[] selection = this.getSelectionModel().getSelections(); |
int taille = selection.length; |
String id_selection[] = new String[taille]; |
|
public void rafraichir(Object nouvelleDonnees, boolean repandreRafraichissement) { |
|
if(nouvelleDonnees instanceof Store) |
{ |
|
st = (Store)nouvelleDonnees; |
st.load(); |
this.reconfigure(st, this.getColumnModel()); |
for (int i = 0; i < selection.length; i++) { |
|
id_selection[i] = selection[i].getAsString("num_image"); |
} |
|
if(repandreRafraichissement) |
{ |
getIMediateur().synchroniserDonneesZoomListeGalerie(nouvelleDonnees, this) ; |
} |
|
return id_selection; |
} |
|
|
public ImageMediateur getIMediateur() { |
return iMediateur; |
} |
|
public ColumnModel getModeleColonnes() { |
return modeleColonnes; |
} |
|
public ColumnConfig getNumImage() { |
return numImage; |
} |
|
public Store getSt() { |
return st; |
} |
|
public ColumnConfig getUrlImage() { |
return urlImage; |
} |
|
|
public ColumnModel getModeleColonnes() { |
return modeleColonnes; |
/** |
* @return the estInstancie |
*/ |
public boolean isEstInstancie() { |
return estInstancie; |
} |
|
public void rafraichir(Object nouvelleDonnees, |
boolean repandreRafraichissement) { |
|
public Store getSt() { |
return st; |
} |
if (nouvelleDonnees instanceof Store) { |
|
st = (Store) nouvelleDonnees; |
st.load(); |
this.reconfigure(st, this.getColumnModel()); |
} |
|
public ColumnConfig getCl() { |
return cl; |
if (repandreRafraichissement) { |
getIMediateur().synchroniserDonneesZoomListeGalerie( |
nouvelleDonnees, this); |
} |
} |
|
public void selectionnerEnregistrements(Record[] sel) { |
|
/** |
* @return the estInstancie |
*/ |
public boolean isEstInstancie() { |
return estInstancie; |
if (isEstInstancie()) { |
getSelectionModel().clearSelections(); |
getSelectionModel().selectRecords(sel); |
} |
} |
|
|
/** |
* @param estInstancie the estInstancie to set |
* @param estInstancie |
* the estInstancie to set |
*/ |
public void setEstInstancie(boolean estInstancie) { |
this.estInstancie = estInstancie; |
} |
|
|
/** |
* @param mediateur the iMediateur to set |
* @param mediateur |
* the iMediateur to set |
*/ |
public void setIMediateur(ImageMediateur mediateur) { |
iMediateur = mediateur; |
} |
|
public void selectionnerEnregistrements(Record[] sel) { |
|
if(isEstInstancie()) |
{ |
getSelectionModel().clearSelections() ; |
getSelectionModel().selectRecords(sel) ; |
} |
} |
|
|
|
} |