Subversion Repositories eFlore/Archives.cel-v2

Rev

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

Rev 4 Rev 5
1
package org.tela_botanica.client.image;
1
package org.tela_botanica.client.image;
-
 
2
 
2
 
3
import org.tela_botanica.client.interfaces.Rafraichissable;
3
import org.tela_botanica.client.vues.GalerieImageVue;
4
import org.tela_botanica.client.vues.GalerieImageVue;
4
import org.tela_botanica.client.vues.ListeImageVue;
5
import org.tela_botanica.client.vues.ListeImageVue;
5
import org.tela_botanica.client.vues.ZoomImageVue;
6
import org.tela_botanica.client.vues.ZoomImageVue;
-
 
7
 
-
 
8
import com.google.gwt.user.client.DOM;
-
 
9
import com.google.gwt.user.client.Element;
-
 
10
import com.google.gwt.user.client.Event;
-
 
11
import com.google.gwt.user.client.Window;
6
 
12
import com.gwtext.client.core.EventObject;
-
 
13
import com.gwtext.client.core.RegionPosition;
-
 
14
import com.gwtext.client.data.Record;
-
 
15
import com.gwtext.client.data.Store;
7
import com.gwtext.client.core.RegionPosition;
16
import com.gwtext.client.widgets.DataView;
8
import com.gwtext.client.widgets.Panel;
17
import com.gwtext.client.widgets.Panel;
9
import com.gwtext.client.widgets.TabPanel;
18
import com.gwtext.client.widgets.TabPanel;
10
import com.gwtext.client.widgets.layout.BorderLayout;
19
import com.gwtext.client.widgets.layout.BorderLayout;
11
import com.gwtext.client.widgets.layout.BorderLayoutData;
20
import com.gwtext.client.widgets.layout.BorderLayoutData;
12
 
21
 
