Subversion Repositories eFlore/Archives.cel-v2

Rev

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

Rev 36 Rev 47
Line 1... Line 1...
1
package org.tela_botanica.client.vues;
1
package org.tela_botanica.client.vues;
Line 2... Line -...
2
 
-
 
3
import java.util.Iterator;
-
 
4
 
2
 
5
import org.tela_botanica.client.image.ImageMediateur;
3
import org.tela_botanica.client.image.ImageMediateur;
6
import org.tela_botanica.client.interfaces.Rafraichissable;
4
import org.tela_botanica.client.interfaces.Rafraichissable;
7
import org.tela_botanica.client.interfaces.VueListable;
-
 
8
import org.tela_botanica.client.modeles.ImageCarnet;
-
 
Line 9... Line -...
9
import org.tela_botanica.client.modeles.ListeImageCarnet;
-
 
10
 
-
 
11
import com.google.gwt.core.client.JavaScriptObject;
5
import org.tela_botanica.client.interfaces.VueListable;
12
import com.google.gwt.user.client.Window;
-
 
13
import com.gwtext.client.core.EventObject;
-
 
14
import com.gwtext.client.core.Ext;
-
 
15
import com.gwtext.client.core.ExtElement;
-
 
16
import com.gwtext.client.core.JsObject;
6
 
17
import com.gwtext.client.data.ArrayReader;
7
import com.gwtext.client.core.EventObject;
18
import com.gwtext.client.data.FieldDef;
-
 
19
import com.gwtext.client.data.IntegerFieldDef;
8
import com.gwtext.client.data.FieldDef;
20
import com.gwtext.client.data.MemoryProxy;
9
import com.gwtext.client.data.IntegerFieldDef;
21
import com.gwtext.client.data.Record;
10
import com.gwtext.client.data.Record;
22
import com.gwtext.client.data.RecordDef;
-
 
23
import com.gwtext.client.data.Store;
11
import com.gwtext.client.data.RecordDef;
24
import com.gwtext.client.data.StoreMgr;
-
 
25
import com.gwtext.client.data.StringFieldDef;
-
 
26
import com.gwtext.client.util.JavaScriptObjectHelper;
12
import com.gwtext.client.data.Store;
27
import com.gwtext.client.widgets.BoxComponent;
-
 
28
import com.gwtext.client.widgets.Component;
-
 
29
import com.gwtext.client.widgets.Container;
-
 
30
import com.gwtext.client.widgets.Panel;
-
 
31
import com.gwtext.client.widgets.event.ComponentListenerAdapter;
13
import com.gwtext.client.data.StringFieldDef;
32
import com.gwtext.client.widgets.event.ContainerListener;
-
 
33
import com.gwtext.client.widgets.event.ContainerListenerAdapter;
-
 
34
import com.gwtext.client.widgets.event.PanelListener;
14
import com.gwtext.client.widgets.Component;
35
import com.gwtext.client.widgets.event.PanelListenerAdapter;
15
import com.gwtext.client.widgets.event.ContainerListenerAdapter;
36
import com.gwtext.client.widgets.grid.CellMetadata;
16
import com.gwtext.client.widgets.grid.CellMetadata;
37
import com.gwtext.client.widgets.grid.ColumnConfig;
17
import com.gwtext.client.widgets.grid.ColumnConfig;
38
import com.gwtext.client.widgets.grid.ColumnModel;
-
 
39
import com.gwtext.client.widgets.grid.GridPanel;
18
import com.gwtext.client.widgets.grid.ColumnModel;
40
import com.gwtext.client.widgets.grid.GridView;
19
import com.gwtext.client.widgets.grid.GridPanel;
41
import com.gwtext.client.widgets.grid.Renderer;
-
 
42
import com.gwtext.client.widgets.grid.RowSelectionModel;
-
 
43
import com.gwtext.client.widgets.grid.event.GridCellListener;
20
import com.gwtext.client.widgets.grid.Renderer;
44
import com.gwtext.client.widgets.grid.event.GridListener;
-
 
