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); |
} |
} |