13
public class ImageMediateur {
22
public class ImageMediateur {
14
	
23
	
15
	// controleur
24
	// controleur
16
	private ImageControleur iControleur = null ;
25
	private ImageControleur iControleur = null ;
17
	
26
	
18
	//widgets
27
	//widgets
19
	
28
	
20
	//Panneau principal des images (onglet "images")
29
	//Panneau principal des images (onglet "images")
21
	private final Panel panneauPrincipalImage = new Panel("Images");
30
	private final Panel panneauPrincipalImage = new Panel("Images");
22
	
31
	
23
	// Panneau à onglet pour la liste, la galerie et la vue en grand
32
	// Panneau à onglet pour la liste, la galerie et la vue en grand
24
	private TabPanel ongletsImage = null ;
33
	private TabPanel ongletsImage = null ;
25
	
34
	
26
	private GalerieImageVue galerieImage = null ;
35
	private GalerieImageVue galerieImage = null ;
27
	private ListeImageVue listeImage = null ;
36
	private ListeImageVue listeImage = null ;
28
	private ZoomImageVue zoomImage = null ;
37
	private ZoomImageVue zoomImage = null ;
29
	
38
	
30
	// panneau details et mots clés
39
	// panneau details et mots clés
31
	private final Panel detailsEtMotsCles = new Panel("Détails et mots clés");
40
	private final Panel detailsEtMotsCles = new Panel("Détails et mots clés");
32
	
41
	
33
	
42
	
34
	public ImageMediateur()
43
	public ImageMediateur()
35
	{
44
	{
36
 
45
 
37
		final BorderLayoutData regionEst = new BorderLayoutData(
46
		final BorderLayoutData regionEst = new BorderLayoutData(
38
				RegionPosition.EAST);
47
				RegionPosition.EAST);
39
		regionEst.setSplit(true);
48
		regionEst.setSplit(true);
40
 
49
 
41
		
50
		
42
		iControleur = new ImageControleur(this);
51
		iControleur = new ImageControleur(this);
43
		
52
		
44
		panneauPrincipalImage.setLayout(new BorderLayout());
53
		panneauPrincipalImage.setLayout(new BorderLayout());
45
		
54
		
46
		ongletsImage = new TabPanel();
55
		ongletsImage = new TabPanel();
47
		galerieImage = new GalerieImageVue(this) ;
56
		galerieImage = new GalerieImageVue(this) ;
48
		
57
		
49
		Panel panneauListeImage = new Panel("Liste");
58
		Panel panneauListeImage = new Panel("Liste");
50
		listeImage = new ListeImageVue(this);
59
		listeImage = new ListeImageVue(this);
51
		panneauListeImage.add(listeImage);
60
		panneauListeImage.add(listeImage);
52
		
61
		
53
		zoomImage = new ZoomImageVue(this);
62
		zoomImage = new ZoomImageVue(this);
54
		
63
		
55
		ongletsImage.add(galerieImage);
64
		ongletsImage.add(galerieImage);
56
		ongletsImage.add(zoomImage);
65
		ongletsImage.add(zoomImage);
57
		ongletsImage.add(panneauListeImage);
66
		ongletsImage.add(panneauListeImage);
58
		
67
		
59
		detailsEtMotsCles.setWidth("20%");
68
		detailsEtMotsCles.setWidth("20%");
60
		detailsEtMotsCles.setAnimCollapse(true);
69
		detailsEtMotsCles.setAnimCollapse(true);
61
		detailsEtMotsCles.setTitleCollapse(true);
70
		detailsEtMotsCles.setTitleCollapse(true);
62
		detailsEtMotsCles.setCollapsible(true);
71
		detailsEtMotsCles.setCollapsible(true);
63
		
72
		
64
		panneauPrincipalImage.add(ongletsImage,new BorderLayoutData(RegionPosition.CENTER));
73
		panneauPrincipalImage.add(ongletsImage,new BorderLayoutData(RegionPosition.CENTER));
65
		panneauPrincipalImage.add(detailsEtMotsCles,regionEst);
74
		panneauPrincipalImage.add(detailsEtMotsCles,regionEst);
66
		
75
		
67
	}
76
	}
68
	
77
	
69
	
78
	
70
 
79
 
71
	public ImageControleur getIControleur() {
80
	public ImageControleur getIControleur() {
72
		return iControleur;
81
		return iControleur;
73
	}
82
	}
74
 
83
 
75
	public Panel getPanneauPrincipalImage() {
84
	public Panel getPanneauPrincipalImage() {
76
		return panneauPrincipalImage;
85
		return panneauPrincipalImage;
77
	}
86
	}
78
 
87
 
79
	public TabPanel getOngletsImage() {
88
	public TabPanel getOngletsImage() {
80
		return ongletsImage;
89
		return ongletsImage;
81
	}
90
	}
82
 
91
 
83
	public GalerieImageVue getGalerieImage() {
92
	public GalerieImageVue getGalerieImage() {
84
		return galerieImage;
93
		return galerieImage;
85
	}
94
	}
86
 
95
 
87
	public ListeImageVue getListeImage() {
96
	public ListeImageVue getListeImage() {
88
		return listeImage;
97
		return listeImage;
89
	}
98
	}
90
 
99
 
91
	public ZoomImageVue getZoomImage() {
100
	public ZoomImageVue getZoomImage() {
92
		return zoomImage;
101
		return zoomImage;
93
	}
102
	}
94
 
103
 
95
	public Panel getDetailsEtMotsCles() {
104
	public Panel getDetailsEtMotsCles() {
96
		return detailsEtMotsCles;
105
		return detailsEtMotsCles;
97
	}
106
	}
-
 
107
	
-
 
108
	public void synchroniserZoomListeGalerie(Object o, Rafraichissable r)
-
 
109
	{
-
 
110
		if(r != getGalerieImage())
-
 
111
		{
-
 
112
			getGalerieImage().rafraichir(o);
-
 
113
		}
-
 
114
		if(r != getZoomImage())
-
 
115
		{
-
 
116
			getZoomImage().rafraichir(o);
-
 
117
		}
-
 
118
		if(r != getListeImage())
-
 
119
		{
-
 
120
			getListeImage().rafraichir(o);
-
 
121
		}
-
 
122
	}
-
 
123
	
-
 
124
	
-
 
125
	public void ObtenirPhotoGalerie(Rafraichissable r)
-
 
126
	{
-
 
127
		getIControleur().obtenirPhotoGalerie(r) ;
-
 
128
	}
-
 
129
	
-
 
130
	public void ClicGalerieImage(int index, Element node,
-
 
131
			EventObject e)
-
 
132
	{
-
 
133
		Record rd = getGalerieImage().getDView().getRecord(node) ;
-
 
134
		String imgUrl = rd.getAsString("url_image"); 
-
 
135
		
-
 
136
		getZoomImage().rafraichir(imgUrl);
-
 
137
		
-
 
138
		if(DOM.eventGetType(e.getBrowserEvent()) == Event.ONDBLCLICK)
-
 
139
		{
-
 
140
			getOngletsImage().setActiveTab(1);
-
 
141
		}
-
 
142
	}
-
 
143
	
-
 
144
	public void DoubleClicZoomImage()
-
 
145
	{
-
 
146
		getOngletsImage().setActiveTab(0);
-
 
147
	}
-
 
148
	
-
 
149
	public void ClicBoutonZoomImage(String arg)
-
 
150
	{
-
 
151
		
-
 
152
		DataView dv = getGalerieImage().getDView();
-
 
153
		Store st = getGalerieImage().getSt();
-
 
154
		Record nRec = null ;
-
 
155
		
-
 
156
		final int selected = st.indexOf(dv.getSelectedRecords()[0]);
-
 
157
		int storeIndex = dv.indexOf(selected);
-
 
158
		
-
 
159
		
-
 
160
		if(arg.equals("prev"))
-
 
161
		{
-
 
162
			// si la photo séléctionnée est la première, on passe à la
-
 
163
			// dernière
-
 
164
			if (selected == 0) {
-
 
165
				storeIndex = st.getCount() - 1 ;
-
 
166
				nRec = st.getAt(storeIndex);
-
 
167
	
-
 
168
			} 
-
 
169
			else 
-
 
170
			{
-
 
171
				storeIndex = storeIndex - 1 ;
-
 
172
				nRec = st.getAt(storeIndex);
-
 
173
			}
-
 
174
			
-
 
175
			
-
 
176
		}
-
 
177
		
-
 
178
		if(arg.equals("suiv"))
-
 
179
		{
-
 
180
			// si la photo selectionnée est la dernière on passe à la
-
 
181
			// première
-
 
182
			if (selected == st.getCount() - 1) {
-
 
183
				
-
 
184
				storeIndex = 0 ;
-
 
185
				nRec = st.getAt(0);
-
 
186
			} 
-
 
187
			else 
-
 
188
			{
-
 
189
				storeIndex = storeIndex + 1 ;
-
 
190
				nRec = st.getAt(storeIndex);
-
 
191
			}
-
 
192
		}
-
 
193
		
-
 
194
		if(nRec != null)
-
 
195
		{
-
 
196
			getZoomImage().rafraichir(nRec.getAsString("url_image"));
-
 
197
			dv.select(storeIndex);
-
 
198
		}
-
 
199
	}
98
	
200
	
99
 
201
 
100
}
202
}