Subversion Repositories eFlore/Archives.cel-v2

Compare Revisions

Ignore whitespace Rev 11 → Rev 12

/trunk/src/org/tela_botanica/client/vues/ListeImageVue.java
2,13 → 2,18
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;
import org.tela_botanica.client.modeles.ListeImage;
 
 
import com.google.gwt.user.client.Window;
import com.gwtext.client.data.ArrayReader;
import com.gwtext.client.data.FieldDef;
import com.gwtext.client.data.IntegerFieldDef;
import com.gwtext.client.data.MemoryProxy;
import com.gwtext.client.data.Record;
import com.gwtext.client.data.RecordDef;
26,8 → 31,15
import com.gwtext.client.widgets.grid.GridPanel;
import com.gwtext.client.widgets.grid.GridView;
import com.gwtext.client.widgets.grid.Renderer;
import com.gwtext.client.widgets.layout.AnchorLayout;
import com.gwtext.client.widgets.layout.FitLayout;
import com.gwtextux.client.data.BufferedStore;
 
/**
* Liste d'image composée de miniatures et d'information sur l'image
* @author aurelien
*
*/
public class ListeImageVue extends GridPanel implements Rafraichissable {
38,6 → 50,9
private ColumnConfig numImage ;
private ColumnConfig urlImage ;
private ColumnConfig lieImage ;
private ColumnConfig datImage ;
private ColumnConfig appImage ;
private ColumnModel modeleColonnes ;
50,40 → 65,43
public ListeImageVue(ImageMediateur im) {
super() ;
this.iMediateur = im ;
/*setAutoWidth(true);
setAutoHeight(true);*/
numImage = new ColumnConfig("numéro d'image","num_image",150,true);
numImage.setId("expCol");
urlImage = new ColumnConfig("Image","url_image",150,true,new Renderer() {
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",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");
return "<div class=\"img-list\"> <img src=\""+ImgUrl+"\" title='example'> </div>";
String ImgNum = record.getAsString("num_image");
return "<div class=\"img-list\"> <img src=\""+ImgUrl+"\" title='"+ImgNum+"'> </div>";
}
 
});
ColumnConfig[] cm = {numImage,urlImage};
ColumnConfig[] cm = {numImage,datImage,lieImage,appImage,urlImage};
modeleColonnes = new ColumnModel(cm);
this.setColumnModel(modeleColonnes);
this.setAutoExpandColumn("expCol");
this.setAutoScroll(true);
this.setAutoWidth(true);
this.setAutoHeight(true);
FieldDef defNumImage = new StringFieldDef("num_image");
FieldDef defDatImage = new StringFieldDef("dat_image");
FieldDef defLieImage = new StringFieldDef("lie_image");
FieldDef defAppImage = new StringFieldDef("app_image");
FieldDef defUrlImage = new StringFieldDef("url_image");
FieldDef[] defTab = {defNumImage,defUrlImage};
FieldDef[] defTab = {defNumImage,defDatImage,defLieImage,defAppImage,defUrlImage};
RecordDef rd = new RecordDef(defTab) ;
st = new Store(rd) ;
this.setStore(st);
this.getView().setAutoFill(true) ;
ajouterListeners() ;
131,18 → 149,36
 
public void rafraichir(Object nouvelleDonnees) {
Object[][] photoData = (Object[][])nouvelleDonnees ;
 
final MemoryProxy dataProxy = new MemoryProxy(photoData);
final ArrayReader reader = new ArrayReader(new RecordDef(
new FieldDef[]{new StringFieldDef("num_image"),
new StringFieldDef("url_image")}));
 
final Store photoStore = new Store(dataProxy, reader);
 
st = photoStore;
this.reconfigure(st, this.getColumnModel());
photoStore.load();
if(nouvelleDonnees instanceof ListeImage)
{
ListeImage data = (ListeImage) nouvelleDonnees ;
Object[][] photoData = new Object[data.size()][5];
for(int i = 0 ; i<data.size();i++)
{
ImageCarnet im = (ImageCarnet) data.elementAt(i);
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() ;
}
FieldDef defNumImage = new IntegerFieldDef("num_image");
FieldDef defDatImage = new StringFieldDef("dat_image");
FieldDef defLieImage = new StringFieldDef("lie_image");
FieldDef defAppImage = new StringFieldDef("app_image");
FieldDef defUrlImage = new StringFieldDef("url_image");
FieldDef[] defTab = {defNumImage,defDatImage,defLieImage,defAppImage,defUrlImage};
final MemoryProxy dataProxy = new MemoryProxy(photoData);
final ArrayReader reader = new ArrayReader(new RecordDef(defTab));
final Store photoStore = new Store(dataProxy, reader);
st = photoStore;
this.reconfigure(st, this.getColumnModel());
photoStore.load();
}
}
 
 
/trunk/src/org/tela_botanica/client/vues/MenuImageVue.java
New file
0,0 → 1,100
package org.tela_botanica.client.vues;
 
import org.tela_botanica.client.image.ImageMediateur;
 
import com.google.gwt.user.client.ui.MenuItem;
import com.gwtext.client.core.EventObject;
import com.gwtext.client.widgets.menu.BaseItem;
import com.gwtext.client.widgets.menu.Item;
import com.gwtext.client.widgets.menu.Menu;
import com.gwtext.client.widgets.menu.event.MenuListener;
 
