Subversion Repositories eFlore/Archives.cel-v2

Rev

Rev 6 | Rev 12 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 6 Rev 7
1
 
1
 
2
package org.tela_botanica.client.vues;
2
package org.tela_botanica.client.vues;
3
 
3
 
4
 
4
 
5
import org.tela_botanica.client.image.ImageMediateur;
5
import org.tela_botanica.client.image.ImageMediateur;
6
import org.tela_botanica.client.interfaces.Rafraichissable;
6
import org.tela_botanica.client.interfaces.Rafraichissable;
7
 
7
 
8
 
8
 
9
import com.google.gwt.user.client.Window;
9
import com.google.gwt.user.client.Window;
10
import com.gwtext.client.data.ArrayReader;
10
import com.gwtext.client.data.ArrayReader;
11
import com.gwtext.client.data.FieldDef;
11
import com.gwtext.client.data.FieldDef;
12
import com.gwtext.client.data.MemoryProxy;
12
import com.gwtext.client.data.MemoryProxy;
13
import com.gwtext.client.data.Record;
13
import com.gwtext.client.data.Record;
14
import com.gwtext.client.data.RecordDef;
14
import com.gwtext.client.data.RecordDef;
15
import com.gwtext.client.data.Store;
15
import com.gwtext.client.data.Store;
16
import com.gwtext.client.data.StoreMgr;
16
import com.gwtext.client.data.StoreMgr;
17
import com.gwtext.client.data.StringFieldDef;
17
import com.gwtext.client.data.StringFieldDef;
18
import com.gwtext.client.widgets.Component;
18
import com.gwtext.client.widgets.Component;
19
import com.gwtext.client.widgets.event.ContainerListener;
19
import com.gwtext.client.widgets.event.ContainerListener;
20
import com.gwtext.client.widgets.event.ContainerListenerAdapter;
20
import com.gwtext.client.widgets.event.ContainerListenerAdapter;
21
import com.gwtext.client.widgets.event.PanelListener;
21
import com.gwtext.client.widgets.event.PanelListener;
22
import com.gwtext.client.widgets.event.PanelListenerAdapter;
22
import com.gwtext.client.widgets.event.PanelListenerAdapter;
23
import com.gwtext.client.widgets.grid.CellMetadata;
23
import com.gwtext.client.widgets.grid.CellMetadata;
24
import com.gwtext.client.widgets.grid.ColumnConfig;
24
import com.gwtext.client.widgets.grid.ColumnConfig;
25
import com.gwtext.client.widgets.grid.ColumnModel;
25
import com.gwtext.client.widgets.grid.ColumnModel;
26
import com.gwtext.client.widgets.grid.GridPanel;
26
import com.gwtext.client.widgets.grid.GridPanel;
27
import com.gwtext.client.widgets.grid.GridView;
27
import com.gwtext.client.widgets.grid.GridView;
28
import com.gwtext.client.widgets.grid.Renderer;
28
import com.gwtext.client.widgets.grid.Renderer;
29
import com.gwtextux.client.data.BufferedStore;
29
import com.gwtextux.client.data.BufferedStore;
30
 
30
 
