Subversion Repositories eFlore/Archives.cel-v2

Compare Revisions

Ignore whitespace Rev 17 → Rev 18

/trunk/src/org/tela_botanica/client/image/ImageMediateur.java
115,7 → 115,7
detailsEtMotsCles.add(metadonneesIptcExif) ;
panneauMenuEtOngletsImage.add(menuImageVue,regionNord) ;
//panneauMenuEtOngletsImage.add(menuImageVue,regionNord) ;
panneauMenuEtOngletsImage.add(ongletsImage,regionCentre);
panneauPrincipalImage.add(panneauMenuEtOngletsImage,regionCentre);
123,7 → 123,10
}
public String getIdentifiant()
{
return "0" ;
}
 
public ImageModele getIModele() {
return iModele;
185,6 → 188,13
getIModele().obtenirMetadonnees(r, id) ;
}
public void mettreAJourInfo(String commentaires, String date)
{
String ids[] = getGalerieImage().getIdSelectionnee() ;
getIModele().mettreAJourCacheImage(commentaires, date, ids) ;
}
public void uploaderImage()
{
getIModele().uploaderImages() ;
207,6 → 217,10
obtenirMetadonnees(metadonneesIptcExif,imgNum) ;
}
public void rafraichirToutesVues()
{
obtenirPhotoGalerie(getGalerieImage());
}
public void montrerContextMenu(EventObject e)
{
/trunk/src/org/tela_botanica/client/image/ImageModele.java
39,6 → 39,11
iMediateur = im ;
}
public ImageMediateur getIMediateur()
{
return iMediateur ;
}
public void obtenirPhotoGalerie(Rafraichissable r)
{
ListeImageAsynchroneDAO liaDAO = new ListeImageAsynchroneDAO();
47,7 → 52,9
public void uploaderImages()
{
ImageUploaderAsynchroneDAO.choisirMethodeUpload() ;
ImageUploaderAsynchroneDAO IuADaO = new ImageUploaderAsynchroneDAO() ;
IuADaO.setIMediateur(getIMediateur());
IuADaO.choisirMethodeUpload() ;
}
public void rafraichirListeImage(Object o)
58,22 → 65,33
public void obtenirMetadonnees(Rafraichissable r, String id)
{
for(Iterator it = cacheImage.iterator() ; it.hasNext() ;)
for(Iterator it = cacheImage.keySet().iterator() ; it.hasNext() ;)
{
ImageCarnet im = (ImageCarnet)it.next() ;
ImageCarnet im = (ImageCarnet)cacheImage.get(it.next()) ;
if(im.getOrdre().equals(id))
{
Object meta[] = new Object[2] ;
Object meta[] = new Object[3] ;
meta[0] = im.getMetadonnesExif() ;
meta[1] = im.getMetadonnesIptc() ;
meta[2] = im.getInfoGenerales() ;
r.rafraichir(meta,false) ;
}
}
}
public void mettreAJourCacheImage(String commentaires, String date, String ids[])
{
for (int i = 0; i < ids.length; i++) {
String key = ids[i] ;
ImageCarnet ic = (ImageCarnet)cacheImage.get(key) ;
ic.miseAJourInfoGenerales(commentaires, date) ;
}
}
 
}
/trunk/src/org/tela_botanica/client/vues/ListeImageVue.java
158,14 → 158,17
{
ListeImage data = (ListeImage) nouvelleDonnees ;
Object[][] photoData = new Object[data.size()][5];
for(int i = 0 ; i<data.size();i++)
int i = 0 ;
for (Iterator it = data.keySet().iterator(); it.hasNext();)
{
ImageCarnet im = (ImageCarnet) data.elementAt(i);
ImageCarnet im = (ImageCarnet) data.get(it.next());
photoData[i][0] = im.getOrdre() ;
photoData[i][1] = im.getDate() ;
photoData[i][2] = im.getIptcCity() ;
photoData[i][3] = im.getMake()+" "+im.getModel() ;
photoData[i][4] = im.getUrl() ;
i++ ;
}
FieldDef defNumImage = new IntegerFieldDef("num_image");
/trunk/src/org/tela_botanica/client/vues/PanneauMetadonneesVue.java
5,13 → 5,31
import org.tela_botanica.client.image.ImageMediateur;
import org.tela_botanica.client.interfaces.Rafraichissable;
 
import com.google.gwt.core.client.JavaScriptObject;
import com.google.gwt.user.client.ui.ClickListener;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.TextBox;
import com.google.gwt.user.client.ui.Widget;
import com.gwtext.client.core.EventObject;
import com.gwtext.client.core.NameValuePair;
import com.gwtext.client.data.Store;
import com.gwtext.client.data.StringFieldDef;
import com.gwtext.client.widgets.Button;
import com.gwtext.client.widgets.Component;
import com.gwtext.client.widgets.Panel;
import com.gwtext.client.widgets.TabPanel;
import com.gwtext.client.widgets.event.ButtonListener;
import com.gwtext.client.widgets.event.ButtonListenerAdapter;
import com.gwtext.client.widgets.form.DateField;
import com.gwtext.client.widgets.form.TextArea;
import com.gwtext.client.widgets.form.TextField;
import com.gwtext.client.widgets.grid.GridView;
import com.gwtext.client.widgets.grid.PropertyGridPanel;
import com.gwtext.client.widgets.layout.RowLayout;
import com.gwtext.client.widgets.layout.RowLayoutData;
import com.gwtext.client.widgets.layout.VerticalLayout;
import com.gwtext.client.widgets.menu.DateItem;
import com.gwtext.client.widgets.menu.Menu;
 
public class PanneauMetadonneesVue extends TabPanel implements Rafraichissable {
 
27,6 → 45,10
private Panel panneauIptcGrid = null ;
private Panel panneauInfoGrid = null ;
private TextField commentaireGeneral = null ;
private DateField dateImage = null ;
Button validerInfo = null ;
boolean estInstancie = false ;
public PanneauMetadonneesVue(ImageMediateur im)
39,7 → 61,38
panneauIptcGrid = new Panel("Iptc") ;
panneauInfoGrid = new Panel("info") ;
panneauInfoGrid.setLayout(new VerticalLayout());
panneauInfoGrid.setHeight(500);
Label labelComm = new Label("Commentaires :") ;
labelComm.setHeight("20px") ;
commentaireGeneral = new TextArea() ;
commentaireGeneral.setAutoWidth(true) ;
Label labelDate = new Label("Date :") ;
labelDate.setHeight("20px") ;
dateImage = new DateField() ;
dateImage.setAutoWidth(true) ;
dateImage.setFormat("d/m/y") ;
validerInfo = new Button("OK") ;
validerInfo.addListener(new ButtonListenerAdapter() {
 
public void onClick(Button button, EventObject e) {
getIMediateur().mettreAJourInfo(commentaireGeneral.getText(), dateImage.getRawValue()) ;
}
});
panneauInfoGrid.add(labelComm) ;
panneauInfoGrid.add(commentaireGeneral) ;
panneauInfoGrid.add(labelDate) ;
panneauInfoGrid.add(dateImage) ;
panneauInfoGrid.add(validerInfo) ;
this.add(panneauInfoGrid) ;
this.add(panneauExifGrid) ;
this.add(panneauIptcGrid) ;
85,6 → 138,7
Object meta[] = (Object[])nouvelleDonnees ;
String[][] exif = (String[][])meta[0] ;
String[][] iptc = (String[][])meta[1] ;
String[][] gen = (String[][])meta[2] ;
NameValuePair[] exifSource = new NameValuePair[exif.length] ;
NameValuePair[] iptcSource = new NameValuePair[iptc.length] ;
113,9 → 167,13
}
}
commentaireGeneral.setValue(gen[0][1]) ;
dateImage.setValue(gen[1][1]) ;
ExifGrid.setSource(exifSource);
IptcGrid.setSource(iptcSource);
gViewExif.refresh(true) ;
gViewIptc.refresh(true) ;
/trunk/src/org/tela_botanica/client/vues/GalerieImageVue.java
1,6 → 1,8
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.modeles.ImageCarnet;
16,6 → 18,7
import com.gwtext.client.data.ArrayReader;
import com.gwtext.client.data.FieldDef;
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;
187,13 → 190,16
{
ListeImage data = (ListeImage) nouvelleDonnees ;
Object[][] photoData = new Object[data.size()][4];
for(int i = 0 ; i<data.size();i++)
int i = 0 ;
for (Iterator it = data.keySet().iterator(); it.hasNext();)
{
ImageCarnet im = (ImageCarnet) data.elementAt(i);
ImageCarnet im = (ImageCarnet) data.get(it.next());
photoData[i][0] = im.getOrdre() ;
photoData[i][1] = im.getUrl() ;
photoData[i][2] = im.getSUrl() ;
photoData[i][3] = im.getMUrl() ;
i++ ;
}
final MemoryProxy dataProxy = new MemoryProxy(photoData);
232,4 → 238,18
public Store getSt() {
return st;
}
public String[] getIdSelectionnee()
{
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 ;
}
}
/trunk/src/org/tela_botanica/client/modeles/ListeImage.java
1,5 → 1,6
package org.tela_botanica.client.modeles;
 
