Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 2724 → Rev 2726

/trunk/src/org/tela_botanica/client/vues/observation/ListeObservationVue.java
345,6 → 345,9
observationMediateur.obtenirListeObservation();
}
};
// Le changement de tri n'est pas immédiat et si on recharge le liste tout de suite
// on a l'ancien tri et pas le nouveau (200 millisecondes suffisent et ne se voient pas)
// #mondeDeMerde
t.schedule(200);
}
});
/trunk/src/org/tela_botanica/client/vues/image/ListeImageVue.java
1,13 → 1,19
package org.tela_botanica.client.vues.image;
 
import java.util.HashMap;
 
import org.tela_botanica.client.i18n.Msg;
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.interfaces.VueListable;
import org.tela_botanica.client.modeles.objets.Ontologies;
import org.tela_botanica.client.util.Util;
import org.tela_botanica.client.vues.BarrePaginationVue;
 
import com.google.gwt.user.client.Timer;
import com.gwtext.client.core.EventObject;
import com.gwtext.client.core.SortDir;
import com.gwtext.client.data.FieldDef;
import com.gwtext.client.data.IntegerFieldDef;
import com.gwtext.client.data.Record;
27,6 → 33,7
import com.gwtext.client.widgets.grid.GridPanel;
import com.gwtext.client.widgets.grid.Renderer;
import com.gwtext.client.widgets.grid.RowSelectionModel;
import com.gwtext.client.widgets.grid.event.GridHeaderListenerAdapter;
import com.gwtext.client.widgets.grid.event.GridRowListener;
import com.gwtext.client.widgets.grid.event.RowSelectionListenerAdapter;
 
117,6 → 124,12
*/
private boolean garderRatio = true;
private SortDir directionTri;
 
private String champTri;
private boolean triActif;
/**
* Constructeur sans arguments (privé car ne doit pas être utilisé)
*/
144,6 → 157,8
bt.setLabelElement(Msg.get("images"));
bt.setTaillePageParDefaut(50);
setBottomToolbar(bt);
directionTri = SortDir.ASC;
 
