/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 |
} |
} |