import java.util.HashMap;
import java.util.Vector;
 
/**
8,7 → 9,7
* @author aurelien
*
*/
public class ListeImage extends Vector {
public class ListeImage extends HashMap {
public ListeImage()
{
27,7 → 28,7
{
if(ic[i] != null && ic[i] instanceof ImageCarnet)
{
this.add(ic[i]);
this.put(ic[i].getOrdre(),ic[i]);
}
}
}
/trunk/src/org/tela_botanica/client/modeles/ImageUploaderAsynchroneDAO.java
1,7 → 1,20
package org.tela_botanica.client.modeles;
 
import org.tela_botanica.client.image.ImageMediateur;
import org.tela_botanica.client.interfaces.iMediateur;
 
import com.google.gwt.core.client.JavaScriptObject;
import com.gwtext.client.core.UrlParam;
import com.gwtext.client.widgets.BoxComponent;
import com.gwtext.client.widgets.Component;
import com.gwtext.client.widgets.Container;
import com.gwtext.client.widgets.Panel;
import com.gwtext.client.widgets.Window;
import com.gwtext.client.widgets.event.WindowListener;
import com.gwtext.client.widgets.event.WindowListenerAdapter;
import com.gwtextux.client.widgets.upload.UploadDialog;
import com.gwtextux.client.widgets.upload.UploadDialogListener;
import com.gwtextux.client.widgets.upload.UploadDialogListenerAdapter;
 
 
/**
12,14 → 25,34
*/
public class ImageUploaderAsynchroneDAO {
private static ImageMediateur iMediateur ;
public void setIMediateur(ImageMediateur im)
{
iMediateur = im ;
}
private static void appelerUploadSimple()
{
UploadDialog up = new UploadDialog("Upload simple de fichiers") ;
up.setUrl("jrest/InventoryImage");
UrlParam id = new UrlParam("identifiant",iMediateur.getIdentifiant()) ;
UrlParam[] params = {id} ;
up.setBaseParams(params);
up.addListener(new UploadDialogListenerAdapter() {
 
 
public void onClose(Panel panel) {
iMediateur.rafraichirToutesVues() ;
}
});
up.show();
}
private static void appelerUploadMultiple()
32,13 → 65,12
final String paramUploadPolicy = "<param name=\"uploadPolicy\" value=\"PictureUploadPolicy\">";
final String paramMaxChunkSize = "<param name=\"maxChunkSize\" value=\"0\">";
final String paramMaxFileSize = "<param name=\"maxFileSize\" value=\"10000000\">";
final String paramMaxPicHeight = "<param name=\"maxPicHeight\" value=\"1200\">" ;
final String paramMaxPicWidth = "<param name=\"maxPicWidth\" value=\"1600\">" ;
final String paramTransmitMetaData = "<param name=\"pictureTransmitMetadata\" value=\"true\">";
final String paramFilesPerRequest = "<param name=\"nbFilesPerRequest\" value=\"1\">";
final String paramAllowedExtensions = "<param name=\"allowedFileExtensions\" value=\"jpg/jpeg/\">";
final String paramUploadSuccess = "<param name=\"stringUploadSuccess\" value=\"OK\">" ;
final String paramShowLogWindow = "<param name=\"showLogWindow\" value=\"false\">";
final String paramFormdata = "<param name=\"formData\" value=\"postid\">" ;
final String finApplet = "</applet>";
 
final String appelApplet = applet
46,16 → 78,33
+ paramUploadPolicy
+ paramMaxChunkSize
+ paramMaxFileSize
+ paramMaxPicHeight
+ paramMaxPicWidth
+ paramTransmitMetaData
+ paramFilesPerRequest
+ paramAllowedExtensions
+ paramUploadSuccess
+ paramShowLogWindow
+paramFormdata
+ finApplet;
final String htmlForm =
"<form method=\"post\" name=\"postid\">"
+"<input type=\"hidden\" name=\"identifiant\" value=\""+iMediateur.getIdentifiant()+"\">"
+"</form>" ;
 
nPan.setHtml(appelApplet);
nPan.setHtml(appelApplet+htmlForm);
nPan.addListener(new WindowListenerAdapter() {
 
 
public void onClose(Panel panel) {
iMediateur.rafraichirToutesVues() ;
}
});
nPan.show();
}
/trunk/src/org/tela_botanica/client/modeles/ImageCarnet.java
256,4 → 256,30
return metaExif ;
}
public Object[][] getInfoGenerales() {
String[][] metaGen = new String[2][2] ;
metaGen[0][0] = "ci_meta_comment" ;
metaGen[0][1] = (String)this.get("ci_meta_comment") ;
metaGen[1][0] = "ci_meta_date" ;
metaGen[1][1] = (String)this.get("ci_meta_date") ;
return metaGen ;
}
public void miseAJourInfoGenerales(String commentaires, String date)
{
if(this.containsKey("ci_meta_comment"))
{
put("ci_meta_comment",commentaires) ;
}
if(this.containsKey("ci_meta_date"))
{
put("ci_meta_date",date) ;
}
}
}
/trunk/src/org/tela_botanica/client/modeles/ListeImageAsynchroneDAO.java
1,5 → 1,8
package org.tela_botanica.client.modeles;
 
