Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 251 → Rev 250

/trunk/src/org/tela_botanica/client/observation/ObservationModele.java
13,7 → 13,6
import org.tela_botanica.client.modeles.ImageGeneriqueVueAsynchroneDAO;
import org.tela_botanica.client.modeles.ImageInformationRepartitionAsynchroneDAO;
import org.tela_botanica.client.modeles.ImportObservationAsynchroneDAO;
import org.tela_botanica.client.modeles.InformationCommuneDAO;
import org.tela_botanica.client.modeles.LienImageAsynchroneDAO;
import org.tela_botanica.client.modeles.ListeDateObservationAsynchroneDAO;
import org.tela_botanica.client.modeles.ListeEntiteGeographiqueObservationAsynchroneDAO;
32,10 → 31,8
 
import com.google.gwt.json.client.JSONArray;
import com.google.gwt.json.client.JSONObject;
import com.google.gwt.maps.client.geom.LatLng;
import com.gwtext.client.data.Node;
import com.gwtext.client.data.Tree;
import com.gwtext.client.widgets.map.LatLonPoint;
import com.gwtext.client.widgets.tree.TreeNode;
 
 
118,6 → 115,8
}
 
 
/**
* Appelle le DAO asynchrone pour obtenir le nombre d'observation
* @param r le rafraichissable auxquel on enverra les données
152,8 → 151,8
String[][] criteres = {{"",""}} ;
criteres = observationMediateur.renvoyerFiltres() ;
// on rassemble les critères
criteres = observationMediateur.renvoyerFiltres() ;
// on rassemble les critères
// ensuite on demande la page correspondante avec les mêmes critères
336,10 → 335,14
String[][] criteres = {{"",""}} ;
criteres = observationMediateur.renvoyerFiltres() ;
// on rassemble les critères
// on les crée un DAO auquel on les transmet et qui demande le nombre d'images correspondantes (pour les pages)
// on les crée un DAO auquel on les transmet et qui demande le nombre d'images correspondantes (pour les pages)
ExportObservationsDAO exoDAO = new ExportObservationsDAO(this) ;
exoDAO.exporterObservations(observationMediateur.getIdentifiant(), criteres) ;
}
 
 
351,11 → 354,15
}
 
 
 
public String getIdentifiant() {
return observationMediateur.getIdentifiant() ;
}
 
 
 
public void supprimerListeObservation(Rafraichissable r,
String numObs) {
ListeObservationAsynchroneDAO lioaDAO = new ListeObservationAsynchroneDAO(this);
363,6 → 370,8
}
 
 
 
public void transmettreListeObservation(
Rafraichissable r, String numObsapl, boolean publier) {
TransmissionObservationAsynchroneDAO toaDAO = new TransmissionObservationAsynchroneDAO(this);
370,6 → 379,8
}
 
 
 
public void obtenirNuageMotsCles(Rafraichissable r) {
MotsClesObsAsynchronesDAO mcoaDAO = new MotsClesObsAsynchronesDAO(this);
680,15 → 691,5
return cacheObservation ;
}
 
public void obtenirInformationCommune(Rafraichissable r, String nomCommune, String codePostal) {
InformationCommuneDAO infocommune = new InformationCommuneDAO(r);
infocommune.obtenirInfosCommune(r, nomCommune, codePostal);
}
public void obtenirInformationCoord(Rafraichissable r, LatLng coord) {
InformationCommuneDAO infocommune = new InformationCommuneDAO(r);
infocommune.obtenirCommunePlusProche(r, coord.getLongitude(), coord.getLatitude());
}
 
}
/trunk/src/org/tela_botanica/client/observation/ObservationMediateur.java
7,10 → 7,8
 
import org.tela_botanica.client.CarnetEnLigneMediateur;
import org.tela_botanica.client.interfaces.Rafraichissable;
import org.tela_botanica.client.modeles.EntiteGeographiqueObservation;
import org.tela_botanica.client.modeles.ListeObservation;
import org.tela_botanica.client.modeles.Observation;
import org.tela_botanica.client.vues.observation.CartographieObservationVue;
import org.tela_botanica.client.vues.observation.FormulaireSaisieObservationVue;
import org.tela_botanica.client.vues.observation.ListeObservationVue;
import org.tela_botanica.client.vues.observation.MenuObservationVue;
22,8 → 20,6
import org.tela_botanica.client.vues.observation.indicateurs.NuageMotsClesVue;
 
import com.google.gwt.core.client.GWT;
import com.google.gwt.core.client.JavaScriptObject;
import com.google.gwt.maps.client.geom.LatLng;
import com.google.gwt.user.client.DOM;
import com.google.gwt.user.client.Event;
import com.google.gwt.user.client.History;
34,22 → 30,17
import com.gwtext.client.core.RegionPosition;
import com.gwtext.client.data.Record;
import com.gwtext.client.data.Tree;
import com.gwtext.client.widgets.BoxComponent;
import com.gwtext.client.widgets.Component;
import com.gwtext.client.widgets.Container;
import com.gwtext.client.widgets.Panel;
import com.gwtext.client.widgets.TabPanel;
import com.gwtext.client.widgets.event.ContainerListener;
import com.gwtext.client.widgets.event.ContainerListenerAdapter;
import com.gwtext.client.widgets.event.PanelListener;
import com.gwtext.client.widgets.event.PanelListenerAdapter;
import com.gwtext.client.widgets.event.TabPanelListenerAdapter;
import com.gwtext.client.widgets.layout.BorderLayout;
import com.gwtext.client.widgets.layout.BorderLayoutData;
import com.gwtext.client.widgets.layout.FitLayout;
import com.gwtext.client.widgets.layout.RowLayout;
import com.gwtext.client.widgets.layout.RowLayoutData;
import com.gwtext.client.widgets.map.LatLonPoint;
import com.gwtext.client.widgets.menu.BaseItem;
import com.gwtext.client.widgets.menu.Item;
import com.gwtext.client.widgets.menu.Menu;
107,12 → 98,7
private FormulaireSaisieObservationVue formulaireSaisieObservationVue=null;
/**
* Cartographie
*/
private CartographieObservationVue cartoObservationVue = null;
 
