Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 638 → Rev 633

/trunk/src/org/tela_botanica/client/vues/image/ArbreDateImageFiltreVue.java
File deleted
/trunk/src/org/tela_botanica/client/vues/image/BarreNotationVue.java
179,7 → 179,7
 
// qu'on remplit par defaut avec des images d'étoiles vides
for (int i = 0; i < noteMax; i++) {
etoiles[i] = new Image("note-off.gif");
etoiles[i] = new Image("note_off.gif");
etoiles[i].setStylePrimaryName("x-view-notation-bar");
this.add(etoiles[i]);
}
/trunk/src/org/tela_botanica/client/vues/image/MiniListeObservationVue.java
2,7 → 2,6
 
import java.util.Iterator;
 
import org.tela_botanica.client.Util;
import org.tela_botanica.client.image.ImageMediateur;
import org.tela_botanica.client.interfaces.ListePaginable;
import org.tela_botanica.client.interfaces.Rafraichissable;
84,8 → 83,6
int taillePage = 50;
private String modeleLieu = "IDLOCCOMMUNE, LIEUDIT, STATION";
/**
* Nombre de pages totales
*/
149,7 → 146,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","id_obs"}, getObs());
store = new SimpleStore(new String[]{"transmis","id_obs","plante","date","lieu"}, getObs());
ColumnConfig[] columns = {
new ColumnConfig("", "transmis", 30, true, new Renderer() {
 
165,11 → 162,11
}
}
}),
}),
new ColumnConfig("Numero", "id_obs", 50, true, colRend),
new ColumnConfig("Taxon", "plante", 145, true, colRend),
new ColumnConfig("Date", "date", 68, true, dateRend),
new ColumnConfig("Lieu", "lieu", 145, true, colRend),
new ColumnConfig("Numero", "id_obs", 50, true, colRend), } ;
new ColumnConfig("Lieu", "lieu", 145, true, colRend) } ;
ColumnModel columnModel = new ColumnModel(columns);
317,16 → 314,16
Observation obs=(Observation) data.get(it.next());
listeObs[i][0] = obs.getTransmis();
listeObs[i][1] = obs.getNomSaisi();
listeObs[i][2] = obs.getDate() ;
listeObs[i][3] = Util.formaterLieu(obs, modeleLieu);
listeObs[i][4] = obs.getNumeroOrdre();
listeObs[i][0] = obs.getNumeroOrdre();
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[]{"transmis","plante","date","lieu","id_obs"}, listeObs);
store = new SimpleStore(new String[]{"id_obs","transmis","plante","date","lieu"}, listeObs);
store.load();
this.reconfigure(store, colModel) ;
}
/trunk/src/org/tela_botanica/client/vues/image/BarreRechercheFiltreVue.java
4,27 → 4,11
import org.tela_botanica.client.interfaces.Filtrable;
import org.tela_botanica.client.interfaces.Rafraichissable;
 
import com.google.gwt.core.client.GWT;
import com.google.gwt.core.client.JavaScriptObject;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.ui.Label;
import com.gwtext.client.core.EventCallback;
import com.gwtext.client.core.EventObject;
import com.gwtext.client.widgets.BoxComponent;
import com.gwtext.client.widgets.Button;
import com.gwtext.client.widgets.Component;
import com.gwtext.client.widgets.Container;
import com.gwtext.client.widgets.Panel;
import com.gwtext.client.widgets.event.ButtonListener;
import com.gwtext.client.widgets.event.ButtonListenerAdapter;
import com.gwtext.client.widgets.event.ContainerListener;
import com.gwtext.client.widgets.event.ContainerListenerAdapter;
import com.gwtext.client.widgets.event.KeyListener;
import com.gwtext.client.widgets.form.TextField;
import com.gwtext.client.widgets.layout.HorizontalLayout;
import com.gwtext.client.widgets.menu.Menu;
 
/**
* Fenêtre de recherche pour les mots clés, contenant un champ texte, et un
51,15 → 35,11
* Booleen d'etat du filtre
*/
private boolean filtreModifie = false;
private Button boutonRechercher = null;
 
/**
* mot(s) à chercher
*/
private String motsAChercher = "";
private final int KEY_ENTER = 13;
 
/**
* Constructeur sans argument (privé car ne doit pas être utilisé)
75,23 → 55,20
* @param im
*/
public BarreRechercheFiltreVue(ImageMediateur im) {
super();
setLayout(new HorizontalLayout(3));
iMediateur = im;
 
Label labelRecherche = new Label("Par commentaires :");
champRecherche = new TextField();
boutonRechercher = new Button("OK");
 
add(labelRecherche);
add(champRecherche);
add(boutonRechercher);
 
setPaddings(5);
setBorder(false);
setAutoWidth(true);
setCollapsible(true);
 
ajouterListeners();
}
 
