Subversion Repositories eFlore/Applications.cel

Rev

Rev 104 | Rev 402 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 104 Rev 195
1
package org.tela_botanica.client.vues;
1
package org.tela_botanica.client.vues.image;
2
 
2
 
3
import org.tela_botanica.client.image.ImageMediateur;
3
import org.tela_botanica.client.image.ImageMediateur;
4
 
4
 
5
import com.gwtext.client.widgets.menu.BaseItem;
5
import com.gwtext.client.widgets.menu.BaseItem;
6
import com.gwtext.client.widgets.menu.Item;
6
import com.gwtext.client.widgets.menu.Item;
7
import com.gwtext.client.widgets.menu.Menu;
7
import com.gwtext.client.widgets.menu.Menu;
8
import com.gwtext.client.widgets.menu.event.MenuListenerAdapter;
8
import com.gwtext.client.widgets.menu.event.MenuListenerAdapter;
9
import com.gwtext.client.core.EventObject;;
9
import com.gwtext.client.core.EventObject;;
10
 
10
 
11
/**
11
/**
12
 * Menu de gestion des images
12
 * Menu de gestion des images
13
 * 
13
 * 
14
 * @author aurelien
14
 * @author aurelien
15
 * 
15
 * 
16
 */
16
 */
17
public class MenuLiaisonVue extends Menu {
17
public class MenuLiaisonVue extends Menu {
18
 
18
 
19
	/**
19
	/**
20
	 * Le médiateur associé à la vue
20
	 * Le médiateur associé à la vue
21
	 */
21
	 */
22
	private ImageMediateur iMediateur;
22
	private ImageMediateur iMediateur;
23
 
23
 
24
	/**
24
	/**
25
	 * Item pour lier la selection d'images aux observations selectionnées
25
	 * Item pour lier la selection d'images aux observations selectionnées
26
	 */
26
	 */
27
	private Item lierSelection = null ;
27
	private Item lierSelection = null ;
28
 
28
 
29
	/**
29
	/**
30
	 * Item pour afficher la selection d'images
30
	 * Item pour afficher la selection d'images
31
	 */
31
	 */
32
	private Item afficherSelection = null;
32
	private Item afficherSelection = null;
33
	
33
	
34
	/**
34
	/**
35
	 * Item pour supprimer la liaison entre une observation et une image
35
	 * Item pour supprimer la liaison entre une observation et une image
36
	 */
36
	 */
37
	private Item supprimerLiaison = null ;
37
	private Item supprimerLiaison = null ;
38
 
38
 
39
	/**
39
	/**
40
	 * Constructeur sans argument (privé car ne doit être utilisé)
40
	 * Constructeur sans argument (privé car ne doit être utilisé)
41
	 */
41
	 */
42
	@SuppressWarnings("unused")
42
	@SuppressWarnings("unused")
43
	private MenuLiaisonVue() {
43
	private MenuLiaisonVue() {
44
		super();
44
		super();
45
	}
45
	}
46
 
46
 
47
	/**
47
	/**
48
	 * Constructeur avec paramètre
48
	 * Constructeur avec paramètre
49
	 * 
49
	 * 
50
	 * @param im
50
	 * @param im
51
	 *            le médiateur à associer
51
	 *            le médiateur à associer
52
	 */
52
	 */
53
	public MenuLiaisonVue(ImageMediateur im) {
53
	public MenuLiaisonVue(ImageMediateur im) {
54
		super();
54
		super();
55
 
55
 
56
		iMediateur = im;
56
		iMediateur = im;
57
 
57
 
58
		// on construit le menu
58
		// on construit le menu
59
		lierSelection = new Item("Lier le tampon à la sélection d'observation");
59
		lierSelection = new Item("Lier le tampon à la sélection d'observation");
60
		afficherSelection = new Item("Afficher le tampon");
60
		afficherSelection = new Item("Afficher le tampon");
61
 
61
 
62
		addItem(lierSelection);
62
		addItem(lierSelection);
63
		addItem(afficherSelection);
63
		addItem(afficherSelection);
64
 
64
 
65
		// on ajoute les listeners
65
		// on ajoute les listeners
66
		ajouterListeners();
66
		ajouterListeners();
67
	}
67
	}
68
 
68
 
69
	public MenuLiaisonVue(ImageMediateur mediateur, boolean liaison) {
69
	public MenuLiaisonVue(ImageMediateur mediateur, boolean liaison) {
70
		
70
		
71
		
71
		
72
		iMediateur = mediateur;
72
		iMediateur = mediateur;
73
		
73
		
74
		lierSelection = new Item("Lier le tampon à la sélection d'observation");
74
		lierSelection = new Item("Lier le tampon à la sélection d'observation");
75
		afficherSelection = new Item("Afficher le tampon");
75
		afficherSelection = new Item("Afficher le tampon");
76
		
76
		
77
		addItem(lierSelection);
77
		addItem(lierSelection);
78
		addItem(afficherSelection);
78
		addItem(afficherSelection);
79
		
79
		
80
		iMediateur = mediateur;
80
		iMediateur = mediateur;
81
		
81
		
82
		if(liaison) {
82
		if(liaison) {
83
		
83
		
84
			supprimerLiaison = new Item("Supprimer la liaison") ;
84
			supprimerLiaison = new Item("Supprimer la liaison") ;
85
			addItem(supprimerLiaison);
85
			addItem(supprimerLiaison);
86
			
86
			
87
		}
87
		}
88
			// on ajoute les listeners
88
			// on ajoute les listeners
89
			ajouterListeners();
89
			ajouterListeners();
90
	}
90
	}
91
 
91
 
92
	/**
92
	/**
93
	 * Ajoute les listeners pour la gestions des évènements
93
	 * Ajoute les listeners pour la gestions des évènements
94
	 */
94
	 */
95
	private void ajouterListeners() {
95
	private void ajouterListeners() {
96
		this.addListener(new MenuListenerAdapter() {
96
		this.addListener(new MenuListenerAdapter() {
97
 
97
 
98
			// gestion du clic sur un item
98
			// gestion du clic sur un item
99
 
99
 
100
			public void onItemClick(BaseItem item, EventObject e) {
100
			public void onItemClick(BaseItem item, EventObject e) {
101
 
101
 
102
				// si c'est la suppression
102
				// si c'est la suppression
103
				if (item.equals(lierSelection)) {
103
				if (item.equals(lierSelection)) {
104
					// on notifie le médiateur
104
					// on notifie le médiateur
105
					getIMediateur().LierTamponObservations();
105
					getIMediateur().LierTamponObservations();
106
				}
106
				}
107
 
107
 
108
				// si c'est la liaison
108
				// si c'est la liaison
109
				if (item.equals(afficherSelection)) {
109
				if (item.equals(afficherSelection)) {
110
					getIMediateur().afficherIdSelectionImages();
110
					getIMediateur().afficherIdSelectionImages();
111
				}
111
				}
112
				
112
				
113
				if(item.equals(supprimerLiaison)) {
113
				if(item.equals(supprimerLiaison)) {
114
					getIMediateur().supprimerLiaisonObsImage() ;
114
					getIMediateur().supprimerLiaisonObsImage() ;
115
				}
115
				}
116
 
116
 
117
				// enfin, on cache le menu
117
				// enfin, on cache le menu
118
				hide();
118
				hide();
119
 
119
 
120
			}
120
			}
121
 
121
 
122
		});
122
		});
123
	}
123
	}
124
 
124
 
125
	/**
125
	/**
126
	 * Accesseur pour le médiateur
126
	 * Accesseur pour le médiateur
127
	 * 
127
	 * 
128
	 * @return le médiateur associé à la vue
128
	 * @return le médiateur associé à la vue
129
	 */
129
	 */
130
	public ImageMediateur getIMediateur() {
130
	public ImageMediateur getIMediateur() {
131
		return iMediateur;
131
		return iMediateur;
132
	}
132
	}
133
 
133
 
134
}
134
}