Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 318 → Rev 300

/trunk/src/org/tela_botanica/client/observation/ObservationMediateur.java
18,7 → 18,6
import org.tela_botanica.client.vues.observation.filtres.ArbreMotsClesObservationVue;
import org.tela_botanica.client.vues.observation.indicateurs.ImageGeneriqueVue;
import org.tela_botanica.client.vues.observation.indicateurs.InformationRepartitionVue;
import org.tela_botanica.client.vues.observation.indicateurs.LienExterneVue;
import org.tela_botanica.client.vues.observation.indicateurs.MiniZoomImageVue;
import org.tela_botanica.client.vues.observation.indicateurs.NuageMotsClesVue;
 
29,7 → 28,6
import com.google.gwt.user.client.Event;
import com.google.gwt.user.client.History;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.ui.RootPanel;
import com.gwtext.client.core.EventObject;
import com.gwtext.client.core.Ext;
import com.gwtext.client.core.ExtElement;
101,7 → 99,7
/**
* liste détaillée des Observations
*/
public ListeObservationVue listeObservation = null ;
private ListeObservationVue listeObservation = null ;
/**
* Saisie des Observations
124,12 → 122,15
* panneau conteneur pour le panneau des informations lies à l'observation
*/
private Panel details = new Panel("Details");
private Panel details = new Panel("Détails");
 