import java.util.Iterator;
 
import org.tela_botanica.client.image.ImageMediateur;
import org.tela_botanica.client.interfaces.Rafraichissable;
 
import com.google.gwt.json.client.JSONArray;
24,6 → 27,13
*/
public class ListeImageAsynchroneDAO {
ImageMediateur iMediateur = null ;
public void setIMediateur(ImageMediateur im)
{
iMediateur = im ;
}
public void ObtenirListeImages(final Rafraichissable r)
{
HTTPRequest.asyncGet("jrest/inventoryImageList/1/ci_publiable_eflore=0", new ResponseTextHandler() {
44,8 → 54,10
JSONObject image = (JSONObject)reponse.get(j) ;
photoData.add(new ImageCarnet(image)) ;
ImageCarnet im = new ImageCarnet(image) ;
photoData.put(im.getOrdre(),im) ;
}
}
else
53,7 → 65,8
if(responseValue.isObject() != null)
{
photoData = new ListeImage(1);
photoData.add(new ImageCarnet(responseValue.isObject())) ;
ImageCarnet im = new ImageCarnet(responseValue.isObject()) ;
photoData.put(im.getOrdre(),im) ;
}
else
{
65,5 → 78,15
}
});
}
public void SynchroniserBaseDeDonnees(ListeImage li)
{
for(Iterator it = li.keySet().iterator() ; it.hasNext() ;)
{
// HTTPRequest.asyncPost("jrest/inventoryImageList/1/", postData, handler)
}
}
 
}