/**
* booleen explicitant s'il y a une selection en cours
161,10 → 147,6
private Panel conteneurFormulaire = null ;
private boolean importerObservations = false ;
 
private TabPanel ongletsSaisieCarto;
 
private Panel centre;
/**
* constructeur privé (on accède a la classe par la méthode getInstance
174,7 → 156,8
private ObservationMediateur(CarnetEnLigneMediateur carnetEnLigneMediateur )
{
this.carnetEnLigneMediateur=carnetEnLigneMediateur;
// on crée un modèle
observationModele = ObservationModele.Instance(this);
182,6 → 165,17
listeObservation = new ListeObservationVue(this);
listeObservation.setTitle("Observations");
listeObservation.addListener(
new PanelListenerAdapter() {
public void onCollapse(Panel panel) {
ObservationMediateur.fireResize();
}
public void onExpand(Panel panel) {
ObservationMediateur.fireResize();
}
});
// quelques variables de position pour les borderlayouts
final BorderLayoutData regionNord = new BorderLayoutData(
RegionPosition.NORTH);
210,8 → 204,6
// on ajoute un panneau supplémentaire pour contenir le formulaire, pour éviter un bug de taille
// des panneaux
conteneurFormulaire = new Panel();
cartoObservationVue = new CartographieObservationVue(this);
cartoObservationVue.setLayout(new FitLayout());
// Le formulaire de saisie / modification d'observation
formulaireSaisieObservationVue = new FormulaireSaisieObservationVue(this);
221,101 → 213,45
conteneurFormulaire.setCollapsible(true) ;
conteneurFormulaire.setAutoScroll(true) ;
// Redimensionnement global sur collapse/expand
ongletsSaisieCarto = new TabPanel();
conteneurFormulaire.addListener(
new PanelListenerAdapter() {
public void onCollapse(Panel panel) {
ObservationMediateur.fireResize();
}
public void onExpand(Panel panel) {
ObservationMediateur.fireResize();
}
});
ongletsSaisieCarto.addListener(new TabPanelListenerAdapter() {
 
public void onActivate(Panel panel) {
 
if (panel.equals(conteneurFormulaire)) {
if (!cartoObservationVue.isCarteAjoutee()) {
cartoObservationVue.initialiserCarte();
public void onCollapse(Panel panel) {
ObservationMediateur.fireResize();
}
} else {
cartoObservationVue.recentrerCarte();
}
}
 
public boolean doBeforeTabChange(TabPanel source, Panel newPanel,
Panel oldPanel) {
if (newPanel.equals(cartoObservationVue)) {
if (!cartoObservationVue.isCarteAjoutee()) {
cartoObservationVue.initialiserCarte();
}
}
return true;
}
public void onExpand(Panel panel) {
ObservationMediateur.fireResize();
}
});
centre = new Panel();
centre.setLayout(new BorderLayout());
final Panel centre = new Panel();
centre.setLayout(new RowLayout());
centre.setAutoScroll(true);
centre.setBorder(false);
centre.addListener(
new PanelListenerAdapter() {
public void onCollapse(Panel panel) {
ObservationMediateur.fireResize();
}
public void onExpand(Panel panel) {
ObservationMediateur.fireResize();
}
public void onResize(BoxComponent component, int adjWidth,
int adjHeight, int rawWidth, int rawHeight) {
ObservationMediateur.fireResize();
}
public void onAfterLayout(Container self) {
if(!listeObservation.getTailleInitialisee()) {
if((int)Math.round(centre.getHeight() * 0.6) != 0) {
listeObservation.setHeight((int)Math.round(centre.getHeight() * 0.6));
listeObservation.setTailleInitialisee();
}
}
}
});
formulaireSaisieObservationVue.setBorder(false);
conteneurFormulaire.add(formulaireSaisieObservationVue);
ongletsSaisieCarto.add(conteneurFormulaire);
ongletsSaisieCarto.add(cartoObservationVue);
centre.add(conteneurFormulaire, new RowLayoutData("40%"));
centre.add(listeObservation, new RowLayoutData("60%"));
BorderLayoutData listeLayoutData = new BorderLayoutData(RegionPosition.SOUTH);
listeLayoutData.setSplit(true);
BorderLayoutData formLayoutData = new BorderLayoutData(RegionPosition.CENTER);
listeLayoutData.setSplit(true);
centre.add(listeObservation, listeLayoutData);
centre.add(ongletsSaisieCarto, formLayoutData);
Panel conteneurDetailsMotsCles = new Panel("Détails");
 
// Redimensionnement global sur collapse/expand
conteneurDetailsMotsCles.addListener(
new PanelListenerAdapter() {
public void onCollapse(Panel panel) {
ObservationMediateur.fireResize();
}
public void onExpand(Panel panel) {
ObservationMediateur.fireResize();
}
public void onCollapse(Panel panel) {
ObservationMediateur.fireResize();
}
public void onExpand(Panel panel) {
ObservationMediateur.fireResize();
}
});
// on initialise le volet qui contient les details
conteneurDetailsMotsCles.setWidth("10%");
conteneurDetailsMotsCles.setTitleCollapse(true);
356,13 → 292,13
filtres.addListener(
new PanelListenerAdapter() {
public void onCollapse(Panel panel) {
ObservationMediateur.fireResize();
}
public void onExpand(Panel panel) {
ObservationMediateur.fireResize();
}
new PanelListenerAdapter() {
public void onCollapse(Panel panel) {
ObservationMediateur.fireResize();
}
public void onExpand(Panel panel) {
ObservationMediateur.fireResize();
}
});
371,8 → 307,11
panelMotsCles.hide();
panneauPrincipalObservation.add(conteneurDetailsMotsCles,regionEst);
panneauPrincipalObservation.add(filtres,regionOuest);
panneauPrincipalObservation.add(centre,regionCentre);
499,8 → 438,6
observationModele.obtenirLiaisonImage(mvz, ordreObservation) ;
observationModele.obtenirMotsClesId(arbreMotsClesVue, ordreObservation);
observationModele.obtenirInformationCommune(cartoObservationVue, obs.getLocalite(), obs.getIdentifiantLocalite());
//arbreMotsClesVue.cocherMotsCles(motsClesIds);
 
 
693,11 → 630,9
String chaineNomsFiltresDate = filtresDate[0] ;
String chaineValFiltresDate = filtresDate[1] ;
String[] filtresTaxon = filtres.getRechercheTaxonVue().renvoyerValeursAFiltrer();
String chaineNomsFiltres = chaineNomsFiltresGeo+","+chaineNomsFiltresDate ;
String chaineValFiltres = chaineValFiltresGeo+","+chaineValFiltresDate ;
String chaineNomsFiltres = chaineNomsFiltresGeo+","+chaineNomsFiltresDate+","+filtresTaxon[0] ;
String chaineValFiltres = chaineValFiltresGeo+","+chaineValFiltresDate+","+filtresTaxon[1] ;
String[] nomsFiltres = chaineNomsFiltres.split(",") ;
String[] valsFiltres = chaineValFiltres.split(",") ;
705,7 → 640,7
String [][] valeursFiltres = new String[longueur][2] ;
listeObservation.afficherFiltres(chaineValFiltresGeo, chaineValFiltresDate, filtresTaxon[1]) ;
listeObservation.afficherFiltres(chaineValFiltresGeo, chaineValFiltresDate) ;
 
int i = 0;
725,6 → 660,12
}
}
/*if(filtresMotsCles.length > 0) {
valeursFiltres[i][0] = filtresMotsCles[0] ;
filtresMotsCles[1] = filtresMotsCles[1].replace("\n", " ");
valeursFiltres[i][1] = filtresMotsCles[1].replace(" ", ";") ;
}*/
return valeursFiltres ;
}
 
