Subversion Repositories eFlore/Archives.cel-v2

Compare Revisions

Ignore whitespace Rev 15 → Rev 16

/trunk/src/org/tela_botanica/client/modeles/ImageCarnet.java
91,11 → 91,34
String valeur = image.get(key).isString().stringValue() ;
this.put(key, valeur) ;
}
else
{
String valeur = " " ;
this.put(key, valeur) ;
}
}
 
}
public String toString()
{
String valeur = " ";
for (Iterator iterator = this.keySet().iterator(); iterator.hasNext();) {
String key = (String) iterator.next();
if(this.get(key) != null)
{
valeur += "cle : "+key+" valeur :"+(String)this.get(key)+"\n" ;
}
}
return valeur ;
}
public String renvoyerValeurCorrecte(String cle)
{
if(this.containsKey((cle)))
124,7 → 147,7
public String getBaseUrl()
{
return "http://localhost/Documents/images_serveur/" ;
return "http://162.38.234.9/Documents/images_serveur/" ;
}
 
public String getUrl() {
166,4 → 189,71
return renvoyerValeurCorrecte("ci_meta_model") ;
}
public String[][] getMetadonnesIptc() {
String[][] metaIptc = new String[12][2] ;
int elem = 0 ;
for (Iterator it = this.keySet().iterator(); it.hasNext();)
{
String key = (String)it.next();
// on filtre le "ci"
String type[] = key.split("_",3) ;
// si c'est une metadonnee exif ou iptc
if(type[1].equals("meta"))
{
String[] genre = type[2].split("_",2) ;
if(genre[0].equals("iptc"))
{
String nom = genre[1] ;
metaIptc[elem][0] = nom ;
metaIptc[elem][1] = renvoyerValeurCorrecte(key) ;
elem++ ;
}
}
}
return metaIptc ;
}
public Object[][] getMetadonnesExif() {
String[][] metaExif = new String[31][2] ;
int elem = 0 ;
for (Iterator it = this.keySet().iterator(); it.hasNext();)
{
String key = (String)it.next();
// on filtre le "ci"
String type[] = key.split("_",3) ;
// si c'est une metadonnee exif ou iptc
if(type[1].equals("meta"))
{
String[] genre = type[2].split("_",2) ;
if(genre[0].equals("exif"))
{
String nom = genre[1] ;
metaExif[elem][0] = nom ;
metaExif[elem][1] = renvoyerValeurCorrecte(key) ;
elem++ ;
}
}
}
return metaExif ;
}
}
/trunk/src/org/tela_botanica/client/modeles/ListeImageAsynchroneDAO.java
61,7 → 61,7
}
}
r.rafraichir(photoData);
r.rafraichir(photoData,true);
}
});
}
/trunk/src/org/tela_botanica/client/image/ImageMediateur.java
4,11 → 4,14
import org.tela_botanica.client.vues.GalerieImageVue;
import org.tela_botanica.client.vues.ListeImageVue;
import org.tela_botanica.client.vues.MenuImageVue;
import org.tela_botanica.client.vues.PanneauMetadonneesVue;
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.Function;
import com.gwtext.client.core.RegionPosition;
import com.gwtext.client.data.Record;
import com.gwtext.client.data.Store;
15,6 → 18,8
import com.gwtext.client.widgets.DataView;
import com.gwtext.client.widgets.Panel;
import com.gwtext.client.widgets.TabPanel;
import com.gwtext.client.widgets.Tool;
import com.gwtext.client.widgets.Tool.ToolType;
import com.gwtext.client.widgets.layout.BorderLayout;
import com.gwtext.client.widgets.layout.BorderLayoutData;
import com.gwtext.client.widgets.layout.FitLayout;
40,6 → 45,7
// Panneau à onglet pour la liste, la galerie et la vue en grand
private TabPanel ongletsImage = null ;
private Panel panneauMenuEtOngletsImage = null ;
private GalerieImageVue galerieImage = null ;
private ListeImageVue listeImage = null ;
50,6 → 56,8
private MenuImageVue menuImageVue = null ;
private PanneauMetadonneesVue metadonneesIptcExif = null ;
public static ImageMediateur Instance()
{
if(!estInstancie)
79,6 → 87,8
iModele = ImageModele.Instance(this);
panneauPrincipalImage.setLayout(new BorderLayout());
panneauMenuEtOngletsImage = new Panel() ;
panneauMenuEtOngletsImage.setLayout(new BorderLayout()) ;
ongletsImage = new TabPanel();
galerieImage = new GalerieImageVue(this) ;
101,7 → 111,14
detailsEtMotsCles.setTitleCollapse(true);
detailsEtMotsCles.setCollapsible(true);
panneauPrincipalImage.add(ongletsImage,regionCentre);
metadonneesIptcExif = new PanneauMetadonneesVue(this) ;
detailsEtMotsCles.add(metadonneesIptcExif) ;
panneauMenuEtOngletsImage.add(menuImageVue,regionNord) ;
panneauMenuEtOngletsImage.add(ongletsImage,regionCentre);
panneauPrincipalImage.add(panneauMenuEtOngletsImage,regionCentre);
panneauPrincipalImage.add(detailsEtMotsCles,regionEst);
}
138,18 → 155,23
public void synchroniserZoomListeGalerie(Object o, Rafraichissable r)
{
getIModele().rafraichirListeImage(o) ;
if(r != getGalerieImage())
{
getGalerieImage().rafraichir(o);
getGalerieImage().rafraichir(o,false);
}
if(r != getZoomImage())
{
getZoomImage().rafraichir(o);
getZoomImage().rafraichir(o,false);
}
if(r != getListeImage())
{
getListeImage().rafraichir(o);
getListeImage().rafraichir(o,false);
}
}
158,6 → 180,11
getIModele().obtenirPhotoGalerie(r) ;
}
public void obtenirMetadonnees(Rafraichissable r, String id)
{
getIModele().obtenirMetadonnees(r, id) ;
}
public void uploaderImage()
{
getIModele().uploaderImages() ;
169,14 → 196,18
Record rd = getGalerieImage().getDView().getRecord(node) ;
String imgUrl = rd.getAsString("url_image");
getZoomImage().rafraichir(imgUrl);
getZoomImage().rafraichir(imgUrl,false);
if(DOM.eventGetType(e.getBrowserEvent()) == Event.ONDBLCLICK)
{
getOngletsImage().setActiveTab(1);
}
String imgNum = rd.getAsString("num_image");
obtenirMetadonnees(metadonneesIptcExif,imgNum) ;
}
public void montrerContextMenu(EventObject e)
{
menuImageVue.showAt(e.getXY()) ;
234,8 → 265,11
if(nRec != null)
{
getZoomImage().rafraichir(nRec.getAsString("url_image"));
getZoomImage().rafraichir(nRec.getAsString("url_image"),false);
dv.select(storeIndex);
String imgNum = nRec.getAsString("num_image");
obtenirMetadonnees(metadonneesIptcExif,imgNum) ;
}
}
/trunk/src/org/tela_botanica/client/image/ImageModele.java
1,7 → 1,11
package org.tela_botanica.client.image;
 
