Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 400 → Rev 401

/trunk/src/org/tela_botanica/client/vues/image/ListeImageVue.java
6,6 → 6,7
import org.tela_botanica.client.interfaces.VueListable;
import org.tela_botanica.client.vues.BarrePaginationVue;
 
import com.google.gwt.core.client.GWT;
import com.gwtext.client.core.EventObject;
import com.gwtext.client.data.FieldDef;
import com.gwtext.client.data.IntegerFieldDef;
47,9 → 48,15
* Config de colonne
*/
private ColumnConfig numImage;
/**
* Config de colonne
*/
private ColumnConfig transmisImage;
/**
* Config de colonne
*/
private ColumnConfig urlImage;
/**
* Config de colonne
72,6 → 79,11
*/
private ColumnConfig nomImage;
/**
* Config de colonne
*/
private ColumnConfig obsAssociees;
/**
* Modele de colonnes
*/
private ColumnModel modeleColonnes;
140,6 → 152,8
public String render(Object value,
CellMetadata cellMetadata, Record record,
int rowIndex, int colNum, Store store) {
cellMetadata.setCssClass("centered-list");
 
String ImgNum = record.getAsString("num_image");
return "<div class=\"centered-list\">" + ImgNum
147,7 → 161,45
}
 
});
transmisImage = new ColumnConfig(" ", "obs_associees", 10, true, new Renderer() {
 
public String render(Object value, CellMetadata cellMetadata,
Record record, int rowIndex, int colNum, Store store) {
cellMetadata.setCssClass("centered-list");
String nomObs = record.getAsString("obs_associees");
if(nomObs == null) {
return "";
}
String[] obsTab = nomObs.split(";;");
String valeurTransmis = "0";
 
if(obsTab.length >= 1) {
String[] elementsObs = obsTab[0].split("#");
if(elementsObs.length >= 3) {
nomObs = elementsObs[1];
//if(elementsObs[2] == "1") {
valeurTransmis = "1";
//}
}
}
if(valeurTransmis.equals("1"))
{
return "<img src=\"tela.png\"/></img>" ;
}
else
{
return "" ;
}
}
});
 
