Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 300 → Rev 318

/trunk/src/org/tela_botanica/client/observation/ObservationMediateur.java
18,6 → 18,7
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;
 
28,6 → 29,7
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;
99,7 → 101,7
/**
* liste détaillée des Observations
*/
private ListeObservationVue listeObservation = null ;
public ListeObservationVue listeObservation = null ;
/**
* Saisie des Observations
122,15 → 124,12
* panneau conteneur pour le panneau des informations lies à l'observation
*/
private Panel details = new Panel("Détails");
private Panel details = new Panel("Details");
 
private Panel panelMotsCles = new Panel("Mots Clés");
private LienExterneVue liExtVue = null;
private ArbreMotsClesObservationVue arbreMotsClesVue = null ;
private TabPanel detailsEtMotsCles = new TabPanel();
 
 
/**
* panneau conteneur pour le panneau des filtres
*/
228,10 → 227,10
conteneurFormulaire.addListener(
new PanelListenerAdapter() {
public void onCollapse(Panel panel) {
ObservationMediateur.fireResize();
CarnetEnLigneMediateur.fireResize();
}
public void onExpand(Panel panel) {
ObservationMediateur.fireResize();
CarnetEnLigneMediateur.fireResize();
}
});
275,15 → 274,16
centre.addListener(
new PanelListenerAdapter() {
public void onCollapse(Panel panel) {
ObservationMediateur.fireResize();
CarnetEnLigneMediateur.fireResize();
}
public void onExpand(Panel panel) {
ObservationMediateur.fireResize();
CarnetEnLigneMediateur.fireResize();
}
public void onResize(BoxComponent component, int adjWidth,
int adjHeight, int rawWidth, int rawHeight) {
ObservationMediateur.fireResize();
ongletsSaisieCarto.doLayout();
listeObservation.doLayout();
}
public void onAfterLayout(Container self) {
310,45 → 310,38
centre.add(listeObservation, listeLayoutData);
centre.add(ongletsSaisieCarto, formLayoutData);
Panel conteneurDetailsMotsCles = new Panel("Détails");
 
// Redimensionnement global sur collapse/expand
conteneurDetailsMotsCles.addListener(
details.addListener(
new PanelListenerAdapter() {
public void onCollapse(Panel panel) {
ObservationMediateur.fireResize();
CarnetEnLigneMediateur.fireResize();
}
public void onExpand(Panel panel) {
ObservationMediateur.fireResize();
CarnetEnLigneMediateur.fireResize();
}
});
// on initialise le volet qui contient les details
conteneurDetailsMotsCles.setWidth("10%");
conteneurDetailsMotsCles.setTitleCollapse(true);
conteneurDetailsMotsCles.setCollapsible(true);
details.setWidth("10%");
details.setTitleCollapse(true);
details.setCollapsible(true);
conteneurDetailsMotsCles.add(detailsEtMotsCles);
conteneurDetailsMotsCles.setLayout(new FitLayout());
details.setAutoScroll(true);
details.setLayout(new RowLayout());
details.setWidth("100%");
arbreMotsClesVue = new ArbreMotsClesObservationVue(this) ;
panelMotsCles.add(arbreMotsClesVue);
// Lien vers eflore
liExtVue = new LienExterneVue(this);
liExtVue.setHeight("20px");
details.add(liExtVue);
// Information de repartition
informationRepartitionVue=new InformationRepartitionVue(this);
details.add(informationRepartitionVue, new RowLayoutData("33%"));
details.add(informationRepartitionVue, new RowLayoutData("30%"));
// Image generique
imageGeneriqueVue=new ImageGeneriqueVue(this);
details.add(imageGeneriqueVue, new RowLayoutData("33%"));
details.add(imageGeneriqueVue, new RowLayoutData("30%"));
mvz = new MiniZoomImageVue(this) ;
366,31 → 359,20
filtres.addListener(
new PanelListenerAdapter() {
public void onCollapse(Panel panel) {
ObservationMediateur.fireResize();
CarnetEnLigneMediateur.fireResize();
}
public void onExpand(Panel panel) {
ObservationMediateur.fireResize();
CarnetEnLigneMediateur.fireResize();
}
});
detailsEtMotsCles.add(details);
//detailsEtMotsCles.add(panelMotsCles);
panneauPrincipalObservation.add(details,regionEst);
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
500,17 → 482,17
formulaireSaisieObservationVue.rafraichir(obs, false) ;
}
// Affichage de l'image correspondante
liExtVue.rafraichir(numeroNomenclaturalSaisiObservation, false);
observationModele.obtenirImageGenerique(imageGeneriqueVue,numeroNomenclaturalSaisiObservation) ;
observationModele.obtenirLiaisonImage(mvz, ordreObservation) ;
observationModele.obtenirMotsClesId(arbreMotsClesVue, ordreObservation);
//observationModele.obtenirMotsClesId(filtres.getArbreMotsClesObservationVue(), ordreObservation);
observationModele.obtenirInformationCommune(cartoObservationVue, obs.getLocalite(), obs.getIdentifiantLocalite());
//arbreMotsClesVue.cocherMotsCles(motsClesIds);
 
 
}
public void obtenirImageInformationExternes(String numeroNomenclaturalSaisiObservation) {
776,7 → 758,7
public void masquerChargementInfosObservations()
{
ExtElement masked = Ext.get(detailsEtMotsCles.getId());
ExtElement masked = Ext.get(details.getId());
 
if (details.isVisible() && masked != null && !masked.isMasked()) {
informationRepartitionVue.raz() ;
789,7 → 771,7
public void deMasquerChargementInfosObservations()
{
ExtElement masked = Ext.get(detailsEtMotsCles.getId());
ExtElement masked = Ext.get(details.getId());
 
if (details.isVisible() && masked != null && masked.isMasked()) {
masked.unmask() ;
976,10 → 958,10
* @param arbreMC
* l'arbre des mots clés à mettre à jour
*/
public void mettreAjourMotsCles(String motsClesEnCours, Tree arbreMC) {
 
public void mettreAjourMotsCles(String motsClesEnCours, String[] idsObsALier) {
String[] ids = listeObservation.getIdSelectionnees();
observationModele.mettreAjourMotsCles(ids, motsClesEnCours, arbreMC);
observationModele.mettreAjourMotsCles(motsClesEnCours, idsObsALier);
 
}
 
994,7 → 976,7
*/
public void ajouterMotCleDansArbre(TreeNode n, Tree arbreMC) {
observationModele.ajouterMotCleDansArbre(n, arbreMC);
getPanneauFiltres().getArbreMotsClesFiltreVue().rafraichir(n, false);
getPanneauFiltres().getArbreMotsClesObservationVue().rafraichir(n, false);
 
}
 
1010,7 → 992,7
public void supprimerMotCleDansArbre(TreeNode n, Tree arbreMC) {
 
observationModele.supprimerMotCleDansArbre(n, arbreMC);
getPanneauFiltres().getArbreMotsClesFiltreVue().rafraichir(n.getId(), false);
getPanneauFiltres().getArbreMotsClesObservationVue().rafraichir(n.getId(), false);
 
}
 
1026,7 → 1008,7
public void modifierMotCleDansArbre(TreeNode n, Tree arbreMC) {
 
observationModele.modifierMotCleDansArbre(n, arbreMC);
getPanneauFiltres().getArbreMotsClesFiltreVue().rafraichir(n, false);
getPanneauFiltres().getArbreMotsClesObservationVue().rafraichir(n, false);
 
}
 
1042,14 → 1024,12
public void deplacerMotCleDansArbre(TreeNode n, Tree arbreMC) {
 
observationModele.deplacerMotCleDansArbre(n, arbreMC);
getPanneauFiltres().getArbreMotsClesFiltreVue().rafraichir(n, false);
}
 
 
public void rafraichirArbreMotsCles(Tree arbreMotsCles) {
arbreMotsClesVue.rafraichir(arbreMotsCles, false);
getPanneauFiltres().getArbreMotsClesFiltreVue().rafraichir(arbreMotsCles, false);
getPanneauFiltres().getArbreMotsClesObservationVue().rafraichir(arbreMotsCles, false);
}
 
1137,7 → 1117,20
filtres.getArbreDateObservationFiltreVue().raz() ;
filtres.getArbreEntiteGeographiqueObservationFiltreVue().raz() ;
filtres.getArbreMotsClesFiltreVue().raz();
filtres.getArbreMotsClesObservationVue().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,7 → 22,6
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;
33,6 → 32,7
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,7 → 132,6
// 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) ;
370,25 → 369,6
}
 
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);
426,9 → 406,9
if (taillemax == 0) {
// on crée un arbre vide
TreeNode root = new TreeNode();
root.setId("racine");
root.setId("racine_obs");
root.setText("Tags");
String[] usObj = { "Tags", "racine" };
String[] usObj = { "Tags", "racine_obs" };
root.setUserObject(usObj);
arbreMotsCles.setRootNode(root);
}
450,7 → 430,7
 
// et on construit l'arbre à partir de la racine (qui est
// toujoursl e premier élément)
if (id_noeud.equals("racine")) {
if (id_noeud.equals("racine_obs")) {
TreeNode root = new TreeNode();
root.setId(id_noeud);
root.setText(mot_cle);
470,8 → 450,9
}
}
}
// 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);
486,7 → 467,6
* le nouvel arbre de mots clés
*/
public void rafraichirArbreMotsCles(Object o) {
observationMediateur.transmettreDonnees(o);
arbreMotsCles = (com.gwtext.client.data.Tree) o;
}
 
530,11 → 510,10
* @param arbreMC
* l'arbre de mots clés en cours
*/
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]);
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]);
o.setMotsCles(motsClesEnCours);
 
ObservationAsynchroneDAO oDao = new ObservationAsynchroneDAO(this);
541,8 → 520,6
oDao.modifier(this,observationMediateur.getIdentifiant(),o);
}
}
 
rafraichirArbreMotsCles(arbreMC);
}
/**
569,7 → 546,7
} else {
parentId = "racine";
}
 
rafraichirArbreMotsCles(arbreMC);
 
String nouveauMotCle = "&identifiant=" + getIdentifiant() + "&motcle="
592,6 → 569,8
 
String[] usObj = (String[]) n.getUserObject();
String id = usObj[1];
rafraichirArbreMotsCles(arbreMC);
 
MCDao.supprimerBaseDeDonnees(id);
 
652,7 → 631,7
} else {
parentId = "racine";
}
 
rafraichirArbreMotsCles(arbreMC);
 
String motCleModifie = "&motcle=" + motCle + "&id=" + id + "&parent="