45
import com.gwtext.client.widgets.grid.event.GridRowListener;
21
import com.gwtext.client.widgets.grid.RowSelectionModel;
46
import com.gwtext.client.widgets.grid.event.RowSelectionListener;
-
 
47
import com.gwtext.client.widgets.grid.event.RowSelectionListenerAdapter;
-
 
48
import com.gwtext.client.widgets.layout.AnchorLayout;
-
 
Line 49... Line 22...
49
import com.gwtext.client.widgets.layout.FitLayout;
22
import com.gwtext.client.widgets.grid.event.GridRowListener;
50
import com.gwtextux.client.data.BufferedStore;
23
import com.gwtext.client.widgets.grid.event.RowSelectionListenerAdapter;
51
 
24
 
52
/**
25
/**
Line 82... Line 55...
82
	/**
55
	/**
83
	 * Config de colonne
56
	 * Config de colonne
84
	 */
57
	 */
85
	private ColumnConfig	appImage;
58
	private ColumnConfig	appImage;
86
	/**
59
	/**
-
 
60
	 * Config de colonne
-
 
61
	 */
-
 
62
	private ColumnConfig	noteImage;
-
 
63
	/**
87
	 * Modele de colonnes
64
	 * Modele de colonnes
88
	 */
65
	 */
89
	private ColumnModel		modeleColonnes;
66
	private ColumnModel		modeleColonnes;
Line 90... Line 67...
90
 
67
 
Line 130... Line 107...
130
		// on place la barre de pagination
107
		// on place la barre de pagination
131
		bt = new pageToolBarVue(im);		
108
		bt = new pageToolBarVue(im);		
132
		this.setBottomToolbar(bt) ;
109
		this.setBottomToolbar(bt) ;
Line 133... Line 110...
133
 
110
 
134
		// on construit le modèle de colonnes
111
		// on construit le modèle de colonnes
-
 
112
		numImage = new ColumnConfig("numéro", "num_image", 30, true, new Renderer() {
-
 
113
 
-
 
114
			public String render(Object value, CellMetadata cellMetadata,
-
 
115
					Record record, int rowIndex, int colNum, Store store) {
-
 
116
				
-
 
117
				String ImgNum = record.getAsString("num_image");
-
 
118
				return "<div class=\"centered-list\">"+ ImgNum  +"</div>";
-
 
119
			}
-
 
120
			
-
 
121
		}) ;
135
		numImage = new ColumnConfig("numéro", "num_image", 30, true);
122
		
-
 
123
		datImage = new ColumnConfig("date", "dat_image", 120, true, new Renderer() {
-
 
124
 
-
 
125
			public String render(Object value, CellMetadata cellMetadata,
-
 
126
					Record record, int rowIndex, int colNum, Store store) {
-
 
127
				
-
 
128
				String ImgDat = record.getAsString("dat_image");
-
 
129
				if(ImgDat == null)
-
 
130
				{
-
 
131
					ImgDat = " " ;
-
 
132
				}
-
 
133
				return "<div class=\"centered-list\">"+ ImgDat +"</div>";
-
 
134
			}
-
 
135
			
136
		datImage = new ColumnConfig("date", "dat_image", 120, true);
136
		}) ;
-
 
137
		lieImage = new ColumnConfig("lieu", "lie_image", 120, true, new Renderer() {
-
 
138
 
-
 
139
			public String render(Object value, CellMetadata cellMetadata,
-
 
140
					Record record, int rowIndex, int colNum, Store store) {
-
 
141
				
-
 
142
				String ImgLie = record.getAsString("lie_image");
-
 
143
				if(ImgLie == null)
-
 
144
				{
-
 
145
					ImgLie = " " ;
-
 
146
				}
-
 
147
				return "<div class=\"centered-list\">"+ ImgLie  +"</div>";
-
 
148
			}
-
 
149
			
137
		lieImage = new ColumnConfig("lieu", "lie_image", 120, true);
150
		}) ;
-
 