public class MenuImageVue extends Menu {
private ImageMediateur iMediateur ;
private Item uploaderImage = null ;
private Item supprimerImage = null ;
public MenuImageVue(ImageMediateur im)
{
super() ;
iMediateur = im ;
uploaderImage = new Item("Uploader des images") ;
addItem(uploaderImage);
//this.addItem(supprimerImage) ;
ajouterListeners() ;
}
public void ajouterListeners()
{
this.addListener(new MenuListener() {
 
 
public void doBeforeHide(Menu menu) {
// TODO Auto-generated method stub
}
 
 
public void doBeforeShow(Menu menu) {
}
 
public void onClick(Menu menu, String menuItemId, EventObject e) {
// TODO Auto-generated method stub
}
 
public void onHide(Menu menu) {
// TODO Auto-generated method stub
}
 
public void onItemClick(BaseItem item, EventObject e) {
if(item.equals(uploaderImage))
{
getIMediateur().uploaderImage() ;
hide() ;
}
}
 
public void onMouseOut(Menu menu, BaseItem menuItem, EventObject e) {
// TODO Auto-generated method stub
}
 
public void onMouseOver(Menu menu, BaseItem menuItem, EventObject e) {
// TODO Auto-generated method stub
}
 
public void onShow(Menu menu) {
 
}
 
}) ;
}
public ImageMediateur getIMediateur()
{
return iMediateur ;
}
 
}
/trunk/src/org/tela_botanica/client/vues/ZoomImageVue.java
33,7 → 33,7
public void onBrowserEvent(Event event) {
if (Event.ONDBLCLICK == DOM.eventGetType(event)) {
 
getIMediateur().DoubleClicZoomImage();
getIMediateur().doubleClicZoomImage();
}
}
};
71,7 → 71,7
 
public void onClick(Widget sender) {
getIMediateur().ClicBoutonZoomImage("prev");
getIMediateur().clicBoutonZoomImage("prev");
}
});
81,7 → 81,7
public void onClick(Widget sender) {
getIMediateur().ClicBoutonZoomImage("suiv");
getIMediateur().clicBoutonZoomImage("suiv");
}
});
/trunk/src/org/tela_botanica/client/vues/GalerieImageVue.java
3,11 → 3,14
 
import org.tela_botanica.client.image.ImageMediateur;
import org.tela_botanica.client.interfaces.Rafraichissable;
import org.tela_botanica.client.modeles.ImageCarnet;
import org.tela_botanica.client.modeles.ListeImage;
 
 
import com.google.gwt.core.client.JavaScriptObject;
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.XTemplate;
import com.gwtext.client.data.ArrayReader;
29,6 → 32,11
import com.gwtext.client.widgets.event.DataViewListener;
import com.gwtext.client.widgets.event.DataViewListenerAdapter;
 
/**
* Galerie d'images miniatures
* @author aurelien
*
*/
public class GalerieImageVue extends Panel implements Rafraichissable, Observable {
 
// instance du médiateur
82,7 → 90,7
public void onClick(DataView source, int index, Element node,
EventObject e) {
getIMediateur().ClicGalerieImage(index, node, e);
getIMediateur().clicGalerieImage(index, node, e);
}
 
95,8 → 103,10
 
public void onContextMenu(DataView source, int index, Element node,
EventObject e) {
//TODO: appeler le mediateur
e.stopEvent() ;
getIMediateur().montrerContextMenu(e) ;
}
 
 
104,7 → 114,7
EventObject e) {
//TODO: appeler le mediateur
getIMediateur().ClicGalerieImage(index, node, e);
getIMediateur().clicGalerieImage(index, node, e);
}
 
128,7 → 138,7
new String[]{
"<tpl for='.'>",
"<div class='thumb-wrap' id='{num_image}'>",
"<div class='thumb'><img src='{url_image}' title='{num_image}'></div>",
"<div class='thumb'><img src='{url_image_S}' title='{num_image}'></div>",
"<span>{nom}</span></div>", "</tpl>",
"<div class='x-clear'></div>"});
template.compile();
144,6 → 154,7
dView.setTpl(template);
// parametre d'affichage de la dataview
this.setAutoScroll(true);
dView.setAutoHeight(true);
dView.setMultiSelect(true);
dView.setOverCls("x-view-over");
153,7 → 164,9
// creation du store
FieldDef defNumImage = new StringFieldDef("num_image");
FieldDef defUrlImage = new StringFieldDef("url_image");
FieldDef[] defTab = {defNumImage,defUrlImage};
FieldDef defUrlImageM = new StringFieldDef("url_image_M");
FieldDef defUrlImageS = new StringFieldDef("url_image_S");
FieldDef[] defTab = {defNumImage,defUrlImage,defUrlImageM,defUrlImageS};
RecordDef rd = new RecordDef(defTab) ;
st = new Store(rd) ;
dView.setStore(st);
170,11 → 183,25
public void rafraichir(Object nouvelleDonnees) {
Object[][] photoData = (Object[][])nouvelleDonnees ;
if(nouvelleDonnees instanceof ListeImage)
{
ListeImage data = (ListeImage) nouvelleDonnees ;
Object[][] photoData = new Object[data.size()][4];
for(int i = 0 ; i<data.size();i++)
{
ImageCarnet im = (ImageCarnet) data.elementAt(i);
photoData[i][0] = im.getOrdre() ;
photoData[i][1] = im.getUrl() ;
photoData[i][2] = im.getSUrl() ;
photoData[i][3] = im.getMUrl() ;
}
final MemoryProxy dataProxy = new MemoryProxy(photoData);
final ArrayReader reader = new ArrayReader(new RecordDef(
new FieldDef[]{new StringFieldDef("num_image"),
new StringFieldDef("url_image")}));
new StringFieldDef("url_image"),
new StringFieldDef("url_image_S"),
new StringFieldDef("url_image_M")}));
final Store photoStore = new Store(dataProxy, reader);
photoStore.load();
182,6 → 209,7
st = photoStore;
dView.setStore(st);
dView.refresh();
}
}