Subversion Repositories eFlore/Applications.cel

Rev

Rev 1572 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1572 Rev 1597
Line 22... Line 22...
22
import org.tela_botanica.client.modeles.objets.ListeReferentielPerso.TypesReferentiels;
22
import org.tela_botanica.client.modeles.objets.ListeReferentielPerso.TypesReferentiels;
23
import org.tela_botanica.client.observation.ObservationMediateur;
23
import org.tela_botanica.client.observation.ObservationMediateur;
24
import org.tela_botanica.client.util.AutoCompletionRefComboBox;
24
import org.tela_botanica.client.util.AutoCompletionRefComboBox;
25
import org.tela_botanica.client.util.Util;
25
import org.tela_botanica.client.util.Util;
Line -... Line 26...
-
 
26
 
-
 
27
import com.google.gwt.event.dom.client.ClickEvent;
26
 
28
import com.google.gwt.event.dom.client.ClickHandler;
27
import com.google.gwt.maps.client.geom.LatLng;
29
import com.google.gwt.maps.client.geom.LatLng;
28
import com.google.gwt.user.client.Timer;
30
import com.google.gwt.user.client.Timer;
29
import com.google.gwt.user.client.Window;
31
import com.google.gwt.user.client.Window;
30
import com.google.gwt.user.client.ui.HTML;
32
import com.google.gwt.user.client.ui.HTML;
Line 260... Line 262...
260
	
262
	
Line 261... Line 263...
261
	private ComboBox selecteurReferentielTaxo = null;
263
	private ComboBox selecteurReferentielTaxo = null;
Line -... Line 264...
-
 
264
	
-
 
265
	private ComboBox selecteurStadePheno = null;
-
 
266
	
-
 
267
	private HTML lienAfficherChampsEtendus = null;
-
 
268
	
-
 
269
	FormPanel conteneurChampEtenduGauche = null;
-
 
270
	FormPanel conteneurChampEtenduDroite = null;
-
 
271
	
262
	
272
	private boolean afficherChampsEtendus = false;
Line 263... Line 273...
263
	private ComboBox selecteurStadePheno = null;
273
	private boolean premierAffichage = true;
264
	
274
	
265
	private Map<String, TextField> listeChampsEtendus;
275
	private Map<String, TextField> listeChampsEtendus;
Line 617... Line 627...
617
	        	
627
	        	
618
	        	doLayout();
628
	        	doLayout();
619
	        }
629
	        }
Line -... Line 630...
-
 
630
	    });
-
 
631
		
-
 
632
		lienAfficherChampsEtendus = new HTML("Afficher les champs étendus");
-
 
633
		lienAfficherChampsEtendus.setStyleName("img-curseur-depl");
-
 
634
		lienAfficherChampsEtendus.setStyleName("lienAfficherChampsEtendus");
-
 
635
		lienAfficherChampsEtendus.setVisible(false);
-
 
636
 
-
 
637
		lienAfficherChampsEtendus.addClickHandler(new ClickHandler() {
-
 
638
			@Override
-
 
639
			public void onClick(ClickEvent event) {
-
 
640
				if(afficherChampsEtendus) {
-
 
641
					afficherChampsEtendus = false;
-
 
642
					if(conteneurChampEtenduGauche != null && conteneurChampEtenduDroite != null) {
-
 
643
						conteneurChampEtenduGauche.hide();
-
 
644
						conteneurChampEtenduDroite.hide();
-
 
645
					}
-
 
646
					lienAfficherChampsEtendus.setText("Afficher les champs étendus");
-
 
647
					
-
 
648
				} else {
-
 
649
					afficherChampsEtendus = true;
-
 
650
					if(conteneurChampEtenduGauche != null && conteneurChampEtenduDroite != null) {
-
 
651
						conteneurChampEtenduGauche.show();
-
 
652
						conteneurChampEtenduDroite.show();
-
 
653
					}
-
 
654
					lienAfficherChampsEtendus.setText("Cacher les champs étendus");
-
 
655
				}
-
 
656
			}
-
 
657
		});
-
 
658
		panneauPremierColonne.add(lienAfficherChampsEtendus);
-
 
659
		panneauPremierColonne.addListener(new PanelListenerAdapter() {
-
 
660
			@Override
-
 
661
			public void onAfterLayout(Container c) {
-
 
662
				if(premierAffichage) {
-
 
663
					lienAfficherChampsEtendus.setVisible(false);
-
 
664
					premierAffichage = false;
-
 
665
				}
-
 
666
			}
620
	    });
667
		});
621
		
668
		
622
		// on ajoute les listeners
669
		// on ajoute les listeners
623
		ajouterListeners() ;
670
		ajouterListeners() ;
Line 1677... Line 1724...
1677
		if(listeChampsEtendus != null) {
1724
		if(listeChampsEtendus != null) {
1678
			for (Iterator<String> it = listeChampsEtendus.keySet().iterator(); it.hasNext();) {
1725
			for (Iterator<String> it = listeChampsEtendus.keySet().iterator(); it.hasNext();) {
1679
				TextField champEtendu = listeChampsEtendus.get(it.next());
1726
				TextField champEtendu = listeChampsEtendus.get(it.next());
1680
				champEtendu.destroy();
1727
				champEtendu.destroy();
1681
			}
1728
			}
-
 
1729
			if(conteneurChampEtenduGauche != null && conteneurChampEtenduDroite != null) {
-
 
1730
				conteneurChampEtenduGauche.clear();
-
 
1731
				conteneurChampEtenduDroite.clear();
-
 
1732
				panneauPremierColonne.remove(conteneurChampEtenduGauche);
-
 
1733
				panneauSecondeColonne.remove(conteneurChampEtenduDroite);
-
 
1734
			}
1682
			listeChampsEtendus = null;
1735
			listeChampsEtendus = null;
1683
		}
1736
		}
