Subversion Repositories eFlore/Applications.cel

Rev

Rev 104 | Go to most recent revision | Details | Last modification | View Log | RSS feed

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