98,28 → 75,19
/**
* ajoute des listeners
*/
public void ajouterListeners() {
boutonRechercher.addListener(new ButtonListenerAdapter() {
public void onClick(Button button, EventObject e) {
valider();
iMediateur.obtenirPhotoGalerie(iMediateur.getGalerieImage());
}
});
champRecherche.addKeyPressListener(new EventCallback() {
public void execute(EventObject e) {
switch(e.getKey()) {
case KEY_ENTER:
valider();
iMediateur.obtenirPhotoGalerie(iMediateur.getGalerieImage());
break;
}
}
});
private void ajouterListeners() {
 
// gestion de la touche entrée
champRecherche.addKeyListener(EventObject.ENTER, new KeyListener() {
 
public void onKey(int key, EventObject e) {
 
valider();
getIMediateur().obtenirPhotoGalerie(
getIMediateur().getFiltreCommentaires());
}
 
});
}
 
/**
160,7 → 128,7
public String[] renvoyerValeursAFiltrer() {
 
valider() ;
String[] valeurFiltre = { "ci_recherche_generale", motsAChercher };
String[] valeurFiltre = { "ci_meta_comment", motsAChercher };
return valeurFiltre;
}
 
/trunk/src/org/tela_botanica/client/vues/image/GalerieImageVue.java
399,15 → 399,13
videPanel.setVisible(false) ;
}
if(dView != null) {
if(!dView.isVisible()) {
dView.setVisible(true);
}
// on l'affecte à la vue
dView.setStore(st);
// et on rafrachit la vue
dView.refresh();
if(!dView.isVisible()) {
dView.setVisible(true);
}
// on l'affecte à la vue
dView.setStore(st);
// et on rafrachit la vue
dView.refresh();
}
else
{
/trunk/src/org/tela_botanica/client/vues/image/DateFiltreVue.java
5,13 → 5,8
import org.tela_botanica.client.interfaces.Rafraichissable;
 
import com.google.gwt.user.client.ui.Label;
import com.gwtext.client.core.EventCallback;
import com.gwtext.client.core.EventObject;
import com.gwtext.client.widgets.Button;
import com.gwtext.client.widgets.Panel;
import com.gwtext.client.widgets.event.ButtonListenerAdapter;
import com.gwtext.client.widgets.form.DateField;
import com.gwtext.client.widgets.layout.HorizontalLayout;
 
/**
* Classe implémentant un filtre qui permet de rechercher une image par rapport
32,10 → 27,6
*/
private DateField filtreDate = null;
 
private Button boutonRechercher = null;
private final int KEY_ENTER = 13;
/**
* Booleen d'état du filtre
*/
56,16 → 47,15
* le médiateur à associer
*/
public DateFiltreVue(ImageMediateur im) {
super();
setLayout(new HorizontalLayout(3));
setPaddings(5);
setCollapsible(true);
setBorder(false);
iMediateur = im;
boutonRechercher = new Button("OK");
 
Label labelRecherche = new Label("Par date :");
add(labelRecherche);
 
// on crée le calendrier et on définit le format de la date "jj/mm/aaaa"
filtreDate = new DateField();
filtreDate.setAutoWidth(true);
72,7 → 62,7
filtreDate.setFormat("d/m/Y");
 
add(filtreDate);
add(boutonRechercher);
ajouterListeners();
}
 
/**
79,27 → 69,7
* Ajoute les listeners
*/
public void ajouterListeners() {
boutonRechercher.addListener(new ButtonListenerAdapter() {
public void onClick(Button button, EventObject e) {
valider();
iMediateur.obtenirPhotoGalerie(iMediateur.getGalerieImage());
}
});
filtreDate.addKeyPressListener(new EventCallback() {
public void execute(EventObject e) {
switch(e.getKey()) {
case KEY_ENTER:
valider();
iMediateur.obtenirPhotoGalerie(iMediateur.getGalerieImage());
break;
}
}
});
 
}
 
/**
/trunk/src/org/tela_botanica/client/vues/image/ZoomImageVue.java
254,7 → 254,7
* Desactive visuellement le panneau et les boutons
*/
public void desactiverPanneau() {
getImage().setUrl("vide.jpg");
getImage().setUrl("vide.jpeg");
prev.setEnabled(false);
suiv.setEnabled(false);
}
/trunk/src/org/tela_botanica/client/vues/image/PanneauFiltresImagesVues.java
2,22 → 2,12
 
import org.tela_botanica.client.image.ImageMediateur;
import org.tela_botanica.client.vues.ArbreMotsClesFiltreVue;
import org.tela_botanica.client.vues.observation.filtres.ArbreDateObservationFiltreVue;
 
import com.google.gwt.core.client.GWT;
import com.google.gwt.core.client.JavaScriptObject;
import com.gwtext.client.core.EventObject;
import com.gwtext.client.core.Ext;
import com.gwtext.client.widgets.BoxComponent;
import com.gwtext.client.widgets.Button;
import com.gwtext.client.widgets.Component;
import com.gwtext.client.widgets.Container;
import com.gwtext.client.widgets.Panel;
import com.gwtext.client.widgets.event.ButtonListenerAdapter;
import com.gwtext.client.widgets.event.ContainerListener;
import com.gwtext.client.widgets.event.ContainerListenerAdapter;
import com.gwtext.client.widgets.layout.RowLayout;
import com.gwtext.client.widgets.layout.RowLayoutData;
import com.gwtext.client.widgets.layout.VerticalLayout;
 
/**
37,16 → 27,10
* L'arbre pour la recherche par mots clés
*/
private ArbreMotsClesFiltreVue motsClesFiltres = null;
/**
* L'arbre pour la recherche par mots clés
*/
private ArbreDateImageFiltreVue arbreDateImageFiltreVue = null;
/**
* La barre de recherche par commentaires
*/
private BarreRechercheFiltreVue rechercheLibreFiltreVue = null;
private BarreRechercheFiltreVue commFiltresVues = null;
 
/**
* Recherche par date
78,45 → 62,38
* le médiateur à associer
*/
public PanneauFiltresImagesVues(ImageMediateur im) {
super("Filtres");
iMediateur = im;
this.setCollapsible(true);
setLayout(new RowLayout());
setLayout(new VerticalLayout());
 
rechercheLibreFiltreVue = new BarreRechercheFiltreVue(im);
rechercheLibreFiltreVue.setTitle("Recherche libre");
rechercheLibreFiltreVue.setCollapsible(true);
add(rechercheLibreFiltreVue, new RowLayoutData());
if(Ext.isIE()) {
add(rechercheLibreFiltreVue);
rechercheLibreFiltreVue.setHeight(110);
} else {
add(rechercheLibreFiltreVue,new RowLayoutData(100));
}
commFiltresVues = new BarreRechercheFiltreVue(im);
add(commFiltresVues);
 
arbreDateImageFiltreVue = new ArbreDateImageFiltreVue(im) ;
arbreDateImageFiltreVue.setWidth("100%") ;
arbreDateImageFiltreVue.setBorder(false);
add(arbreDateImageFiltreVue, new RowLayoutData());
dateFiltreVues = new DateFiltreVue(im);
add(dateFiltreVues);
 
selectionFiltreVue = new SelectionFiltreVue(im);
add(selectionFiltreVue);
 
motsClesFiltres = new ArbreMotsClesFiltreVue(im);
motsClesFiltres.setTitle("Mots clés");
motsClesFiltres.setAutoScroll(true);
add(motsClesFiltres, new RowLayoutData());
add(motsClesFiltres);
 
selectionFiltreVue = new SelectionFiltreVue(im);
addListener(new ContainerListenerAdapter() {
Panel panelValidation = new Panel();
valider = new Button("Rechercher");
panelValidation.add(valider);
panelValidation.setBorder(false);
add(panelValidation);
 
public void onRender(Component component) {
// TODO Auto-generated method stub
valider.addListener(new ButtonListenerAdapter() {
 
rechercheLibreFiltreVue.ajouterListeners();
arbreDateImageFiltreVue.ajouterListeners();
public void onClick(Button button, EventObject e) {
 
iMediateur.obtenirPhotoGalerie(iMediateur.getGalerieImage());
 
}
 
});
}
 
130,12 → 107,12
}
 
/**
* Accesseur pour le filtre général
* Accesseur pour le filtre par commentaire
*
* @return le filtre général
* @return le filtre des commentaires
*/
public BarreRechercheFiltreVue getBarreRecherche() {
return rechercheLibreFiltreVue;
return commFiltresVues;
}
 
/**
146,8 → 123,8
public boolean renvoyerEtatFiltre() {
 
return (motsClesFiltres.renvoyerEtatFiltre()
|| rechercheLibreFiltreVue.renvoyerEtatFiltre()
|| arbreDateImageFiltreVue.renvoyerEtatFiltre()
|| commFiltresVues.renvoyerEtatFiltre()
|| dateFiltreVues.renvoyerEtatFiltre()
|| selectionFiltreVue.renvoyerEtatFiltre());
}
 
158,28 → 135,11
* @return un tableau contenant les noms et les valeurs à filtrer
*/
public String[][] renvoyerValeursAFiltrer() {
String[][] filtres = { motsClesFiltres.renvoyerValeursAFiltrer(),
commFiltresVues.renvoyerValeursAFiltrer(),
dateFiltreVues.renvoyerValeursAFiltrer(),
selectionFiltreVue.renvoyerValeursAFiltrer() };
String[] filtresDates = arbreDateImageFiltreVue.renvoyerValeursAFiltrer();
int lgSup = 0;
if(filtresDates.length > 0) {
String[] nomFiltresDates = filtresDates[0].split(",");
String[] valFiltresDates = filtresDates[1].split(",");
lgSup = Math.max(nomFiltresDates.length, valFiltresDates.length);
}
String[][] filtres = new String[3 + lgSup][2];
for(int i=3; i < filtres.length; i++) {
filtres[i][0] = filtresDates[0].split(",")[i - 3];
filtres[i][1] = filtresDates[1].split(",")[i -3];
}
filtres[0] = motsClesFiltres.renvoyerValeursAFiltrer();
filtres[1] = rechercheLibreFiltreVue.renvoyerValeursAFiltrer();
filtres[2] = selectionFiltreVue.renvoyerValeursAFiltrer();
return filtres;
}