1684
	}
1737
	}
Line 1685... Line 1738...
1685
	
1738
	
1686
	private void afficherChampsEtendus(Observation obs) {
1739
	private void afficherChampsEtendus(Observation obs) {
-
 
1740
		viderChampsEtendus();
-
 
1741
		conteneurChampEtenduGauche = new FormPanel();
-
 
1742
		conteneurChampEtenduDroite = new FormPanel();
1687
		viderChampsEtendus();
1743
		
-
 
1744
		if(obs.getChampsEtendus().size() > 0) {
-
 
1745
			lienAfficherChampsEtendus.setVisible(true);
-
 
1746
			conteneurChampEtenduGauche.setAutoWidth(true);
-
 
1747
			conteneurChampEtenduGauche.setStyle("conteneurChampsEtendus");
-
 
1748
			conteneurChampEtenduGauche.setLabelWidth(150);
-
 
1749
			conteneurChampEtenduGauche.setBodyBorder(false);
-
 
1750
			conteneurChampEtenduDroite.setAutoWidth(true);
-
 
1751
			conteneurChampEtenduDroite.setStyle("conteneurChampsEtendus");
-
 
1752
			conteneurChampEtenduDroite.setLabelWidth(150);
1688
		if(obs.getChampsEtendus().size() > 0) {
1753
			conteneurChampEtenduDroite.setBodyBorder(false);
1689
			listeChampsEtendus = new HashMap<String, TextField>(obs.getChampsEtendus().size());
1754
				listeChampsEtendus = new HashMap<String, TextField>(obs.getChampsEtendus().size());
1690
			boolean gauche = true;
1755
				boolean gauche = true;
1691
			for (Iterator<String> iterator = obs.getChampsEtendus().keySet().iterator(); iterator.hasNext();) {
1756
				for (Iterator<String> iterator = obs.getChampsEtendus().keySet().iterator(); iterator.hasNext();) {
1692
				String id = iterator.next();
1757
					String id = iterator.next();
1693
				ChampEtendu champ = obs.getChampsEtendus().get(id);
1758
					ChampEtendu champ = obs.getChampsEtendus().get(id);
1694
				String valeur = champ.getValeur();
1759
					String valeur = champ.getValeur();
1695
				String label = champ.getLabel();
1760
					String label = champ.getLabel();
1696
				
1761
					
1697
				TextField champTexteEtendu = new TextField();
1762
					TextField champTexteEtendu = new TextField();
1698
				champTexteEtendu.setAutoWidth(true);
1763
					champTexteEtendu.setWidth("90%");
1699
				champTexteEtendu.setLabel(formaterLabel(label));
1764
					champTexteEtendu.setLabel(label);
1700
				champTexteEtendu.setTitle(label);
1765
					champTexteEtendu.setTitle(label);
1701
				champTexteEtendu.setId(id);
1766
					champTexteEtendu.setId(id);
1702
				champTexteEtendu.setValue(valeur);
1767
					champTexteEtendu.setValue(valeur);
1703
				if(gauche) {
1768
					if(gauche) {
1704
					panneauPremierColonne.add(champTexteEtendu);
1769
						conteneurChampEtenduGauche.add(champTexteEtendu);
1705
				} else {
1770
					} else {
-
 
1771
						conteneurChampEtenduDroite.add(champTexteEtendu);
-
 
1772
					}
-
 
1773
					listeChampsEtendus.put(id, champTexteEtendu);
1706
					panneauSecondeColonne.add(champTexteEtendu);
1774
					gauche = !gauche;
-
 
1775
				}
-
 
1776
			panneauPremierColonne.add(conteneurChampEtenduGauche);
-
 
1777
			panneauSecondeColonne.add(conteneurChampEtenduDroite);
-
 
1778
			
1707
				}
1779
			// pour corriger le décalage sur le panneau induit par le lien d'affichage
-
 
1780
			conteneurChampEtenduDroite.setPaddings(25, 0, 0, 0);
1708
				listeChampsEtendus.put(id, champTexteEtendu);
1781
			
-
 
1782
			if(!afficherChampsEtendus) {
-
 
1783
				conteneurChampEtenduGauche.setVisible(false);
1709
				gauche = !gauche;
1784
				conteneurChampEtenduDroite.setVisible(false);
-
 
1785
			}
-
 
1786
		} else {
1710
			}
1787
			lienAfficherChampsEtendus.setVisible(false);
1711
		}
1788
		}
1712
		doLayout();
1789
		doLayout();
Line 1713... Line 1790...
1713
	}
1790
	}
Line 1725... Line 1802...
1725
			}
1802
			}
1726
		}
1803
		}
1727
		return valeursChampsEtendus;
1804
		return valeursChampsEtendus;
1728
	}
1805
	}
Line 1729... Line -...
1729
	
-
 
1730
	private String formaterLabel(String label) {
-
 
1731
		String labelFmt = label;
-
 
1732
		if(label.length() > 15) {
-
 
1733
			labelFmt  = label.substring(0, 14);
-
 
1734
		}
-
 
1735
		return labelFmt;
-
 
1736
	}
-
 
1737
	
1806
	
1738
	public void raz()
1807
	public void raz()
1739
	{
1808
	{
Line 1740... Line 1809...
1740
		raz(Champs.TOUT);
1809
		raz(Champs.TOUT);