datImage = new ColumnConfig("Date", "dat_image", 80, true,
new Renderer() {
 
154,6 → 206,8
public String render(Object value,
CellMetadata cellMetadata, Record record,
int rowIndex, int colNum, Store store) {
cellMetadata.setCssClass("centered-list");
 
String ImgDat = record.getAsString("dat_image");
if (ImgDat == null) {
170,6 → 224,8
public String render(Object value,
CellMetadata cellMetadata, Record record,
int rowIndex, int colNum, Store store) {
cellMetadata.setCssClass("centered-list");
 
String ImgLie = record.getAsString("lie_image");
if (ImgLie == null) {
186,6 → 242,8
public String render(Object value,
CellMetadata cellMetadata, Record record,
int rowIndex, int colNum, Store store) {
cellMetadata.setCssClass("centered-list");
 
String ImgApp = record.getAsString("app_image");
if (ImgApp == null) {
205,6 → 263,8
public String render(Object value,
CellMetadata cellMetadata, Record record,
int rowIndex, int colNum, Store store) {
cellMetadata.setCssClass("centered-list");
// on affiche une div contenant l'image pointée par
// l'url
int[] XY = {record.getAsInteger("taille_x") ,record.getAsInteger("taille_y")} ;
227,6 → 287,8
public String render(Object value,
CellMetadata cellMetadata, Record record,
int rowIndex, int colNum, Store store) {
cellMetadata.setCssClass("centered-list");
 
String htmlImage = "";
 
245,11 → 307,13
 
});
nomImage = new ColumnConfig("Nom", "nom_original", 120, true,
nomImage = new ColumnConfig("Nom original", "nom_original", 120, true,
new Renderer() {
public String render(Object value,
CellMetadata cellMetadata, Record record,
int rowIndex, int colNum, Store store) {
cellMetadata.setCssClass("centered-list");
 
String imgNomOr = record.getAsString("nom_original");
if (imgNomOr == null) {
260,10 → 324,38
}
 
});
obsAssociees = new ColumnConfig("Nom associé", "obs_associees", 80, true,
new Renderer() {
public String render(Object value,
CellMetadata cellMetadata, Record record,
int rowIndex, int colNum, Store store) {
cellMetadata.setCssClass("centered-list");
 
String nomObs = record.getAsString("obs_associees");
if(nomObs == null) {
return "";
}
String[] obsTab = nomObs.split(";;");
 
if(obsTab.length >= 1) {
String[] elementsObs = obsTab[0].split("#");
if(elementsObs.length >= 3) {
nomObs = elementsObs[1];
}
}
return "<div class=\"centered-list\">" + nomObs
+ "</div>";
}
 
});
 
// on associe le modèle de colonnes
ColumnConfig[] cm = { numImage, urlImage, nomImage, datImage, lieImage, appImage,
noteImage };
ColumnConfig[] cm = { numImage, transmisImage, urlImage, obsAssociees, datImage, lieImage, appImage,
noteImage,nomImage} ;
modeleColonnes = new ColumnModel(cm);
this.setColumnModel(modeleColonnes);
this.setAutoScroll(true);
272,6 → 364,7
 
// creation du store
FieldDef defNumImage = new IntegerFieldDef("num_image");
FieldDef defTransmisImage = new IntegerFieldDef("obs_associees");
FieldDef defNomImage = new StringFieldDef("nom_original");
FieldDef defDatImage = new StringFieldDef("dat_image");
FieldDef defLieImage = new StringFieldDef("lie_image");
282,9 → 375,10
FieldDef defNoteImage = new StringFieldDef("note_image");
FieldDef defTailleX = new IntegerFieldDef("taille_x");
FieldDef defTailleY = new IntegerFieldDef("taille_y");
FieldDef[] defTab = { defNumImage,defNomImage, defDatImage, defLieImage,
FieldDef defObsAssociees = new StringFieldDef("obs_associees");
FieldDef[] defTab = { defNumImage,defTransmisImage, defNomImage, defDatImage, defLieImage,
defAppImage, defUrlImageS, defUrlImageM, defUrlImage,
defNoteImage, defTailleX, defTailleY };
defNoteImage, defTailleX, defTailleY, defObsAssociees};
RecordDef rd = new RecordDef(defTab);
st = new Store(rd);
// on associe le store
291,7 → 385,6
this.setStore(st);
this.getView().setAutoFill(true);
 
 
// on crée un masque de chargement qui s'affichera lors des mises à jour
this.setLoadMask("chargement");
/trunk/src/org/tela_botanica/client/vues/image/MiniListeObservationVue.java
3,9 → 3,11
import java.util.Iterator;
 
import org.tela_botanica.client.image.ImageMediateur;
import org.tela_botanica.client.interfaces.ListePaginable;
import org.tela_botanica.client.interfaces.Rafraichissable;
import org.tela_botanica.client.modeles.ListeObservation;
import org.tela_botanica.client.modeles.Observation;
import org.tela_botanica.client.vues.MiniBarrePaginationVue;
 
import com.google.gwt.user.client.Window;
import com.gwtext.client.data.Record;
20,11 → 22,18
import com.gwtext.client.widgets.event.ContainerListenerAdapter;
import com.gwtext.client.widgets.form.ComboBox;
import com.gwtext.client.widgets.form.event.ComboBoxListenerAdapter;
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.GridDragData;
import com.gwtext.client.widgets.grid.GridPanel;
import com.gwtext.client.widgets.grid.Renderer;
import com.gwtext.client.widgets.grid.event.GridListenerAdapter;
import com.gwtext.client.widgets.grid.event.GridRowListenerAdapter;
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.MenuListenerAdapter;
import com.gwtext.client.core.EventObject;
import com.gwtext.client.core.Ext;
import com.gwtext.client.core.ExtElement;
35,7 → 44,7
* @author aurelien
*
*/
public class MiniListeObservationVue extends GridPanel implements Rafraichissable {
public class MiniListeObservationVue extends GridPanel implements Rafraichissable, ListePaginable {
 
/**
* Le médiateur associé à la vue
54,7 → 63,7
private SimpleStore store = null ;
//private BarrePaginationVue pgBar = new BarrePaginationVue(iMediateur) ;
private MiniBarrePaginationVue pgBar = new MiniBarrePaginationVue(iMediateur) ;
private Toolbar bt = new Toolbar() ;
68,6 → 77,8
 
private boolean liaison;
int pageEnCours = 0;
/**
* Constructeur avec arguments
* @param im le médiateur à associer à la vue
79,8 → 90,23
this.setId("x-view-mini-obs") ;
// on crée un store simple contenant un petit set de données et deux colonnes
store = new SimpleStore(new String[]{"id_obs","plante","date","lieu"}, getObs());
ColumnConfig[] columns = {
store = new SimpleStore(new String[]{"transmis","id_obs","plante","date","lieu"}, getObs());
ColumnConfig[] columns = {
new ColumnConfig("", "transmis", 30, true, new Renderer() {
 
public String render(Object value, CellMetadata cellMetadata,
Record record, int rowIndex, int colNum, Store store) {
if(value.equals("1"))
{
return "<img src=\"tela.png\"/></img>" ;
}
else
{
return "" ;
}
}
}),
new ColumnConfig("Numero", "id_obs", 50, true),
new ColumnConfig("Taxon", "plante", 145, true),
new ColumnConfig("Date", "date", 68, true),
103,7 → 129,7
store.load();
setStore(store) ;
//setBottomToolbar(pgBar) ;
setBottomToolbar(pgBar) ;
Object[][] mode = {{"toutes les observations",false} , {"observations liées", true} };
storeMode = new SimpleStore(new String[] { "nom_mode", "mode" },
158,6 → 184,13
 
public void onContextMenu(EventObject e) {
// si pas de selection, on selection au moins la ligne sur laquelle on a fait le clic
if(getSelectionModel().getSelections().length <= 0) {
int index = getView().findRowIndex(e);
Record rddrop = getStore().getRecordAt(index) ;
getSelectionModel().selectRecords(rddrop);
}
e.stopEvent() ;
MenuLiaisonVue mlv = new MenuLiaisonVue(iMediateur,liaison) ;
mlv.showAt(e.getXY()) ;
164,7 → 197,7
}
}) ;
}) ;
}
/**
227,7 → 260,7
if(this.getView() != null)
{
ListeObservation data = (ListeObservation)nouvelleDonnees ;
String[][] listeObs = new String[data.size()][4] ;
String[][] listeObs = new String[data.size()][5] ;
int i = 0 ;
for (Iterator it = data.keySet().iterator(); it.hasNext();)
236,14 → 269,15
Observation obs=(Observation) data.get(it.next());
listeObs[i][0] = obs.getNumeroOrdre();
listeObs[i][1] = obs.getNomSaisi();
listeObs[i][2] = obs.getDate() ;
listeObs[i][3] = obs.getLocalite();
listeObs[i][1] = obs.getTransmis();
listeObs[i][2] = obs.getNomSaisi();
listeObs[i][3] = obs.getDate() ;
listeObs[i][4] = obs.getLocalite();
i++ ;
}
store = new SimpleStore(new String[]{"id_obs","plante","date","lieu"}, listeObs);
store = new SimpleStore(new String[]{"id_obs","transmis","plante","date","lieu"}, listeObs);
store.load();
this.reconfigure(store, colModel) ;
}
290,10 → 324,10
return store ;
}
/*public BarrePaginationVue getBarrePagination()
public MiniBarrePaginationVue getBarrePagination()
{
return pgBar ;
}*/
}
private void setModification(String mode)
{
379,4 → 413,54
Window.alert("null");
}
}
/**
* Montre le menu de liaison aux coordonnées indiquées
* @param e
*/
public void montrerContextMenuLiaison(EventObject e) {
final Menu liObs = new Menu();
final Item lierObservation = new Item("Lier aux images selectionnées");
liObs.addItem(lierObservation);
liObs.addListener(new MenuListenerAdapter() {
 
// gestion du clic sur un item
public void onItemClick(BaseItem item, EventObject ev) {
 
// si c'est la suppression
if (item.equals(lierObservation)) {
// on notifie le médiateur
 
}
// enfin, on cache le menu
liObs.hide();
 
}
 
});
liObs.showAt(e.getXY());
}
 
@Override
public void changerNumeroPage(int pageCourante) {
pageEnCours = pageCourante ;
masquerChargement();
 
// On lance le chargerment des observations
iMediateur.obtenirMiniListeObservations(this);
pgBar.changerPageCourante(pageCourante);
}
 
@Override
public void changerTaillePage(int nouvelleTaillePage) {
// TODO Auto-generated method stub
}
}
/trunk/src/org/tela_botanica/client/vues/image/GalerieImageVue.java
6,7 → 6,9
import org.tela_botanica.client.interfaces.VueListable;
import org.tela_botanica.client.vues.BarrePaginationVue;
 
import com.google.gwt.core.client.GWT;
import com.google.gwt.user.client.Element;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.ui.HTML;
import com.gwtext.client.core.EventCallback;
import com.gwtext.client.core.EventObject;
99,7 → 101,6
 
// pour gagner du temps on n'instancie la vue en elle même que lors
// du premier affichage (lazy rendering)
 
public void onShow(Component component) {
 
if (!estInstancie) {
249,8 → 250,8
new String[] {
"<tpl for='.'>",
"<div class='thumb-wrap' id='{num_image}'>",
"<div class='thumb dview-list'><img src='{url_image_M}' width='{taille_x_s} px' height='{taille_y_s} px' title='{nom_original}'></div>",
"<span></span></div>", "</tpl>",
"<div class='thumb dview-list'>{indication_transmission}{indication_liaison}<img class='miniature_galerie' src='{url_image_M}' width='{taille_x_s} px' height='{taille_y_s} px' title='{nom_original}' /></div>",
"<span class='info_image'>{nom_obs_associees_formatees}</span></div>", "</tpl>",
"<div class='x-clear'></div>" });
// pour des raisons de performances on compile le template en une
// fonction
278,6 → 279,28
data.setProperty("taille_x_s", XYresize[0]);
data.setProperty("taille_y_s", XYresize[1]);
String nomObs = data.getProperty("obs_associees");
String[] obsTab = nomObs.split(";;");
String htmltransmis = "";
String htmllie = "";
 
if(obsTab.length >= 1) {
String[] elementsObs = obsTab[0].split("#");
if(elementsObs.length >= 3) {
nomObs = elementsObs[1];
//if(elementsObs[2] == "1") {
htmltransmis = "<img class='picto_haut_gauche' src='tela.png' />";
htmllie = "<img class='picto_haut_droite' src='chain.png' />";
//}
}
}
 
data.setProperty("indication_transmission", htmltransmis);
data.setProperty("indication_liaison", htmllie);
data.setProperty("nom_obs_associees_formatees", nomObs);
}
};
dView.setTpl(template);
300,8 → 323,9
FieldDef defUrlImage = new StringFieldDef("url_image");
FieldDef defTailleX = new IntegerFieldDef("taille_x");
FieldDef defTailleY = new IntegerFieldDef("taille_y");
FieldDef defObsAssociees = new StringFieldDef("obs_associees");
FieldDef[] defTab = { defNumImage, defNomImage, defDatImage, defLieImage,
defAppImage, defUrlImageS, defUrlImageM, defUrlImage,defTailleX,defTailleY};
defAppImage, defUrlImageS, defUrlImageM, defUrlImage,defTailleX,defTailleY, defObsAssociees};
RecordDef rd = new RecordDef(defTab);
st = new Store(rd);
dView.setStore(st);