Subversion Repositories eFlore/Applications.cel

Rev

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

Rev 1009 Rev 1018
Line 12... Line 12...
12
import org.tela_botanica.client.modeles.objets.Configuration;
12
import org.tela_botanica.client.modeles.objets.Configuration;
13
import org.tela_botanica.client.modeles.objets.ListeObservation;
13
import org.tela_botanica.client.modeles.objets.ListeObservation;
14
import org.tela_botanica.client.observation.ObservationMediateur;
14
import org.tela_botanica.client.observation.ObservationMediateur;
15
import org.tela_botanica.client.vues.ArbreMotsClesVue;
15
import org.tela_botanica.client.vues.ArbreMotsClesVue;
16
import org.tela_botanica.client.vues.image.BarreOutilsVue;
16
import org.tela_botanica.client.vues.image.BarreOutilsVue;
-
 
17
import org.tela_botanica.client.vues.image.FenetreGestionMotsCles;
17
import org.tela_botanica.client.vues.image.GalerieImageVue;
18
import org.tela_botanica.client.vues.image.GalerieImageVue;
18
import org.tela_botanica.client.vues.image.ListeImageVue;
19
import org.tela_botanica.client.vues.image.ListeImageVue;
19
import org.tela_botanica.client.vues.image.MenuImageVue;
20
import org.tela_botanica.client.vues.image.MenuImageVue;
20
import org.tela_botanica.client.vues.image.MiniListeObservationVue;
21
import org.tela_botanica.client.vues.image.MiniListeObservationVue;
21
import org.tela_botanica.client.vues.image.PanneauMetadonneesVue;
22
import org.tela_botanica.client.vues.image.PanneauMetadonneesVue;
Line 50... Line 51...
50
import com.gwtext.client.widgets.event.ContainerListener;
51
import com.gwtext.client.widgets.event.ContainerListener;
51
import com.gwtext.client.widgets.event.ContainerListenerAdapter;
52
import com.gwtext.client.widgets.event.ContainerListenerAdapter;
52
import com.gwtext.client.widgets.event.PanelListener;
53
import com.gwtext.client.widgets.event.PanelListener;
53
import com.gwtext.client.widgets.event.PanelListenerAdapter;
54
import com.gwtext.client.widgets.event.PanelListenerAdapter;
54
import com.gwtext.client.widgets.event.TabPanelListenerAdapter;
55
import com.gwtext.client.widgets.event.TabPanelListenerAdapter;
-
 
56
import com.gwtext.client.widgets.event.WindowListenerAdapter;
55
import com.gwtext.client.widgets.grid.GridDragData;
57
import com.gwtext.client.widgets.grid.GridDragData;
56
import com.gwtext.client.widgets.layout.BorderLayout;
58
import com.gwtext.client.widgets.layout.BorderLayout;
57
import com.gwtext.client.widgets.layout.BorderLayoutData;
59
import com.gwtext.client.widgets.layout.BorderLayoutData;
58
import com.gwtext.client.widgets.layout.FitLayout;
60
import com.gwtext.client.widgets.layout.FitLayout;
59
import com.gwtext.client.widgets.menu.BaseItem;
61
import com.gwtext.client.widgets.menu.BaseItem;
Line 167... Line 169...
167
	 * Filtre pour les commentaires
169
	 * Filtre pour les commentaires
168
	 */
170
	 */
169
	private BarreRechercheFiltreVue filtreCommentaires = null;
171
	private BarreRechercheFiltreVue filtreCommentaires = null;
Line 170... Line 172...
170
	
172
	
-
 
173
	/**
-
 
174
	 * Fenetre modale de gestion des mots clés
-
 
175
	 */
-
 
176
	private FenetreGestionMotsCles fnMc = null;
-
 
177
	
171
	/**
178
	/**
172
	 * Boolean indiquand si le médiateur a seulement été crée ou bien si tous
179
	 * Boolean indiquand si le médiateur a seulement été crée ou bien si tous
173
	 * les composants ont été crées
180
	 * les composants ont été crées
174
	 */
181
	 */