31
public class ListeImageVue extends GridPanel implements Rafraichissable {
31
public class ListeImageVue extends GridPanel implements Rafraichissable {
32
	
32
	
33
	
33
	
34
	
34
	
35
	// instance du médiateur
35
	// instance du médiateur
36
	private ImageMediateur iMediateur = null; 
36
	private ImageMediateur iMediateur = null; 
37
	
37
	
38
	
38
	
39
	private ColumnConfig numImage ;
39
	private ColumnConfig numImage ;
40
	private ColumnConfig urlImage ;
40
	private ColumnConfig urlImage ;
41
	private ColumnModel modeleColonnes ;
41
	private ColumnModel modeleColonnes ;
42
	
42
	
43
	
43
	
44
	
44
	
45
	// données locales
45
	// données locales
46
	// store qui gère les données de la liste d'images
46
	// store qui gère les données de la liste d'images
47
	private Store st = null ;
47
	private Store st = null ;
48
	private ColumnConfig cl = null ;
48
	private ColumnConfig cl = null ;
49
	
49
	
50
	
50
	
51
	public ListeImageVue(ImageMediateur im) {
51
	public ListeImageVue(ImageMediateur im) {
52
		
52
		
53
		this.iMediateur = im ;
53
		this.iMediateur = im ;
54
		
54
		
55
		
55
		
56
		setAutoWidth(true);
56
		/*setAutoWidth(true);
57
		setAutoHeight(true);
57
		setAutoHeight(true);*/
-
 
58
		
58
		
59
		numImage = new ColumnConfig("numéro d'image","num_image",150,true);	
59
		numImage = new ColumnConfig("numéro d'image","num_image",150,true);		
60
		numImage.setId("expCol");
60
		urlImage = new ColumnConfig("Image","url_image",150,true,new Renderer() {
61
		urlImage = new ColumnConfig("Image","url_image",150,true,new Renderer() {
61
 
62
 
62
			public String render(Object value, CellMetadata cellMetadata,
63
			public String render(Object value, CellMetadata cellMetadata,
63
					Record record, int rowIndex, int colNum, Store store) {
64
					Record record, int rowIndex, int colNum, Store store) {
64
 
65
 
65
				String ImgUrl = record.getAsString("url_image");
66
				String ImgUrl = record.getAsString("url_image");
66
				return "<div class=\"img-list\"> <img src=\""+ImgUrl+"\" title='example'> </div>";
67
				return "<div class=\"img-list\"> <img src=\""+ImgUrl+"\" title='example'> </div>";
67
			}
68
			}
68
 
69
 
69
		});
70
		});
70
		
71
		
71
		ColumnConfig[] cm = {numImage,urlImage};
72
		ColumnConfig[] cm = {numImage,urlImage};
72
		modeleColonnes = new ColumnModel(cm);
73
		modeleColonnes = new ColumnModel(cm);
73
		this.setColumnModel(modeleColonnes);
74
		this.setColumnModel(modeleColonnes);
-
 
75
		this.setAutoExpandColumn("expCol");
74
		this.setAutoScroll(true);
76
		this.setAutoScroll(true);
-
 
77
		this.setAutoWidth(true);
-
 
78
		this.setAutoHeight(true);
75
		
79
		
76
		
80
		
77
		FieldDef defNumImage = new StringFieldDef("num_image");
81
		FieldDef defNumImage = new StringFieldDef("num_image");
78
		FieldDef defUrlImage = new StringFieldDef("url_image");
82
		FieldDef defUrlImage = new StringFieldDef("url_image");
79
		FieldDef[] defTab = {defNumImage,defUrlImage};
83
		FieldDef[] defTab = {defNumImage,defUrlImage};
80
		RecordDef rd = new RecordDef(defTab) ;
84
		RecordDef rd = new RecordDef(defTab) ;
81
		st = new Store(rd) ;
85
		st = new Store(rd) ;
82
		this.setStore(st);
86
		this.setStore(st);
83
		
87
		
84
		ajouterListeners() ;
88
		ajouterListeners() ;
85
		
89
		
86
	}
90
	}
87
	
91
	
88
	
92
	
89
	// role : configurer les colonnes affichées dans la grille
93
	// role : configurer les colonnes affichées dans la grille
90
	private void initialiser() {
94
	private void initialiser() {
91
		
95
		
92
		getIMediateur().obtenirPhotoGalerie(this);
96
		getIMediateur().obtenirPhotoGalerie(this);
93
		
97
		
94
		
98
		
95
	}
99
	}
96
	
100
	
97
	public void ajouterListeners()
101
	public void ajouterListeners()
98
	{
102
	{
99
		this.addListener(new ContainerListenerAdapter() {
103
		this.addListener(new ContainerListenerAdapter() {
100
 
104
 
101
 
105
 
102
			public boolean doBeforeRender(Component component)
106
			public boolean doBeforeRender(Component component)
103
			{
107
			{
104
				initialiser();
108
				initialiser();
105
				return true ;
109
				return true ;
106
			}
110
			}
107
			
111
			
108
			public void onHide(Component component) {
112
			public void onHide(Component component) {
109
				// TODO Auto-generated method stub
113
				// TODO Auto-generated method stub
110
				
114
				
111
			}
115
			}
112
 
116
 
113
 
117
 
114
			public void onRender(Component component) {
118
			public void onRender(Component component) {
115
				// TODO Auto-generated method stub
119
				// TODO Auto-generated method stub
116
				
120
				
117
			}
121
			}
118
 
122
 
119
 
123
 
120
			public void onShow(Component component) {
124
			public void onShow(Component component) {
121
				
125
				
122
			}
126
			}
123
			
127
			
124
		});
128
		});
125
	}
129
	}
126
 
130
 
127
 
131
 
128
	public void rafraichir(Object nouvelleDonnees) {
132
	public void rafraichir(Object nouvelleDonnees) {
129
		
133
		
130
		Object[][] photoData = (Object[][])nouvelleDonnees ;
134
		Object[][] photoData = (Object[][])nouvelleDonnees ;
131
 
135
 
132
		final MemoryProxy dataProxy = new MemoryProxy(photoData);
136
		final MemoryProxy dataProxy = new MemoryProxy(photoData);
133
		final ArrayReader reader = new ArrayReader(new RecordDef(
137
		final ArrayReader reader = new ArrayReader(new RecordDef(
134
				new FieldDef[]{new StringFieldDef("num_image"),
138
				new FieldDef[]{new StringFieldDef("num_image"),
135
						new StringFieldDef("url_image")}));
139
						new StringFieldDef("url_image")}));
136
 
140
 
137
		final Store photoStore = new Store(dataProxy, reader);
141
		final Store photoStore = new Store(dataProxy, reader);
138
 
142
 
139
		st = photoStore;
143
		st = photoStore;
140
		this.reconfigure(st, this.getColumnModel());
144
		this.reconfigure(st, this.getColumnModel());
141
		photoStore.load();
145
		photoStore.load();
142
	}
146
	}
143
 
147
 
144
 
148
 
145
	public ImageMediateur getIMediateur() {
149
	public ImageMediateur getIMediateur() {
146
		return iMediateur;
150
		return iMediateur;
147
	}
151
	}
148
 
152
 
149
 
153
 
150
	public ColumnConfig getNumImage() {
154
	public ColumnConfig getNumImage() {
151
		return numImage;
155
		return numImage;
152
	}
156
	}
153
 
157
 
154
 
158
 
155
	public ColumnConfig getUrlImage() {
159
	public ColumnConfig getUrlImage() {
156
		return urlImage;
160
		return urlImage;
157
	}
161
	}
158
 
162
 
159
 
163
 
160
	public ColumnModel getModeleColonnes() {
164
	public ColumnModel getModeleColonnes() {
161
		return modeleColonnes;
165
		return modeleColonnes;
162
	}
166
	}
163
 
167
 
164
 
168
 
165
	public Store getSt() {
169
	public Store getSt() {
166
		return st;
170
		return st;
167
	}
171
	}
168
 
172
 
169
 
173
 
170
	public ColumnConfig getCl() {
174
	public ColumnConfig getCl() {
171
		return cl;
175
		return cl;
172
	}
176
	}
173
	
177
	
174
	
178
	
175
 
179
 
176
}
180
}