Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 2673 → Rev 2726

/trunk/src/org/tela_botanica/client/image/ImageModele.java
144,15 → 144,9
public ImageMediateur getIMediateur() {
return iMediateur;
}
public String[][] obtenirFiltresPourComptage() {
 
/**
* Appelle le DAO asynchrone pour obtenir la liste des images
*
* @param r
* le rafraichissable auxquel on enverra les données
*/
public void obtenirNombrePhotoGalerie(Rafraichissable r) {
 
String valeursFiltres[][] = getIMediateur().renvoyerFiltres();
 
int tailleFiltres = valeursFiltres.length;
167,7 → 161,41
for (int i = 0; i < valeursFiltres.length; i++) {
criteres[i] = valeursFiltres[i];
}
return criteres;
}
public String[][] obtenirFiltresPourDonnees() {
 
String valeursFiltres[][] = getIMediateur().renvoyerFiltres();
int tailleFiltres = valeursFiltres.length;
String[][] criteres2 = new String[tailleFiltres + 2][2];
String[] limite = { "limite", "" + taillePage };
String[] taillePage = { "numero_page", "" + pageEncours };
criteres2[0] = limite;
criteres2[1] = taillePage;
 
for (int i = 0; i < valeursFiltres.length; i++) {
criteres2[i + 2] = valeursFiltres[i];
}
return valeursFiltres;
}
 
/**
* Appelle le DAO asynchrone pour obtenir la liste des images
*
* @param r
* le rafraichissable auxquel on enverra les données
*/
public void obtenirNombrePhotoGalerie(Rafraichissable r) {
 
String[][] criteres = obtenirFiltresPourComptage();
 
// on les crée un DAO auquel on les transmet et qui demande le nombre
// d'images correspondantes (pour les pages)
NombreImageAsynchroneDAO niaDAO = new NombreImageAsynchroneDAO(this);
180,16 → 208,22
int tailleFiltres = valeursFiltres.length;
String[][] criteres2 = new String[tailleFiltres + 2][2];
String[][] criteres2 = new String[tailleFiltres + 4][2];
String[] tri = { "tri", "" + getIMediateur().getTri() };
String[] triDir = { "dir", "" + getIMediateur().getDirectionTri()};
String[] limite = { "limite", "" + taillePage };
String[] taillePage = { "numero_page", "" + pageEncours };
criteres2[0] = limite;
criteres2[1] = taillePage;
criteres2[2] = tri;
criteres2[3] = triDir;
 
for (int i = 0; i < valeursFiltres.length; i++) {
criteres2[i + 2] = valeursFiltres[i];
criteres2[i + 4] = valeursFiltres[i];
}
// et on crée un DAO auquel on les transmet et qui envoie une requete
414,7 → 448,7
// si l'on a reçu une liste d'images
if (nouvelleDonnees instanceof ListeImageCarnet) {
ListeImageCarnet data = (ListeImageCarnet) nouvelleDonnees;
Object[][] photoData = new Object[data.size()][13];
Object[][] photoData = new Object[data.size()][14];
int i = 0;
 
if (data.size() == 0) {
437,29 → 471,14
photoData[i][10] = im.getTailleImage()[1];
photoData[i][11] = im.getTailleImage()[0];
photoData[i][12] = im.getIdsObsAssociees();
photoData[i][13] = im.getIdsObsAssociees();
 
i++;
}
 
// creation du store qui les contient
FieldDef defNumImage = new IntegerFieldDef("num_image");
FieldDef defNomImage = new StringFieldDef("nom_original");
FieldDef defDatImage = new StringFieldDef("dat_image");
FieldDef defLieImage = new StringFieldDef("lie_image");
FieldDef defAppImage = new StringFieldDef("app_image");
FieldDef defUrlImageS = new StringFieldDef("url_image_S");
FieldDef defUrlImageM = new StringFieldDef("url_image_M");
FieldDef defUrlImage = new StringFieldDef("url_image");
FieldDef defNoteImage = new IntegerFieldDef("note_image");
FieldDef defIdImage = new IntegerFieldDef("id_image");
FieldDef defTailleX = new IntegerFieldDef("taille_x");
FieldDef defTailleY = new IntegerFieldDef("taille_y");
FieldDef defObsAssociees = new StringFieldDef("obs_associees");
FieldDef[] defTab = { defNumImage,defNomImage, defDatImage, defLieImage,
defAppImage, defUrlImageS, defUrlImageM, defUrlImage,
defNoteImage, defIdImage, defTailleX, defTailleY, defObsAssociees };
RecordDef rd = new RecordDef(defTab);
 
RecordDef rd = new RecordDef(ImageMediateur.getDefinitionsChampsGrilleImages());
 
final MemoryProxy dataProxy = new MemoryProxy(photoData);
final ArrayReader reader = new ArrayReader(rd);
 
470,9 → 489,6
st = photoStore;
st.load();
 
// par défaut le store est trié sur le numéro d'image
st.sort("num_image");
 
// si on doit répandre les données, on notifie le médiateur qui les
// distribuera à son tour
if (repandreRafraichissement) {
910,8 → 926,11
 
public void obtenirMiniListeObservations(Rafraichissable r, String[] critere, int taillePage, int numeroPage) {
String[][] criteres = {{critere[0],critere[1]},{"limite",""+taillePage},{"numero_page",""+numeroPage}} ;
String[] tri = { "tri", "" + getIMediateur().getTriMiniListeObs() };
String[] triDir = { "tri_dir", "" + getIMediateur().getDirectionTriMiniListeObs()};
String[][] criteres = {{critere[0],critere[1]},{"limite",""+taillePage},{"numero_page",""+numeroPage}, tri, triDir} ;
// et on crée un DAO auquel on les transmet et qui envoie une requete pour recevoir les images
ListeObservationAsynchroneDAO loaDAO = new ListeObservationAsynchroneDAO(this);
loaDAO.obtenirListeObservation(r, iMediateur.getIdentifiant(), criteres);
/trunk/src/org/tela_botanica/client/image/ImageMediateur.java
30,8 → 30,13
import com.gwtext.client.core.Ext;
import com.gwtext.client.core.ExtElement;
import com.gwtext.client.core.RegionPosition;
import com.gwtext.client.core.SortDir;
import com.gwtext.client.data.FieldDef;
import com.gwtext.client.data.IntegerFieldDef;
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.data.Tree;
import com.gwtext.client.dd.DragData;
import com.gwtext.client.dd.DragSource;
592,8 → 597,7
}
 
public void obtenirPhotoGalerie() {
public void obtenirPhotoGalerie() {
obtenirPhotoGalerie(getGalerieImage());
}
 
607,6 → 611,16
masquerChargement();
getIModele().obtenirNombrePhotoGalerie(r);
}
/** envoie au modèle une demande de mise a jour
*
* @param r
* la vue demandeuse de mise a jour
*/
public void obtenirPhotoGalerieSansCalculerPages(Rafraichissable r) {
masquerChargement();
getIModele().obtenirPhotoGalerie(r);
}
 
/**
* demande au modèle les métadonnées associées a une image
1816,5 → 1830,48
obtenirMotsClesId(fnMc, ids[ids.length - 1]);
}
}
public String getTri() {
// centralise le tri suivant la vue active
// pour le moment seule la liste est triable
return listeImage.renvoyerTri();
}
public String getDirectionTri() {
// centralise la direction de tri suivant la vue active
return listeImage.renvoyerDirectionTri();
}
public static FieldDef[] getDefinitionsChampsGrilleImages() {
// creation du store
FieldDef defNumImage = new IntegerFieldDef("num_image");
FieldDef defNomImage = new StringFieldDef("nom_original");
FieldDef defDatImage = new StringFieldDef("dat_image");
FieldDef defLieImage = new StringFieldDef("lie_image");
FieldDef defAppImage = new StringFieldDef("app_image");
FieldDef defUrlImageS = new StringFieldDef("url_image_S");
FieldDef defUrlImageM = new StringFieldDef("url_image_M");
FieldDef defUrlImage = new StringFieldDef("url_image");
FieldDef defNoteImage = new StringFieldDef("note_image");
FieldDef defidImage = new StringFieldDef("id_image");
FieldDef defTailleX = new IntegerFieldDef("taille_x");
FieldDef defTailleY = new IntegerFieldDef("taille_y");
FieldDef defObsAssociees = new StringFieldDef("obs_associees");
FieldDef defTransmis = new StringFieldDef("transmis");
FieldDef[] defTab = { defNumImage, defNomImage, defDatImage, defLieImage,
defAppImage, defUrlImageS, defUrlImageM, defUrlImage,
defNoteImage, defidImage, defTailleX, defTailleY, defObsAssociees, defTransmis};
 
return defTab;
}
 
public String getTriMiniListeObs() {
return metadonneesIptcExif.getMiniListeObservation().renvoyerTri();
}
 
public String getDirectionTriMiniListeObs() {
return metadonneesIptcExif.getMiniListeObservation().renvoyerDirectionTri();
}
 
}