Line 341... Line 348...
341
					metadonneesIptcExif.doLayout();
348
					metadonneesIptcExif.doLayout();
342
				}
349
				}
343
			}
350
			}
344
		});
351
		});
Line -... Line 352...
-
 
352
		
-
 
353
		creerPanneauGestionMotsCles();
345
		
354
		
346
		// filtres.setCollapsed(false) ;
355
		// filtres.setCollapsed(false) ;
Line 347... Line 356...
347
		thisMediateur = this ;
356
		thisMediateur = this ;
Line 629... Line 638...
629
	 *            l'identifiant de l'image
638
	 *            l'identifiant de l'image
630
	 */
639
	 */
631
	public void obtenirMotsClesId(Rafraichissable r, String id) {
640
	public void obtenirMotsClesId(Rafraichissable r, String id) {
632
		getIModele().obtenirMotsClesId(r, id);
641
		getIModele().obtenirMotsClesId(r, id);
633
	}
642
	}
-
 
643
 
-
 
644
	public void obtenirMotsClesTexte(Rafraichissable r, String id) {
-
 
645
		String[] texteMotsCles = getTexteMotsCles(getIModele().getMotsClesId(id));
-
 
646
		r.rafraichir(texteMotsCles, false);
-
 
647
	}
Line -... Line 648...
-
 
648
	
634
	
649
	//TODO: devrait être dans le modèle