import java.util.Iterator;
 
import org.tela_botanica.client.interfaces.Rafraichissable;
import org.tela_botanica.client.modeles.ImageCarnet;
import org.tela_botanica.client.modeles.ImageUploaderAsynchroneDAO;
import org.tela_botanica.client.modeles.ListeImage;
import org.tela_botanica.client.modeles.ListeImageAsynchroneDAO;
 
/**
16,6 → 20,8
private ImageMediateur iMediateur = null ;
private ListeImage cacheImage = new ListeImage(0) ;
static ImageModele Instance(ImageMediateur im)
{
if(!estInstancie)
43,5 → 49,31
{
ImageUploaderAsynchroneDAO.choisirMethodeUpload() ;
}
public void rafraichirListeImage(Object o)
{
cacheImage = (ListeImage)o ;
}
public void obtenirMetadonnees(Rafraichissable r, String id)
{
for(Iterator it = cacheImage.iterator() ; it.hasNext() ;)
{
ImageCarnet im = (ImageCarnet)it.next() ;
if(im.getOrdre().equals(id))
{
Object meta[] = new Object[2] ;
meta[0] = im.getMetadonnesExif() ;
meta[1] = im.getMetadonnesIptc() ;
r.rafraichir(meta,false) ;
}
}
}
 
}
/trunk/src/org/tela_botanica/client/vues/ListeImageVue.java
55,8 → 55,10
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 ;
67,6 → 69,8
super() ;
this.setId("listeImageGrid") ;
this.iMediateur = im ;
numImage = new ColumnConfig("numéro","num_image",100,true);
112,6 → 116,7
private void initialiser() {
getIMediateur().obtenirPhotoGalerie(this);
estInstancie = true ;
}
147,9 → 152,9
}
 
 
public void rafraichir(Object nouvelleDonnees) {
public void rafraichir(Object nouvelleDonnees, boolean repandreRafraichissement) {
if(nouvelleDonnees instanceof ListeImage)
if(nouvelleDonnees instanceof ListeImage && estInstancie)
{
ListeImage data = (ListeImage) nouvelleDonnees ;
Object[][] photoData = new Object[data.size()][5];
179,6 → 184,11
this.reconfigure(st, this.getColumnModel());
photoStore.load();
}
if(repandreRafraichissement)
{
getIMediateur().synchroniserZoomListeGalerie(nouvelleDonnees, this) ;
}
}
 
 
/trunk/src/org/tela_botanica/client/vues/ZoomImageVue.java
55,7 → 55,7
}
 
public void rafraichir(Object nouvelleDonnees) {
public void rafraichir(Object nouvelleDonnees, boolean repandreRafraichissement) {
if(nouvelleDonnees instanceof String)
{
/trunk/src/org/tela_botanica/client/vues/PanneauMetadonneesVue.java
New file
0,0 → 1,125
package org.tela_botanica.client.vues;
 
import java.util.Date;
 
import org.tela_botanica.client.image.ImageMediateur;
import org.tela_botanica.client.interfaces.Rafraichissable;
 
import com.gwtext.client.core.NameValuePair;
import com.gwtext.client.data.Store;
import com.gwtext.client.data.StringFieldDef;
import com.gwtext.client.widgets.Panel;
import com.gwtext.client.widgets.TabPanel;
import com.gwtext.client.widgets.grid.GridView;
import com.gwtext.client.widgets.grid.PropertyGridPanel;
 
public class PanneauMetadonneesVue extends TabPanel implements Rafraichissable {
 
private ImageMediateur imediateur = null ;
private PropertyGridPanel ExifGrid = null ;
private PropertyGridPanel IptcGrid = null ;
private GridView gViewExif = null ;
private GridView gViewIptc = null ;
private Panel panneauExifGrid = null;
private Panel panneauIptcGrid = null ;
private Panel panneauInfoGrid = null ;
boolean estInstancie = false ;
public PanneauMetadonneesVue(ImageMediateur im)
{
super() ;
imediateur = im ;
panneauExifGrid = new Panel("Exif") ;
panneauIptcGrid = new Panel("Iptc") ;
panneauInfoGrid = new Panel("info") ;
this.add(panneauInfoGrid) ;
this.add(panneauExifGrid) ;
this.add(panneauIptcGrid) ;
gViewExif = new GridView();
gViewExif.setForceFit(true);
ExifGrid = new PropertyGridPanel() ;
ExifGrid.setId("meta_exif");
ExifGrid.setView(gViewExif);
ExifGrid.setNameText("Métadonnées Exif");
ExifGrid.setAutoWidth(true);
ExifGrid.setAutoHeight(true);
ExifGrid.setSorted(false);
gViewIptc = new GridView();
gViewIptc.setForceFit(true);
IptcGrid = new PropertyGridPanel() ;
IptcGrid.setId("meta_iptc");
IptcGrid.setView(gViewIptc);
IptcGrid.setNameText("Métadonnées IPTC");
IptcGrid.setAutoWidth(true);
IptcGrid.setAutoHeight(true);
IptcGrid.setSorted(false);
panneauExifGrid.add(ExifGrid);
panneauIptcGrid.add(IptcGrid);
}
public ImageMediateur getIMediateur()
{
return imediateur ;
}
public void rafraichir(Object nouvelleDonnees, boolean repandreRafraichissement) {
if(nouvelleDonnees instanceof Object[])
{
Object meta[] = (Object[])nouvelleDonnees ;
String[][] exif = (String[][])meta[0] ;
String[][] iptc = (String[][])meta[1] ;
NameValuePair[] exifSource = new NameValuePair[exif.length] ;
NameValuePair[] iptcSource = new NameValuePair[iptc.length] ;
int maxLength ;
if(exif.length <= iptc.length)
{
maxLength = iptc.length ;
}
else
{
maxLength = exif.length ;
}
for(int i = 0; i < maxLength ; i++)
{
if(i < exif.length)
{
exifSource[i] = new NameValuePair(exif[i][0],exif[i][1]) ;
}
if(i < iptc.length)
{
iptcSource[i] = new NameValuePair(iptc[i][0],iptc[i][1]) ;
}
}
ExifGrid.setSource(exifSource);
IptcGrid.setSource(iptcSource);
gViewExif.refresh(true) ;
gViewIptc.refresh(true) ;
}
}
}
/trunk/src/org/tela_botanica/client/vues/GalerieImageVue.java
181,7 → 181,7
public void rafraichir(Object nouvelleDonnees) {
public void rafraichir(Object nouvelleDonnees, boolean repandreRafraichissement) {
if(nouvelleDonnees instanceof ListeImage)
{
209,7 → 209,13
st = photoStore;
dView.setStore(st);
dView.refresh();
if(repandreRafraichissement)
{
getIMediateur().synchroniserZoomListeGalerie(nouvelleDonnees, this) ;
}
}
 
}
 
 
/trunk/src/org/tela_botanica/client/interfaces/Rafraichissable.java
2,6 → 2,6
 
public interface Rafraichissable {
public void rafraichir(Object nouvelleDonnees);
public void rafraichir(Object nouvelleDonnees, boolean repandreRaffraichissement);
 
}