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