151
		appImage = new ColumnConfig("appareil", "app_image", 120, true, new Renderer() {
-
 
152
 
-
 
153
			public String render(Object value, CellMetadata cellMetadata,
-
 
154
					Record record, int rowIndex, int colNum, Store store) {
-
 
155
				
-
 
156
				String ImgApp = record.getAsString("app_image");
-
 
157
				if(ImgApp == null)
-
 
158
				{
-
 
159
					ImgApp = " " ;
-
 
160
				}
-
 
161
				return "<div class=\"centered-list\">"+ ImgApp  +"</div>";
-
 
162
			}
-
 
163
			
138
		appImage = new ColumnConfig("appareil", "app_image", 200, true);
164
		}) ;
139
		// la colonne url possède une méthode de rendu spéciale
165
		// la colonne url possède une méthode de rendu spéciale
140
		urlImage = new ColumnConfig("Image", "url_image_S", 30, true,
166
		urlImage = new ColumnConfig("Image", "url_image_S", 30, true,
Line 141... Line 167...
141
				new Renderer() {
167
				new Renderer() {
142
 
168
 
143
					public String render(Object value,
169
					public String render(Object value,
144
							CellMetadata cellMetadata, Record record,
170
							CellMetadata cellMetadata, Record record,
145
							int rowIndex, int colNum, Store store) {
171
							int rowIndex, int colNum, Store store) {
146
						// on affiche une div contenant l'image pointée par l'url
172
						// on affiche une div contenant l'image pointée par l'url
147
						String ImgUrl = record.getAsString("url_image_S");
173
						String ImgUrl = record.getAsString("url_image_S");
148
						String ImgNum = record.getAsString("num_image");
174
						String ImgNum = record.getAsString("num_image");
149
						return "<div class=\"img-list\"> <img src=\"" + ImgUrl
175
						return "<div class=\"img-list centered-list\"> <img src=\"" + ImgUrl
Line 150... Line 176...
150
								+ "\" title='" + ImgNum + "'> </div>";
176
								+ "\" title='" + ImgNum + "'> </div>";
Line -... Line 177...
-
 
177
					}
-
 
178
 
-
 
179
				});
-
 
180
		
-
 
181
		noteImage = new ColumnConfig("note", "note_image", 80, true, 
-
 
182
				new Renderer()
-
 
183
			{
-
 
184
				public String render(Object value, CellMetadata cellMetadata,
-
 
185
						Record record, int rowIndex, int colNum, Store store) {
-
 
186
					
-
 
187
					String htmlImage = "" ;
-
 
188
					
-
 
189
					int noteImg = record.getAsInteger("note_image") ;
-
 
190
					if(noteImg >= 0)
-
 
191
					{
-
 
192
						htmlImage += "<div class=\"img-note centered-list\">" ;
-
 
193
						for(int i = 0 ; i <= noteImg ; i++)
-
 
194
						{
-
 
195
							htmlImage += "<img src=\"etoile_notee.jpg\">" ;
-
 
196
						}
-
 
197
						htmlImage += "</div>" ;
-
 
198
					}
-
 
199
					
-
 
200
					return htmlImage ;
-
 
201
					
151
					}
202
				}
152
 
203
				
153
				});
204
			}) ;
154
		
205
		
155
		// on associe le modèle de colonnes
206
		// on associe le modèle de colonnes
156
		ColumnConfig[] cm = {numImage, urlImage, datImage, lieImage, appImage};
207
		ColumnConfig[] cm = {numImage, urlImage, datImage, lieImage, appImage, noteImage};
157
		modeleColonnes = new ColumnModel(cm);
208
		modeleColonnes = new ColumnModel(cm);
Line 166... Line 217...
166
		FieldDef defLieImage = new StringFieldDef("lie_image");
217
		FieldDef defLieImage = new StringFieldDef("lie_image");
167
		FieldDef defAppImage = new StringFieldDef("app_image");
218
		FieldDef defAppImage = new StringFieldDef("app_image");
168
		FieldDef defUrlImageS = new StringFieldDef("url_image_S");