// on construit le modèle de colonnes
numImage = new ColumnConfig(Msg.get("numero"), "num_image", 30, true,
163,7 → 178,7
 
});
transmisImage = new ColumnConfig(" ", "obs_associees", 10, true, new Renderer() {
transmisImage = new ColumnConfig(" ", "transmis", 10, true, new Renderer() {
 
@Override
public String render(Object value, CellMetadata cellMetadata,
354,24 → 369,7
this.setAutoWidth(true);
this.setEnableColumnResize(true);
 
// 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");
FieldDef defAppImage = new StringFieldDef("app_image");
FieldDef defUrlImageS = new StringFieldDef("url_image_S");
FieldDef defUrlImageM = new StringFieldDef("url_image_M");
FieldDef defUrlImage = new StringFieldDef("url_image");
FieldDef defNoteImage = new StringFieldDef("note_image");
FieldDef defTailleX = new IntegerFieldDef("taille_x");
FieldDef defTailleY = new IntegerFieldDef("taille_y");
FieldDef defObsAssociees = new StringFieldDef("obs_associees");
FieldDef[] defTab = { defNumImage,defTransmisImage, defNomImage, defDatImage, defLieImage,
defAppImage, defUrlImageS, defUrlImageM, defUrlImage,
defNoteImage, defTailleX, defTailleY, defObsAssociees};
RecordDef rd = new RecordDef(defTab);
RecordDef rd = new RecordDef(ImageMediateur.getDefinitionsChampsGrilleImages());
st = new Store(rd);
// on associe le store
this.setStore(st);
395,6 → 393,28
* Ajoute les listeners pour la gestion des évènements
*/
private void ajouterListeners() {
this.addGridHeaderListener(new GridHeaderListenerAdapter() {
@Override
public void onHeaderClick(GridPanel grid, int colIndex, EventObject e) {
triActif = true;
Timer t = new Timer() {
@Override
public void run() {
enregistrerEtatTri();
// Trier ne change pas le nombre de page, on peut donc se passer d'un appel
// au comptage (ce serait mieux si ces deux appels étaient combinés)
iMediateur.obtenirPhotoGalerieSansCalculerPages(ListeImageVue.this);
}
};
// Le changement de tri n'est pas immédiat et si on recharge le liste tout de suite
// on a l'ancien tri et pas le nouveau (200 millisecondes suffisent et ne se voient pas)
// #mondeDeMerde
t.schedule(200);
}
});
this.addListener(new ContainerListenerAdapter() {
 
@Override
593,13 → 613,12
 
// si on reçoit un store
if (nouvelleDonnees instanceof Store) {
 
// on affecte celui-ci comme gestionnaire de données
st = (Store) nouvelleDonnees;
st.sort(champTri, directionTri);
st.load();
// et on reconfigure et rafraichit la vue
this.reconfigure(st, this.getColumnModel());
 
}
 
744,5 → 763,33
return associeesTranmises;
}
private void enregistrerEtatTri() {
if(triActif) {
this.directionTri = st.getSortState().getDirection();
this.champTri = st.getSortState().getField();
}
}
public String renvoyerTri() {
String tri = "ordre";
if(triActif) {
HashMap<String, String> corr = Ontologies.getCorrespondanceGrilleImageChampsTri();
if(corr.containsKey(champTri)) {
tri = corr.get(champTri);
}
}
return tri;
}
 
public String renvoyerDirectionTri() {
String triDir = "ASC";
try {
triDir = (triActif) ? directionTri.getDirection() : "ASC";
} catch (Exception e) {
triDir = "ASC";
}
return triDir;
}
}
/trunk/src/org/tela_botanica/client/vues/image/MiniListeObservationVue.java
1,5 → 1,6
package org.tela_botanica.client.vues.image;
 
import java.util.HashMap;
import java.util.Iterator;
 
import org.tela_botanica.client.i18n.Msg;
8,9 → 9,11
import org.tela_botanica.client.interfaces.Rafraichissable;
import org.tela_botanica.client.modeles.objets.ListeObservation;
import org.tela_botanica.client.modeles.objets.Observation;
import org.tela_botanica.client.modeles.objets.Ontologies;
import org.tela_botanica.client.util.Util;
import org.tela_botanica.client.vues.MiniBarrePaginationVue;
 
import com.google.gwt.user.client.Timer;
import com.google.gwt.user.client.Window;
import com.gwtext.client.data.Record;
import com.gwtext.client.data.SimpleStore;
31,6 → 34,7
import com.gwtext.client.widgets.grid.GridPanel;
import com.gwtext.client.widgets.grid.Renderer;
import com.gwtext.client.widgets.grid.RowSelectionModel;
import com.gwtext.client.widgets.grid.event.GridHeaderListenerAdapter;
import com.gwtext.client.widgets.grid.event.GridListenerAdapter;
import com.gwtext.client.widgets.grid.event.RowSelectionListenerAdapter;
import com.gwtext.client.widgets.menu.BaseItem;
40,6 → 44,7
import com.gwtext.client.core.EventObject;
import com.gwtext.client.core.Ext;
import com.gwtext.client.core.ExtElement;
import com.gwtext.client.core.SortDir;
import com.gwtext.client.dd.DragData;
 
/**
93,6 → 98,12
*/
private int pageMax = 1 ;
private SortDir directionTri;
 
private String champTri;
private boolean triActif;
/**
* Constructeur avec arguments
* @param im le médiateur à associer à la vue
101,6 → 112,8
{
iMediateur = im ;
directionTri = SortDir.ASC;
this.setId("x-view-mini-obs") ;
// on construit le modèle de colonnes
148,7 → 161,7
} ;
// on crée un store simple contenant un petit set de données et deux colonnes
store = new SimpleStore(new String[]{"transmis","plante","date","lieu","ordre_obs","id_obs"}, getObs());
store = new SimpleStore(new String[]{"transmis","nomSaisi_observation","date_observation","lieu_observation","ordre_observation","id_obs"}, getObs());
ColumnConfig[] columns = {
new ColumnConfig("", "transmis", 30, true, new Renderer() {
 
166,10 → 179,10
}
}),
new ColumnConfig(Msg.get("taxon"), "plante", 145, true, colRend),
new ColumnConfig(Msg.get("date"), "date", 68, true, dateRend),
new ColumnConfig(Msg.get("lieu"), "lieu", 145, true, colRend),
new ColumnConfig(Msg.get("numero"), "ordre_obs", 50, true, colRend), } ;
new ColumnConfig(Msg.get("taxon"), "nomSaisi_observation", 145, true, colRend),
new ColumnConfig(Msg.get("date"), "date_observation", 68, true, dateRend),
new ColumnConfig(Msg.get("lieu"), "lieu_observation", 145, true, colRend),
new ColumnConfig(Msg.get("numero"), "ordre_observation", 50, true, colRend), } ;
ColumnModel columnModel = new ColumnModel(columns);
209,6 → 222,27
setTopToolbar(bt) ;
this.addGridHeaderListener(new GridHeaderListenerAdapter() {
@Override
public void onHeaderClick(GridPanel grid, int colIndex, EventObject e) {
triActif = true;
Timer t = new Timer() {
@Override
public void run() {
enregistrerEtatTri();
// Trier ne change pas le nombre de pages, on peut donc se passer d'un appel
// au comptage (ce serait mieux si ces deux appels étaient combinés)
obtenirMiniListeObservations();
}
};
// Le changement de tri n'est pas immédiat et si on recharge le liste tout de suite
// on a l'ancien tri et pas le nouveau (200 millisecondes suffisent et ne se voient pas)
// #mondeDeMerde
t.schedule(200);
}
});
selecteurMode.addListener(new ComboBoxListenerAdapter() {
 
@Override
231,7 → 265,7
@Override
public void onContextMenu(EventObject e) {
// si pas de selection, on selection au moins la ligne sur laquelle on a fait le clic
// si pas de selection, on selectionne 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) ;
341,7 → 375,8
i++ ;
}
store = new SimpleStore(new String[]{"transmis","plante","date","lieu","ordre_obs","id_obs"}, listeObs);
store = new SimpleStore(new String[]{"transmis","nomSaisi_observation","date_observation","lieu_observation","ordre_observation","id_obs"}, listeObs);
store.sort(champTri, directionTri);
store.load();
this.reconfigure(store, colModel) ;
}
653,4 → 688,33
return false;
}
}
private void enregistrerEtatTri() {
if(triActif) {
this.directionTri = store.getSortState().getDirection();
this.champTri = store.getSortState().getField();
}
}
 
public String renvoyerTri() {
String tri = "ordre";
if(triActif) {
HashMap<String, String> corr = Ontologies.getCorrespondanceGrilleObservationChampsTri();
if(corr.containsKey(champTri)) {
tri = corr.get(champTri);
}
}
return tri;
}
 
public String renvoyerDirectionTri() {
String triDir = "ASC";
try {
triDir = (triActif) ? directionTri.getDirection() : "ASC";
} catch (Exception e) {
triDir = "ASC";
}
return triDir;
}
}