780,8 → 721,6
imageGeneriqueVue.raz() ;
masked.mask("Chargement", true);
}
 
cartoObservationVue.masquerChargement(true);
}
public void deMasquerChargementInfosObservations()
1092,41 → 1031,5
// affichage des détails dans le formulaire d'observation
formulaireSaisieObservationVue.rafraichir(obs, false) ;
}
conteneurFormulaire.setTitle("Modification");
}
public void onModeCreation() {
conteneurFormulaire.setTitle("Création");
}
 
public void obtenirInformationCoord(Rafraichissable r, LatLng coord) {
observationModele.obtenirInformationCoord(r,coord);
}
public void obtenirInformationCommune(Rafraichissable r, String nomCommune, String codePostal) {
observationModele.obtenirInformationCommune(r,nomCommune, codePostal);
}
 
public void obtenirInformationCoord(LatLng coord) {
observationModele.obtenirInformationCoord(cartoObservationVue,coord);
if(!cartoObservationVue.isVisible()){
cartoObservationVue.masquerChargement(true);
ongletsSaisieCarto.activate(1);
}
}
 
public void obtenirInformationCommune(String nomCommune,
String codePostal) {
observationModele.obtenirInformationCommune(cartoObservationVue,nomCommune, codePostal);
if(!cartoObservationVue.isVisible()){
cartoObservationVue.masquerChargement(true);
ongletsSaisieCarto.activate(1);
}
}
 
public void rafraichirSaisieCommuneObservation(EntiteGeographiqueObservation infosCommune) {
formulaireSaisieObservationVue.rafraichir(infosCommune, false);
ongletsSaisieCarto.activate(0);
}
}