219
		FieldDef defUrlImageS = new StringFieldDef("url_image_S");
169
		FieldDef defUrlImageM = new StringFieldDef("url_image_M");
220
		FieldDef defUrlImageM = new StringFieldDef("url_image_M");
170
		FieldDef defUrlImage = new StringFieldDef("url_image");
221
		FieldDef defUrlImage = new StringFieldDef("url_image");
-
 
222
		FieldDef defNoteImage = new StringFieldDef("note_image");
171
		FieldDef[] defTab = { defNumImage, defDatImage, defLieImage,
223
		FieldDef[] defTab = { defNumImage, defDatImage, defLieImage,
172
				defAppImage, defUrlImageS, defUrlImageM, defUrlImage };
224
				defAppImage, defUrlImageS, defUrlImageM, defUrlImage, defNoteImage };
173
		RecordDef rd = new RecordDef(defTab);
225
		RecordDef rd = new RecordDef(defTab);
174
		st = new Store(rd);
226
		st = new Store(rd);
175
		// on associe le store
227
		// on associe le store
176
		this.setStore(st);
228
		this.setStore(st);
177
		this.getView().setAutoFill(true);
229
		this.getView().setAutoFill(true);
Line 188... Line 240...
188
	 * Ajoute les listeners pour la gestion des évènements
240
	 * Ajoute les listeners pour la gestion des évènements
189
	 */
241
	 */
190
	private void ajouterListeners() {
242
	private void ajouterListeners() {
191
		this.addListener(new ContainerListenerAdapter() {
243
		this.addListener(new ContainerListenerAdapter() {
Line -... Line 244...
-
 
244
 
192
 
245
			
Line 193... Line 246...
193
			public void onHide(Component component) {
246
			public void onHide(Component component) {
Line 194... Line 247...
194
 
247
 
-
 
248
			}
195
			}
249
 
Line 196... Line 250...
196
 
250
			// lors du premier rendu on demande les données qui sont déjà contenues dans la galerie qui est le premier élément affiché 
197
			// lors du premier rendu on demande les données qui sont déjà contenues dans la galerie qui est le premier élément affiché 
251
			
198
			public void onRender(Component component) {
252
			public void onRender(Component component) {
199
 
253
 
200
				if (!isEstInstancie()) {
254
				if (!isEstInstancie()) {
Line -... Line 255...
-
 
255
					setEstInstancie(true);
201
					setEstInstancie(true);
256
					getIMediateur().synchroniserSelection("galerie");
Line 202... Line 257...
202
					getIMediateur().synchroniserSelection("galerie");
257
				}
Line 203... Line 258...
203
				}
258
			}
Line 236... Line 291...
236
		});
291
		});
Line 237... Line 292...
237
 
292
 
Line 238... Line 293...
238
		this.getSelectionModel().addListener(new RowSelectionListenerAdapter() {
293
		this.getSelectionModel().addListener(new RowSelectionListenerAdapter() {
-
 
294
 
239
 
295
			// gestion de la sélection
Line 240... Line 296...
240
			// gestion de la sélection
296
			
241
			public void onSelectionChange(RowSelectionModel sm) {
297
			public void onSelectionChange(RowSelectionModel sm) {
242
 
298
 
Line 365... Line 421...
365
	 */
421
	 */
366
	public void setEstInstancie(boolean estInstancie) {
422
	public void setEstInstancie(boolean estInstancie) {
367
		this.estInstancie = estInstancie;
423
		this.estInstancie = estInstancie;
368
	}
424
	}
Line -... Line 425...
-
 
425
 
-
 
426
	public void mettreAjourInfos(String commentaires, String date, String note) { 
-
 
427
		
-
 
428
		for (int i = 0; i < getSelectionModel().getCount(); i++) {
-
 
429
			
-
 
430
			getSelectionModel().getSelections()[i].set("note_image", note) ;
-
 
431
			//this.getView().refresh() ;
-
 
432
			
-
 
433
		}
-
 
434
		
-
 
435
	}
369
 
436