private LienExterneVue liExtVue = null;
private Panel panelMotsCles = new Panel("Mots Clés");
private ArbreMotsClesObservationVue arbreMotsClesVue = null ;
private TabPanel detailsEtMotsCles = new TabPanel();
 
 
/**
* panneau conteneur pour le panneau des filtres
*/
227,10 → 228,10
conteneurFormulaire.addListener(
new PanelListenerAdapter() {
public void onCollapse(Panel panel) {
CarnetEnLigneMediateur.fireResize();
ObservationMediateur.fireResize();
}
public void onExpand(Panel panel) {
CarnetEnLigneMediateur.fireResize();
ObservationMediateur.fireResize();
}
});
274,16 → 275,15
centre.addListener(
new PanelListenerAdapter() {
public void onCollapse(Panel panel) {
CarnetEnLigneMediateur.fireResize();
ObservationMediateur.fireResize();
}
public void onExpand(Panel panel) {
CarnetEnLigneMediateur.fireResize();
ObservationMediateur.fireResize();
}
public void onResize(BoxComponent component, int adjWidth,
int adjHeight, int rawWidth, int rawHeight) {
ongletsSaisieCarto.doLayout();
listeObservation.doLayout();
ObservationMediateur.fireResize();
}
public void onAfterLayout(Container self) {
310,38 → 310,45
centre.add(listeObservation, listeLayoutData);
centre.add(ongletsSaisieCarto, formLayoutData);
Panel conteneurDetailsMotsCles = new Panel("Détails");
 
// Redimensionnement global sur collapse/expand
details.addListener(
conteneurDetailsMotsCles.addListener(
new PanelListenerAdapter() {
public void onCollapse(Panel panel) {
CarnetEnLigneMediateur.fireResize();
ObservationMediateur.fireResize();
}
public void onExpand(Panel panel) {
CarnetEnLigneMediateur.fireResize();
ObservationMediateur.fireResize();
}
});
// on initialise le volet qui contient les details
details.setWidth("10%");
details.setTitleCollapse(true);
details.setCollapsible(true);
conteneurDetailsMotsCles.setWidth("10%");
conteneurDetailsMotsCles.setTitleCollapse(true);
conteneurDetailsMotsCles.setCollapsible(true);
conteneurDetailsMotsCles.add(detailsEtMotsCles);
conteneurDetailsMotsCles.setLayout(new FitLayout());
details.setAutoScroll(true);
details.setLayout(new RowLayout());
details.setWidth("100%");
// Lien vers eflore
liExtVue = new LienExterneVue(this);
liExtVue.setHeight("20px");
details.add(liExtVue);
arbreMotsClesVue = new ArbreMotsClesObservationVue(this) ;
panelMotsCles.add(arbreMotsClesVue);
// Information de repartition
informationRepartitionVue=new InformationRepartitionVue(this);
details.add(informationRepartitionVue, new RowLayoutData("30%"));
details.add(informationRepartitionVue, new RowLayoutData("33%"));
// Image generique
imageGeneriqueVue=new ImageGeneriqueVue(this);
details.add(imageGeneriqueVue, new RowLayoutData("30%"));
details.add(imageGeneriqueVue, new RowLayoutData("33%"));
mvz = new MiniZoomImageVue(this) ;
359,20 → 366,31
filtres.addListener(
new PanelListenerAdapter() {
public void onCollapse(Panel panel) {
CarnetEnLigneMediateur.fireResize();
ObservationMediateur.fireResize();
}
public void onExpand(Panel panel) {
CarnetEnLigneMediateur.fireResize();
ObservationMediateur.fireResize();
}
});
panneauPrincipalObservation.add(details,regionEst);
detailsEtMotsCles.add(details);
//detailsEtMotsCles.add(panelMotsCles);
panelMotsCles.hide();
panneauPrincipalObservation.add(conteneurDetailsMotsCles,regionEst);
panneauPrincipalObservation.add(filtres,regionOuest);
panneauPrincipalObservation.add(centre,regionCentre);
}
 
public static native void fireResize() /*-{
$wnd.Ext.EventManager.fireResize();
}-*/;
/**
* Retourne une instance de manière unique
* @return l'instance unique du médiateur
482,17 → 500,17
formulaireSaisieObservationVue.rafraichir(obs, false) ;
}
// Affichage de l'image correspondante
liExtVue.rafraichir(numeroNomenclaturalSaisiObservation, false);
observationModele.obtenirImageGenerique(imageGeneriqueVue,numeroNomenclaturalSaisiObservation) ;
observationModele.obtenirLiaisonImage(mvz, ordreObservation) ;
//observationModele.obtenirMotsClesId(filtres.getArbreMotsClesObservationVue(), ordreObservation);
observationModele.obtenirMotsClesId(arbreMotsClesVue, ordreObservation);
observationModele.obtenirInformationCommune(cartoObservationVue, obs.getLocalite(), obs.getIdentifiantLocalite());
//arbreMotsClesVue.cocherMotsCles(motsClesIds);
 
 
}
public void obtenirImageInformationExternes(String numeroNomenclaturalSaisiObservation) {
758,7 → 776,7
public void masquerChargementInfosObservations()
{
ExtElement masked = Ext.get(details.getId());
ExtElement masked = Ext.get(detailsEtMotsCles.getId());
 
if (details.isVisible() && masked != null && !masked.isMasked()) {
informationRepartitionVue.raz() ;
771,7 → 789,7
public void deMasquerChargementInfosObservations()
{
ExtElement masked = Ext.get(details.getId());
ExtElement masked = Ext.get(detailsEtMotsCles.getId());
 
if (details.isVisible() && masked != null && masked.isMasked()) {
masked.unmask() ;
958,10 → 976,10
* @param arbreMC
* l'arbre des mots clés à mettre à jour
*/
public void mettreAjourMotsCles(String motsClesEnCours, String[] idsObsALier) {
public void mettreAjourMotsCles(String motsClesEnCours, Tree arbreMC) {
 
String[] ids = listeObservation.getIdSelectionnees();
observationModele.mettreAjourMotsCles(motsClesEnCours, idsObsALier);
observationModele.mettreAjourMotsCles(ids, motsClesEnCours, arbreMC);
 
}
 
976,7 → 994,7
*/
public void ajouterMotCleDansArbre(TreeNode n, Tree arbreMC) {
observationModele.ajouterMotCleDansArbre(n, arbreMC);
getPanneauFiltres().getArbreMotsClesObservationVue().rafraichir(n, false);
getPanneauFiltres().getArbreMotsClesFiltreVue().rafraichir(n, false);
 
}
 
992,7 → 1010,7
public void supprimerMotCleDansArbre(TreeNode n, Tree arbreMC) {
 
observationModele.supprimerMotCleDansArbre(n, arbreMC);
getPanneauFiltres().getArbreMotsClesObservationVue().rafraichir(n.getId(), false);
getPanneauFiltres().getArbreMotsClesFiltreVue().rafraichir(n.getId(), false);
 
}
 
1008,7 → 1026,7
public void modifierMotCleDansArbre(TreeNode n, Tree arbreMC) {
 
observationModele.modifierMotCleDansArbre(n, arbreMC);
getPanneauFiltres().getArbreMotsClesObservationVue().rafraichir(n, false);
getPanneauFiltres().getArbreMotsClesFiltreVue().rafraichir(n, false);
 
}
 
1024,12 → 1042,14
public void deplacerMotCleDansArbre(TreeNode n, Tree arbreMC) {
 
observationModele.deplacerMotCleDansArbre(n, arbreMC);
getPanneauFiltres().getArbreMotsClesFiltreVue().rafraichir(n, false);
}
 
 
public void rafraichirArbreMotsCles(Tree arbreMotsCles) {
getPanneauFiltres().getArbreMotsClesObservationVue().rafraichir(arbreMotsCles, false);
arbreMotsClesVue.rafraichir(arbreMotsCles, false);
getPanneauFiltres().getArbreMotsClesFiltreVue().rafraichir(arbreMotsCles, false);
}
 
1117,20 → 1137,7
filtres.getArbreDateObservationFiltreVue().raz() ;
filtres.getArbreEntiteGeographiqueObservationFiltreVue().raz() ;
filtres.getArbreMotsClesObservationVue().raz();
filtres.getArbreMotsClesFiltreVue().raz();
filtres.getRechercheLibreVue().raz();
}
 
public Component getListeObservation() {
return listeObservation;
}
 
public void redimensionnerPanneaux(int adjHeight, int adjWidth) {
listeObservation.doLayout();
centre.doLayout();
}
 
}
/trunk/src/org/tela_botanica/client/observation/ObservationModele.java
22,6 → 22,7
import org.tela_botanica.client.modeles.ListeReferentielCommuneAsynchroneDAO;
import org.tela_botanica.client.modeles.ListeReferentielNomAsynchroneDAO;
import org.tela_botanica.client.modeles.MotsClesAsynchroneDAO;
import org.tela_botanica.client.modeles.MotsClesObsAsynchronesDAO;
import org.tela_botanica.client.modeles.NomRetenuAsynchroneDao;
import org.tela_botanica.client.modeles.NombreObservationAsynchroneDAO;
import org.tela_botanica.client.modeles.Observation;
32,7 → 33,6
import com.google.gwt.json.client.JSONArray;
import com.google.gwt.json.client.JSONObject;
import com.google.gwt.maps.client.geom.LatLng;
import com.google.gwt.user.client.Window;
import com.gwtext.client.data.Node;
import com.gwtext.client.data.Tree;
import com.gwtext.client.widgets.map.LatLonPoint;
132,6 → 132,7
// on les crée un DAO auquel on les transmet et qui demande le nombre d'images correspondantes (pour les pages)
NombreObservationAsynchroneDAO noaDAO = new NombreObservationAsynchroneDAO(this) ;
noaDAO.obtenirNombreObservation(r, observationMediateur.getIdentifiant(), criteres) ;
369,6 → 370,25
}
 
public void obtenirNuageMotsCles(Rafraichissable r) {
MotsClesObsAsynchronesDAO mcoaDAO = new MotsClesObsAsynchronesDAO(this);
mcoaDAO.obtenirMotsClesObservations(r);
}
 
 
 
public void ajouterMotsCles(Rafraichissable r,
String numObsApl, String motsAAjouter) {
MotsClesObsAsynchronesDAO moadDAO = new MotsClesObsAsynchronesDAO(this);
moadDAO.ajouterMotsCles(r,numObsApl,motsAAjouter);
}
 
 
 
public void analyserHistorique(Rafraichissable r,String anum) {
NomRetenuAsynchroneDao nraDAO = new NomRetenuAsynchroneDao(this);
406,9 → 426,9
if (taillemax == 0) {
// on crée un arbre vide
TreeNode root = new TreeNode();
root.setId("racine_obs");
root.setId("racine");
root.setText("Tags");
String[] usObj = { "Tags", "racine_obs" };
String[] usObj = { "Tags", "racine" };
root.setUserObject(usObj);
arbreMotsCles.setRootNode(root);
}
430,7 → 450,7
 
// et on construit l'arbre à partir de la racine (qui est
// toujoursl e premier élément)
if (id_noeud.equals("racine_obs")) {
if (id_noeud.equals("racine")) {
TreeNode root = new TreeNode();
root.setId(id_noeud);
root.setText(mot_cle);
450,9 → 470,8
}
}
}
// enfin on met à jour l'arbre des mots clés contenu dans le modèle
//rafraichirArbreMotsCles(arbreMotsCles);
rafraichirArbreMotsCles(arbreMotsCles);
// et on notifie le médiateur de la mise à jour en lui passant une
// copie des données
observationMediateur.rafraichirArbreMotsCles(arbreMotsCles);
467,6 → 486,7
* le nouvel arbre de mots clés
*/
public void rafraichirArbreMotsCles(Object o) {
observationMediateur.transmettreDonnees(o);
arbreMotsCles = (com.gwtext.client.data.Tree) o;
}
 
510,10 → 530,11
* @param arbreMC
* l'arbre de mots clés en cours
*/
public void mettreAjourMotsCles(String motsClesEnCours, String[] idsObsALier) {
for (int i = 0; i < idsObsALier.length; i++) {
if (cacheObservation.containsKey(idsObsALier[i])) {
Observation o = (Observation) cacheObservation.get(idsObsALier[i]);
public void mettreAjourMotsCles(String[] ids, String motsClesEnCours,
com.gwtext.client.data.Tree arbreMC) {
for (int i = 0; i < ids.length; i++) {
if (cacheObservation.containsKey(ids[i])) {
Observation o = (Observation) cacheObservation.get(ids[i]);
o.setMotsCles(motsClesEnCours);
 
ObservationAsynchroneDAO oDao = new ObservationAsynchroneDAO(this);
520,6 → 541,8
oDao.modifier(this,observationMediateur.getIdentifiant(),o);
}
}
 
rafraichirArbreMotsCles(arbreMC);
}
/**
546,7 → 569,7
} else {
parentId = "racine";
}
 
rafraichirArbreMotsCles(arbreMC);
 
String nouveauMotCle = "&identifiant=" + getIdentifiant() + "&motcle="
569,8 → 592,6
 
String[] usObj = (String[]) n.getUserObject();
String id = usObj[1];
rafraichirArbreMotsCles(arbreMC);
 
MCDao.supprimerBaseDeDonnees(id);
 
631,7 → 652,7
} else {
parentId = "racine";
}
 
rafraichirArbreMotsCles(arbreMC);
 
String motCleModifie = "&motcle=" + motCle + "&id=" + id + "&parent="