Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 250 → Rev 251

/trunk/src/org/tela_botanica/client/observation/ObservationModele.java
13,6 → 13,7
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;
31,8 → 32,10
 
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;
 
 
115,8 → 118,6
}
 
 
/**
* Appelle le DAO asynchrone pour obtenir le nombre d'observation
* @param r le rafraichissable auxquel on enverra les données
151,8 → 152,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
335,14 → 336,10
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) ;
}
 
 
354,15 → 351,11
}
 
 
 
public String getIdentifiant() {
return observationMediateur.getIdentifiant() ;
}
 
 
 
public void supprimerListeObservation(Rafraichissable r,
String numObs) {
ListeObservationAsynchroneDAO lioaDAO = new ListeObservationAsynchroneDAO(this);
370,8 → 363,6
}
 
 
 
public void transmettreListeObservation(
Rafraichissable r, String numObsapl, boolean publier) {
TransmissionObservationAsynchroneDAO toaDAO = new TransmissionObservationAsynchroneDAO(this);
379,8 → 370,6
}
 
 
 
public void obtenirNuageMotsCles(Rafraichissable r) {
MotsClesObsAsynchronesDAO mcoaDAO = new MotsClesObsAsynchronesDAO(this);
691,5 → 680,15
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,8 → 7,10
 
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;
20,6 → 22,8
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;
30,17 → 34,22
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;
98,7 → 107,12
private FormulaireSaisieObservationVue formulaireSaisieObservationVue=null;
/**
* Cartographie
*/
private CartographieObservationVue cartoObservationVue = null;
 
/**
* booleen explicitant s'il y a une selection en cours
147,6 → 161,10
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
156,8 → 174,7
private ObservationMediateur(CarnetEnLigneMediateur carnetEnLigneMediateur )
{
this.carnetEnLigneMediateur=carnetEnLigneMediateur;
// on crée un modèle
observationModele = ObservationModele.Instance(this);
165,17 → 182,6
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);
204,6 → 210,8
// 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);
213,45 → 221,101
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 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 onExpand(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;
}
});
final Panel centre = new Panel();
centre.setLayout(new RowLayout());
centre = new Panel();
centre.setLayout(new BorderLayout());
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);
centre.add(conteneurFormulaire, new RowLayoutData("40%"));
centre.add(listeObservation, new RowLayoutData("60%"));
ongletsSaisieCarto.add(conteneurFormulaire);
ongletsSaisieCarto.add(cartoObservationVue);
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);
292,13 → 356,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();
}
});
307,11 → 371,8
panelMotsCles.hide();
panneauPrincipalObservation.add(conteneurDetailsMotsCles,regionEst);
panneauPrincipalObservation.add(filtres,regionOuest);
panneauPrincipalObservation.add(centre,regionCentre);
438,6 → 499,8
observationModele.obtenirLiaisonImage(mvz, ordreObservation) ;
observationModele.obtenirMotsClesId(arbreMotsClesVue, ordreObservation);
observationModele.obtenirInformationCommune(cartoObservationVue, obs.getLocalite(), obs.getIdentifiantLocalite());
//arbreMotsClesVue.cocherMotsCles(motsClesIds);
 
 
630,9 → 693,11
String chaineNomsFiltresDate = filtresDate[0] ;
String chaineValFiltresDate = filtresDate[1] ;
String chaineNomsFiltres = chaineNomsFiltresGeo+","+chaineNomsFiltresDate ;
String chaineValFiltres = chaineValFiltresGeo+","+chaineValFiltresDate ;
String[] filtresTaxon = filtres.getRechercheTaxonVue().renvoyerValeursAFiltrer();
String chaineNomsFiltres = chaineNomsFiltresGeo+","+chaineNomsFiltresDate+","+filtresTaxon[0] ;
String chaineValFiltres = chaineValFiltresGeo+","+chaineValFiltresDate+","+filtresTaxon[1] ;
String[] nomsFiltres = chaineNomsFiltres.split(",") ;
String[] valsFiltres = chaineValFiltres.split(",") ;
640,7 → 705,7
String [][] valeursFiltres = new String[longueur][2] ;
listeObservation.afficherFiltres(chaineValFiltresGeo, chaineValFiltresDate) ;
listeObservation.afficherFiltres(chaineValFiltresGeo, chaineValFiltresDate, filtresTaxon[1]) ;
 
int i = 0;
660,12 → 725,6
}
}
/*if(filtresMotsCles.length > 0) {
valeursFiltres[i][0] = filtresMotsCles[0] ;
filtresMotsCles[1] = filtresMotsCles[1].replace("\n", " ");
valeursFiltres[i][1] = filtresMotsCles[1].replace(" ", ";") ;
}*/
return valeursFiltres ;
}
 
721,6 → 780,8
imageGeneriqueVue.raz() ;
masked.mask("Chargement", true);
}
 
cartoObservationVue.masquerChargement(true);
}
public void deMasquerChargementInfosObservations()
1031,5 → 1092,41
// 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);
}
}