Subversion Repositories eFlore/Archives.cel-v2

Compare Revisions

Ignore whitespace Rev 3 → Rev 4

/trunk/src/org/tela_botanica/client/vues/ZoomImageVue.java
New file
0,0 → 1,46
package org.tela_botanica.client.vues;
 
 
import org.tela_botanica.client.image.ImageMediateur;
import org.tela_botanica.client.interfaces.Rafraichissable;
 
 
import com.google.gwt.user.client.ui.Image;
import com.gwtext.client.core.RegionPosition;
import com.gwtext.client.widgets.Button;
import com.gwtext.client.widgets.Panel;
import com.gwtext.client.widgets.layout.BorderLayout;
import com.gwtext.client.widgets.layout.BorderLayoutData;
 
public class ZoomImageVue extends Panel implements Rafraichissable {
private ImageMediateur iMediateur = null ;
private Image image = null ;
private final com.google.gwt.user.client.ui.Button prev = new com.google.gwt.user.client.ui.Button("<");
private final com.google.gwt.user.client.ui.Button suiv = new com.google.gwt.user.client.ui.Button(">");
public ZoomImageVue(ImageMediateur im)
{
super("Zoom");
iMediateur = im ;
image = new Image();
image.setUrl("images/vide.jpg");
this.setLayout(new BorderLayout());
prev.setWidth("5%");
suiv.setWidth("5%");
this.add(prev,new BorderLayoutData(RegionPosition.WEST));
this.add(image,new BorderLayoutData(RegionPosition.CENTER));
this.add(suiv,new BorderLayoutData(RegionPosition.EAST));
}
 
public void rafraichir(Object nouvelleDonnees) {
// TODO Auto-generated method stub
}
 
}
/trunk/src/org/tela_botanica/client/vues/GalerieImageVue.java
New file
0,0 → 1,132
package org.tela_botanica.client.vues;
 
 
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.Element;
import com.gwtext.client.core.EventObject;
import com.gwtext.client.core.XTemplate;
import com.gwtext.client.data.FieldDef;
import com.gwtext.client.data.RecordDef;
import com.gwtext.client.data.Store;
import com.gwtext.client.data.StringFieldDef;
import com.gwtext.client.util.Format;
import com.gwtext.client.widgets.BoxComponent;
import com.gwtext.client.widgets.Component;
import com.gwtext.client.widgets.DataView;
import com.gwtext.client.widgets.Panel;
import com.gwtext.client.widgets.DataView.Data;
import com.gwtext.client.widgets.event.DataViewListener;
import com.gwtext.client.widgets.event.DataViewListenerAdapter;
 
public class GalerieImageVue extends Panel implements Rafraichissable {
 
// instance du médiateur
private ImageMediateur iMediateur = null;
private DataView dView = null ;
private Store st = null ;
public GalerieImageVue(ImageMediateur im)
{
super("Galerie");
iMediateur = im ;
// Preparation de la dataview et du template
// le template va créer une div contenant une image
// pour chacune des photos
final XTemplate template = new XTemplate(
new String[]{
"<tpl for='.'>",
"<div class='thumb-wrap' id='{nom}'>",
"<div class='thumb'><img src='{url}' title='{nom}'></div>",
"<span>{nom}</span></div>", "</tpl>",
"<div class='x-clear'></div>"});
template.compile();
 
// la dataview affichera les images en accord avec le template
// cree precedemment
dView = new DataView("div.thumb-wrap") {
public void prepareData(Data data) {
data.setProperty("shortName", Format.ellipsis(data
.getProperty("name"), 15));
}
};
dView.setTpl(template);
// parametre d'affichage de la dataview
dView.setAutoHeight(true);
dView.setMultiSelect(true);
dView.setOverCls("x-view-over");
dView.setEmptyText("Aucune image à afficher");
// creation du store
FieldDef defNumImage = new StringFieldDef("num_image");
FieldDef defUrlImage = new StringFieldDef("url_image");
FieldDef[] defTab = {defNumImage,defUrlImage};
RecordDef rd = new RecordDef(defTab) ;
st = new Store(rd) ;
dView.setStore(st);
// ajouts de la gestion des evenements pour la dataview
ajouterListeners();
this.add(dView);
}
public void ajouterListeners()
{
// ajout de listeners pour la gestion de la selection
// dans la galerie
dView.addListener(new DataViewListenerAdapter() {
 
 
 
public void onClick(DataView source, int index, Element node,
EventObject e) {
//TODO: appeler le mediateur
}
 
 
public void onContainerClick(DataView source, EventObject e) {
//TODO: appeler le mediateur
}
 
 
public void onContextMenu(DataView source, int index, Element node,
EventObject e) {
//TODO: appeler le mediateur
}
 
 
public void onDblClick(DataView source, int index, Element node,
EventObject e) {
//TODO: appeler le mediateur
}
 
 
public void onSelectionChange(DataView view, Element[] selections) {
//TODO: appeler le mediateur
}
});
}
public void rafraichir(Object nouvelleDonnees) {
// TODO Auto-generated method stub
}
}
/trunk/src/org/tela_botanica/client/vues/ListeImageVue.java
New file
0,0 → 1,100
 
package org.tela_botanica.client.vues;
 
 
import org.tela_botanica.client.image.ImageMediateur;
import org.tela_botanica.client.interfaces.Rafraichissable;
 
 
import com.gwtext.client.data.FieldDef;
import com.gwtext.client.data.Record;
import com.gwtext.client.data.RecordDef;
import com.gwtext.client.data.Store;
import com.gwtext.client.data.StoreMgr;
import com.gwtext.client.data.StringFieldDef;
import com.gwtext.client.widgets.grid.CellMetadata;
import com.gwtext.client.widgets.grid.ColumnConfig;
import com.gwtext.client.widgets.grid.ColumnModel;
import com.gwtext.client.widgets.grid.GridPanel;
import com.gwtext.client.widgets.grid.Renderer;
import com.gwtextux.client.data.BufferedStore;
 
public class ListeImageVue extends GridPanel implements Rafraichissable {
// instance du médiateur
private ImageMediateur iMediateur = null;
private ColumnConfig numImage ;
private ColumnConfig urlImage ;
private ColumnModel modeleColonnes ;
// données locales
// store qui gère les données de la liste d'images
private Store st = null ;
private ColumnConfig cl = null ;
public ListeImageVue(ImageMediateur im) {
this.iMediateur = im ;
configurerColonnes();
configurerStore();
setAutoWidth(true);
setAutoHeight(true);
}
// role : configurer les colonnes affichées dans la grille
private void configurerColonnes() {
numImage = new ColumnConfig("numéro d'image","num_image",150,true);
urlImage = new ColumnConfig("Image","url_image",150,true,new Renderer() {
 
public String render(Object value, CellMetadata cellMetadata,
Record record, int rowIndex, int colNum, Store store) {
 
String ImgUrl = record.getAsString("Miniature");
return "<img src=\""+ImgUrl+"\" title='example'>";
}
 
});
ColumnConfig[] cm = {numImage,urlImage};
modeleColonnes = new ColumnModel(cm);
this.setColumnModel(modeleColonnes);
FieldDef defNumImage = new StringFieldDef("num_image");
FieldDef defUrlImage = new StringFieldDef("url_image");
FieldDef[] defTab = {defNumImage,defUrlImage};
RecordDef rd = new RecordDef(defTab) ;
st = new Store(rd) ;
this.setStore(st);
}
// role : préparer le store et faire l'appel aux données nécessaires
private void configurerStore() {
}
 
 
public void rafraichir(Object nouvelleDonnees) {
// TODO Auto-generated method stub
}
 
}