Subversion Repositories eFlore/Applications.cel

Rev

Rev 669 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 669 Rev 706
Line 1... Line 1...
1
package org.tela_botanica.client.vues.image.filtres;
1
package org.tela_botanica.client.vues.image;
Line 2... Line 2...
2
 
2
 
Line -... Line 3...
-
 
3
import org.tela_botanica.client.image.ImageMediateur;
3
import org.tela_botanica.client.image.ImageMediateur;
4
 
-
 
5
import com.google.gwt.core.client.JavaScriptObject;
-
 
6
import com.gwtext.client.core.EventObject;
-
 
7
import com.gwtext.client.widgets.Button;
-
 
8
import com.gwtext.client.widgets.Component;
-
 
9
import com.gwtext.client.widgets.ToolbarButton;
4
 
10
import com.gwtext.client.widgets.event.ButtonListener;
5
import com.gwtext.client.core.EventObject;
11
import com.gwtext.client.widgets.event.ButtonListenerAdapter;
6
import com.gwtext.client.widgets.menu.BaseItem;
12
import com.gwtext.client.widgets.menu.BaseItem;
-
 
13
import com.gwtext.client.widgets.menu.Item;
-
 
14
import com.gwtext.client.widgets.menu.Menu;
-
 
15
import com.gwtext.client.widgets.menu.MenuItem;
7
import com.gwtext.client.widgets.menu.Item;
16
import com.gwtext.client.widgets.menu.event.BaseItemListener;
Line -... Line 17...
-
 
17
import com.gwtext.client.widgets.menu.event.BaseItemListenerAdapter;
-
 
18
import com.gwtext.client.widgets.menu.event.MenuListenerAdapter;
-
 
19
 
-
 
20
/**
-
 
21
 * Menu de gestion des images
-
 
22
 * 
8
import com.gwtext.client.widgets.menu.Menu;
23
 * @author aurelien
Line 9... Line 24...
9
import com.gwtext.client.widgets.menu.event.MenuListenerAdapter;
24
 * 
10
 
25
 */