Line 635... Line 650...
635
	public String[] obtenirTexteMotsCles(String idsMotsCles[]) {
650
	public String[] getTexteMotsCles(String idsMotsCles[]) {
Line 636... Line 651...
636
		
651
		
637
		String[] tableauMotsClesTexte = new String[idsMotsCles.length];
652
		String[] tableauMotsClesTexte = new String[idsMotsCles.length];
Line 677... Line 692...
677
	 *            le nouvel arbre des mots clés
692
	 *            le nouvel arbre des mots clés
678
	 */
693
	 */
679
	public void rafraichirArbreMotsCles(Tree arbreMC) {
694
	public void rafraichirArbreMotsCles(Tree arbreMC) {
680
		metadonneesIptcExif.getPanneauMotsCles().rafraichir(arbreMC, false);
695
		metadonneesIptcExif.getPanneauMotsCles().rafraichir(arbreMC, false);
681
		filtres.getMotsClesFiltre().rafraichir(arbreMC, false);
696
		filtres.getMotsClesFiltre().rafraichir(arbreMC, false);
-
 
697
		if(fnMc != null) {
-
 
698
			fnMc.rafraichir(arbreMC, false);
-
 
699
		}
682
	}
700
	}
Line 683... Line 701...
683
 
701
 
684
	/**
702
	/**
685
	 * envoie au modèle une demande pour lancer le formulaire ou l'application
703
	 * envoie au modèle une demande pour lancer le formulaire ou l'application
Line 720... Line 738...
720
			if(getMetadonneesIptcExif().getMiniListeObservation().getMode())
738
			if(getMetadonneesIptcExif().getMiniListeObservation().getMode())
721
			{
739
			{
722
				obtenirObservationsAssociees() ;
740
				obtenirObservationsAssociees() ;
723
			}
741
			}
724
			obtenirMetadonnees(metadonneesIptcExif, imgNum);
742
			obtenirMetadonnees(metadonneesIptcExif, imgNum);
-
 
743
			obtenirMotsClesId(fnMc, imgNum);
725
			obtenirMotsClesId(metadonneesIptcExif.getPanneauMotsCles(), imgNum);
744
			obtenirMotsClesTexte(metadonneesIptcExif.getPanneauMotsCles(), imgNum);
726
			obtenirNote(metadonneesIptcExif.getNoteVue(), imgNum);
745
			obtenirNote(metadonneesIptcExif.getNoteVue(), imgNum);
727
		}
746
		}
Line 728... Line 747...
728
 
747
 
Line 1045... Line 1064...
1045
		mn.addListener(new MenuListenerAdapter() {
1064
		mn.addListener(new MenuListenerAdapter() {
Line 1046... Line 1065...
1046
 
1065
 
1047
			public void onItemClick(BaseItem item, EventObject e) {
1066
			public void onItemClick(BaseItem item, EventObject e) {
1048
				if (item.equals(suppN)) {
1067
				if (item.equals(suppN)) {
1049
					if(Window.confirm("Êtes vous sur de vouloir supprimer ce mot clé ?")) {
-
 
1050
						getMetadonneesIptcExif().getPanneauMotsCles()
1068
					if(Window.confirm("Êtes vous sur de vouloir supprimer ce mot clé ?")) {
1051
								.supprimerNoeud(n);
1069
						fnMc.supprimerNoeud(n);
1052
					}
1070
					}
1053
				}
1071
				}
1054
				if (item.equals(ajoutN)) {
1072
				if (item.equals(ajoutN)) {
1055
					getMetadonneesIptcExif().getPanneauMotsCles().ajouterNoeud(
1073
					fnMc.ajouterNoeud(
1056
							n);
1074
							n);
1057
				}
1075
				}
1058
			}
1076
			}
Line 1074... Line 1092...
1074
	public void mettreAjourMotsClesId(String text, String id) {
1092
	public void mettreAjourMotsClesId(String text, String id) {
Line 1075... Line 1093...
1075
 
1093
 
Line 1076... Line 1094...
1076
		getIModele().mettreAjourMotsClesId(text, id);
1094
		getIModele().mettreAjourMotsClesId(text, id);
1077
 
1095
 
1078
	}
1096
	}
1079
 
1097
	
1080
	/**
1098
	/**
1081
	 * Récupère les identifiants des images selectionnés et appelle le modèle
1099
	 * Récupère les identifiants des images selectionnés et appelle le modèle
1082
	 * pour qu'il mette à jour les associations mots clés/images
1100
	 * pour qu'il mette à jour les associations mots clés/images
Line 1088... Line 1106...
1088
	 *            l'arbre des mots clés à mettre à jour
1106
	 *            l'arbre des mots clés à mettre à jour
1089
	 */
1107
	 */
1090
	public void mettreAjourMotsCles(String motsClesEnCours, Tree arbreMC) {
1108
	public void mettreAjourMotsCles(String motsClesEnCours, Tree arbreMC) {
Line 1091... Line 1109...
1091
 
1109
 
-
 
1110
		String[] ids = getGalerieImage().getIdSelectionnees();
1092
		String[] ids = getGalerieImage().getIdSelectionnees();
1111
		if(ids.length > 0) {
-
 
1112
			getIModele().mettreAjourMotsCles(ids, motsClesEnCours, arbreMC);
-
 
1113
			obtenirMotsClesTexte(metadonneesIptcExif.getPanneauMotsCles(), ids[ids.length - 1]);
Line 1093... Line 1114...
1093
		getIModele().mettreAjourMotsCles(ids, motsClesEnCours, arbreMC);
1114
		}
Line 1094... Line 1115...
1094
 
1115
 
1095
	}
1116
	}
Line 1103... Line 1124...
1103
	 * @param arbreMC
1124
	 * @param arbreMC
1104
	 *            le nouvel arbre de mots clés à mettre à jour
1125
	 *            le nouvel arbre de mots clés à mettre à jour
1105
	 */
1126
	 */
1106
	public void ajouterMotCleDansArbre(TreeNode n, Tree arbreMC) {
1127
	public void ajouterMotCleDansArbre(TreeNode n, Tree arbreMC) {
1107
		getIModele().ajouterMotCleDansArbre(n, arbreMC);
1128
		getIModele().ajouterMotCleDansArbre(n, arbreMC);
1108
		filtres.getMotsClesFiltre().rafraichir(n, false);
1129
		filtres.getMotsClesFiltre().rafraichir(arbreMC, false);	
1109
 
-
 
-
 
1130
		mettreAJourListeMotsClesAffiches();
1110
	}
1131
	}
Line 1111... Line 1132...
1111
 
1132
 
1112
	/**
1133
	/**
1113
	 * Appelle le médiateur pour qu'il supprime un mot clé et son sous arbre
1134
	 * Appelle le médiateur pour qu'il supprime un mot clé et son sous arbre
Line 1117... Line 1138...
1117
	 *            le noeud à supprimer
1138
	 *            le noeud à supprimer
1118
	 * @param arbreMC
1139
	 * @param arbreMC
1119
	 *            le nouvel arbre de mots clés à mettre à jour
1140
	 *            le nouvel arbre de mots clés à mettre à jour
1120
	 */
1141
	 */
1121
	public void supprimerMotCleDansArbre(TreeNode n, Tree arbreMC) {
1142
	public void supprimerMotCleDansArbre(TreeNode n, Tree arbreMC) {
1122
 
-
 
1123
		getIModele().supprimerMotCleDansArbre(n, arbreMC);
1143
		getIModele().supprimerMotCleDansArbre(n, arbreMC);
1124
		filtres.getMotsClesFiltre().rafraichir(n.getId(), false);
1144
		filtres.getMotsClesFiltre().rafraichir(arbreMC, false);
1125
 
-
 
-
 
1145
		mettreAJourListeMotsClesAffiches();
1126
	}
1146
	}
Line 1127... Line 1147...
1127
 
1147
 
1128
	/**
1148
	/**
1129
	 * Appelle le médiateur pour qu'il modifie un mot clé dans l'arbre des mots
1149
	 * Appelle le médiateur pour qu'il modifie un mot clé dans l'arbre des mots
Line 1133... Line 1153...
1133
	 *            le noeud à modifier
1153
	 *            le noeud à modifier
1134
	 * @param arbreMC
1154
	 * @param arbreMC
1135
	 *            le nouvel arbre de mots clés à mettre à jour
1155
	 *            le nouvel arbre de mots clés à mettre à jour
1136
	 */
1156
	 */
1137
	public void modifierMotCleDansArbre(TreeNode n, Tree arbreMC) {
1157
	public void modifierMotCleDansArbre(TreeNode n, Tree arbreMC) {
1138
 
-
 
1139
		getIModele().modifierMotCleDansArbre(n, arbreMC);
1158
		getIModele().modifierMotCleDansArbre(n, arbreMC);
-
 
1159
		getIModele().mettreAjourMotsClesId(n.getText(), n.getId());
1140
		filtres.getMotsClesFiltre().rafraichir(n, false);
1160
		filtres.getMotsClesFiltre().rafraichir(arbreMC, false);
1141
 
-
 
-
 
1161
		mettreAJourListeMotsClesAffiches();
1142
	}
1162
	}
Line 1143... Line 1163...
1143
 
1163
 
1144
	/**
1164
	/**
1145
	 * Appelle le médiateur pour qu'il déplace un mot clé et son sous arbre dans
1165
	 * Appelle le médiateur pour qu'il déplace un mot clé et son sous arbre dans
Line 1149... Line 1169...
1149
	 *            le noeud à déplacer
1169
	 *            le noeud à déplacer
1150
	 * @param arbreMC
1170
	 * @param arbreMC
1151
	 *            le nouvel arbre de mots clés à mettre à jour
1171
	 *            le nouvel arbre de mots clés à mettre à jour
1152
	 */
1172
	 */
1153
	public void deplacerMotCleDansArbre(TreeNode n, Tree arbreMC) {
1173
	public void deplacerMotCleDansArbre(TreeNode n, Tree arbreMC) {
1154
 
-
 
1155
		getIModele().deplacerMotCleDansArbre(n, arbreMC);
1174
		getIModele().deplacerMotCleDansArbre(n, arbreMC);
1156
		filtres.getMotsClesFiltre().rafraichir(n, false);
1175
		filtres.getMotsClesFiltre().rafraichir(arbreMC, false);
-
 
1176
		mettreAJourListeMotsClesAffiches();
-
 
1177
	}
-
 
1178
	
-
 
1179
	public void mettreAJourListeMotsClesAffiches() {
-
 
1180
		String[] ids = getGalerieImage().getIdSelectionnees();
-
 
1181
		if(ids.length > 0) {
-
 
1182
			obtenirMotsClesTexte(metadonneesIptcExif.getPanneauMotsCles(), ids[ids.length - 1]);
-
 
1183
		}
1157
	}
1184
	}
Line 1158... Line 1185...
1158
 
1185
 
1159
	/**
1186
	/**
1160
	 * initialise les mots clés cochés par rapport aux images sélectionnées
1187
	 * initialise les mots clés cochés par rapport aux images sélectionnées
1161
	 */
1188
	 */
1162
	public void initialiserMotsCleCoches() {
-
 
1163
 
1189
	public void initialiserMotsCleCoches() {
1164
		obtenirMotsClesId(metadonneesIptcExif.getPanneauMotsCles(),
-
 
1165
				getGalerieImage().getIdSelectionnees()[0]);
1190
		obtenirMotsClesId(metadonneesIptcExif.getPanneauMotsCles(),getGalerieImage().getIdSelectionnees()[0]);
Line 1166... Line 1191...
1166
	}
1191
	}
1167
 
1192
 
1168
	/**
1193
	/**
Line 1737... Line 1762...
1737
	}
1762
	}
Line 1738... Line 1763...
1738
 
1763
 
1739
	public void obtenirDatesImages(Rafraichissable r) {
1764
	public void obtenirDatesImages(Rafraichissable r) {
1740
		iModele.obtenirDatesImages(r);	
1765
		iModele.obtenirDatesImages(r);	
-
 
1766
	}
-
 
1767
	
-
 
1768
	public void creerPanneauGestionMotsCles() {
-
 
1769
		fnMc = new FenetreGestionMotsCles() {
-
 
1770
			
-
 
1771
			@Override
-
 
1772
			protected void surSuppressionMotCle(TreeNode node, Tree arbre) {
-
 
1773
				supprimerMotCleDansArbre(node, arbre);
-
 
1774
			}
-
 
1775
			
-
 
1776
			@Override
-
 
1777
			protected void surDeplacementMotCle(TreeNode node, Tree arbre) {
-
 
1778
				deplacerMotCleDansArbre(node, arbre);
-
 
1779
			}
-
 
1780
			
-
 
1781
			@Override
-
 
1782
			protected void surClicValider(String chaineMotsCles, Tree arbre) {
-
 
1783
				mettreAjourMotsCles(chaineMotsCles, arbre);
-
 
1784
			}
-
 
1785
			
-
 
1786
			@Override
-
 
1787
			protected void surChangementTexte(TreeNode node, Tree arbre) {
-
 
1788
				modifierMotCleDansArbre(node, arbre);
-
 
1789
			}
-
 
1790
			
-
 
1791
			@Override
-
 
1792
			protected void surAjoutMotCle(TreeNode node, Tree arbre) {
-
 
1793
				ajouterMotCleDansArbre(node, arbre);
-
 
1794
			}
-
 
1795
			
-
 
1796
			@Override
-
 
1797
			protected void surAffichageMenuContextuel(TreeNode node, EventObject e,
-
 
1798
					TreeEditor te) {
-
 
1799
				montrerContextMenuArbre(node, e, te);
-
 
1800
			}
-
 
1801
			
-
 
1802
			@Override
-
 
1803
			protected void demanderArbreMotsCles(Rafraichissable r) {
-
 
1804
				ImageMediateur.this.obtenirArbreMotsCles(r);
-
 
1805
			}
-
 
1806
		};
-
 
1807
		
-
 
1808
		fnMc.setModal(true);
-
 
1809
		fnMc.setHeight(400);
-
 
1810
		fnMc.setWidth(200);
-
 
1811
		fnMc.addListener(new WindowListenerAdapter() {
-
 
1812
 
-
 
1813
			public void onClose(Panel panel) {
-
 
1814
				
-
 
1815
			}
-
 
1816
 
-
 
1817
		});
-
 
1818
		
-
 
1819
		//fnMc.activerBoutonValider(selection);
-
 
1820
	}
-
 
1821
 
-
 
1822
	public void afficherFenetreGestionMotsCles() {
-
 
1823
		fnMc.show();
Line 1741... Line 1824...
1741
	}
1824
	}