/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/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/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/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) |
} |
} |
} |
/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]); |
} |
} |
} |