11
public class MenuFiltreVue extends Menu {
26
public class OptionsImages {
12
 
27
 
Line 13... Line 28...
13
	/**
28
	/**
14
	 * Le médiateur associé à la vue
29
	 * Le médiateur associé à la vue
15
	 */
30
	 */
16
	private ImageMediateur iMediateur;
31
	private ImageMediateur iMediateur;
-
 
32
 
-
 
33
	/**
-
 
34
	 * Item pour l'upload
-
 
35
	 */
Line 17... Line 36...
17
 
36
	private MenuItem uploaderImage = null;
18
	/**
37
	/**
19
	 * Item pour la recherche par mots clés
38
	 * Item pour la suppression
-
 
39
	 */
-
 
40
	private ToolbarButton supprimerImage = null;
-
 
41
 
-
 
42
	/**
-
 
43
	 * Item pour l'ajout d'images à la selection
-
 
44
	 */
-
 
45
	private Item ajouterImageSelection = null;
-
 
46
 
-
 
47
	/**
-
 
48
	 * Item pour vider la selection d'images
20
	 */
49
	 */
-
 
50
	private Item viderSelection = null;
-
 
51
 
-
 
52
	/**
-
 
53
	 * Item pour lier la selection d'images
-
 
54
	 */
-
 
55
	private Item afficherSelection = null;
-
 
56
	
-
 
57
	private Item uploadMultiple = null ;
Line 21... Line 58...
21
	private Item chercherImage = null;
58
	
22
 
59
	private Item uploadSimple = null ;
23
	/**
60
	
24
	 * Item pour la recherche sur les commentaires
61
	private Menu mnFichiers = null ;
25
	 */
62
	
26
	private Item chercherCommentaire = null;
63
	private Menu mnTampon = null ;
27
 
64
 
Line 28... Line 65...
28
	/**
65
	/**
29
	 * Constructeur sans argument (privé car ne doit être utilisé)
66
	 * Constructeur sans argument (privé car ne doit être utilisé)
30
	 */
67
	 */
31
	@SuppressWarnings("unused")
68
	@SuppressWarnings("unused")
32
	private MenuFiltreVue() {
69
	private OptionsImages() {
33
		super();
70
		super();
34
	}
71
	}
35
 
72
 
Line 36... Line 73...
36
	/**
73
	/**
-
 
74
	 * Constructeur avec paramètre
-
 
75
	 * 
-
 
76
	 * @param im
-
 
77
	 *            le médiateur à associer
-
 
78
	 */
-
 
79
	public OptionsImages(ImageMediateur im) {
-
 
80
		super();
Line 37... Line 81...
37
	 * Constructeur avec paramètre
81
 
38
	 * 
82
		iMediateur = im;
-
 
83
		
-
 
84
		mnFichiers = new Menu();
-
 
85
			uploadMultiple = new Item("Plusieurs dossiers ou fichiers à la fois");
-
 
86
			uploadSimple = new Item("Un fichier à la la fois");
-
 
87
			
39
	 * @param im
88
		mnFichiers.addItem(uploadMultiple);
-
 
89
		mnFichiers.addItem(uploadSimple);
-
 
90
 
-
 
91
		// on construit le menu
-
 
92
		uploaderImage = new MenuItem("Ajouter des images", mnFichiers);
40
	 *            le médiateur à associer
93
		supprimerImage = new ToolbarButton("Supprimer");
41
	 */
94
		
Line 42... Line 95...
42
	public MenuFiltreVue(ImageMediateur im) {
95
		ajouterImageSelection = new Item(
43
		super();
96
				"Ajouter les images sélectionnées au tampon");
44
 
97
		viderSelection = new Item("Supprimer le contenu du tampon");
Line 45... Line 98...
45
		iMediateur = im;
98
		afficherSelection = new Item("Supprimer le contenu du tampon");
46
 
99
		
47
		// on construit le menu
100
		mnTampon = new Menu();
48
		chercherImage = new Item("Filtrer par les mots clés");
101
		
-
 
102
		mnTampon.addItem(ajouterImageSelection);
49
		chercherCommentaire = new Item("Filtrer par les commentaires");
103
		mnTampon.addItem(viderSelection);
Line 50... Line 104...
50
		addItem(chercherImage);
104
		mnTampon.addItem(afficherSelection);
Line 51... Line 105...
51
		addItem(chercherCommentaire);
105
 
Line 52... Line 106...
52
 
106
		// on ajoute les listeners
53
		// on ajoute les listeners
107
		ajouterListeners();
54
		ajouterListeners();
-
 
55
	}
108
	}
56
 
109
 
Line 57... Line 110...
57
	/**
110
	/**
58
	 * Ajoute les listeners pour la gestions des évènements
111
	 * Ajoute les listeners pour la gestions des évènements
59
	 */
-
 
60
	private void ajouterListeners() {
112
	 */
61
		this.addListener(new MenuListenerAdapter() {
113
	private void ajouterListeners() {
Line -... Line 114...
-
 
114
		
-
 
115
		mnTampon.addListener(new MenuListenerAdapter() {
-
 
116
 
-
 
117
			// gestion du clic sur un item
-
 
118
 
62
 
119
			public void onItemClick(BaseItem item, EventObject e) {
63
			// gestion du clic sur un item
120
 
Line 64... Line 121...
64
 
121
				// si c'est l'ajout à la sélection
-
 
122
				if (item.equals(ajouterImageSelection)) {
-
 
123
					getIMediateur().ajouterImagesSelection();
-
 
124
				}
-
 
125
 
-
 
126
				// si c'est le vidage de la sélection
-
 
127
				if (item.equals(viderSelection)) {
-
 
128
					getIMediateur().viderSelection();
-
 
129
				}
-
 
130
 
-
 
131
				// si c'est l'affichage de la selection
-
 
132
				if (item.equals(afficherSelection)) {
Line 65... Line 133...
65
			public void onItemClick(BaseItem item, EventObject e) {
133
					getIMediateur().afficherIdSelectionImages();
-
 
134
				}
-
 
135
				
-
 
136
				// enfin, on cache le menu
-
 
137
				mnTampon.hide();
-
 
138
 
-
 
139
			}
-
 
140
			
-
 
141
			public void onShow(Menu menu) {
-
 
142
				if(getIMediateur().getCompteSelection() != 0) {
-
 
143
					afficherSelection.enable();
-
 
144
					viderSelection.enable();
-
 
145
				}
-
 
146
				else {
-
 
147
					afficherSelection.disable();
-
 
148
					viderSelection.disable();
-
 
149
				}
-
 
150
			}
-
 
151
 
-
 
152
		});
-
 
153
		
-
 
154
		mnTampon.setTitle("Permet de sélectionner et d'afficher des images présentes sur plusieurs pages");
-
 
155
		
-
 
156
		
-
 
157
		// si c'est la suppression
-
 
158
		supprimerImage.addListener(new ButtonListenerAdapter() {
-
 
159
 
-
 
160
			public void onClick(Button b, EventObject e) {
-
 
161
				// on notifie le médiateur
-
 
162
				getIMediateur().supprimerImages();	
-
 
163
			}			
-
 
164
		});
-
 
165
		supprimerImage.setTitle("Supprimer les images sélectionnées");
-
 
166
		
-
 
167
		mnFichiers.addListener(new MenuListenerAdapter() {
-
 
168
			
-
 
169
			public void onItemClick(BaseItem item, EventObject e) {
-
 
170
				
-
 
171
				// si c'est l'upload
-
 
172
				if (item.equals(uploadMultiple)) {
-
 
173
					// on notifie le médiateur
-
 
174
					getIMediateur().uploaderImages(true);
-
 
175
				}
-
 
176
				
-
 
177
				// si c'est l'upload
-
 
178
				if (item.equals(uploadSimple)) {
-
 
179
					// on notifie le médiateur
-
 
180
					getIMediateur().uploaderImages(false);
-
 
181
				}
66
 
182
			}
Line 67... Line 183...
67
				// si c'est la recherche par mots clé
183
			
68
				if (item.equals(chercherImage)) {
184
		});
69
					// on notifie le médiateur
185