Subversion Repositories eFlore/Archives.cel-v2

Rev

Rev 16 | Rev 28 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
4 aperonnet 1
package org.tela_botanica.client.vues;
2
 
3
 
4
import org.tela_botanica.client.image.ImageMediateur;
5
import org.tela_botanica.client.interfaces.Rafraichissable;
6
 
7
 
5 aperonnet 8
import com.google.gwt.user.client.DOM;
9
import com.google.gwt.user.client.Event;
10
import com.google.gwt.user.client.Window;
11
import com.google.gwt.user.client.ui.ClickListener;
4 aperonnet 12
import com.google.gwt.user.client.ui.Image;
5 aperonnet 13
import com.google.gwt.user.client.ui.Widget;
4 aperonnet 14
import com.gwtext.client.core.RegionPosition;
15
import com.gwtext.client.widgets.Button;
16
import com.gwtext.client.widgets.Panel;
17
import com.gwtext.client.widgets.layout.BorderLayout;
18
import com.gwtext.client.widgets.layout.BorderLayoutData;
19
 
20
public class ZoomImageVue extends Panel implements Rafraichissable {
21
 
22
	private ImageMediateur iMediateur = null ;
23
	private Image image = null ;
24
	private final com.google.gwt.user.client.ui.Button prev = new com.google.gwt.user.client.ui.Button("<");
25
	private final com.google.gwt.user.client.ui.Button suiv = new com.google.gwt.user.client.ui.Button(">");
26
 
27
	public ZoomImageVue(ImageMediateur im)
28
	{
29
		super("Zoom");
30
 
31
		iMediateur = im ;
5 aperonnet 32
		image = new Image() {
33
			public void onBrowserEvent(Event event) {
34
				if (Event.ONDBLCLICK == DOM.eventGetType(event)) {
35
 
12 aperonnet 36
					getIMediateur().doubleClicZoomImage();
5 aperonnet 37
				}
38
			}
39
		};
40
 
41
		image.sinkEvents(Event.ONDBLCLICK);
4 aperonnet 42
 
22 aperonnet 43
		image.setUrl("vide.jpg");
5 aperonnet 44
 
4 aperonnet 45
		this.setLayout(new BorderLayout());
46
 
47
		prev.setWidth("5%");
48
		suiv.setWidth("5%");
49
 
50
		this.add(prev,new BorderLayoutData(RegionPosition.WEST));
51
		this.add(image,new BorderLayoutData(RegionPosition.CENTER));
52
		this.add(suiv,new BorderLayoutData(RegionPosition.EAST));
5 aperonnet 53
 
54
		ajouterListenersBoutons();
4 aperonnet 55
	}
56
 
57
 
16 aperonnet 58
	public void rafraichir(Object nouvelleDonnees, boolean repandreRafraichissement) {
4 aperonnet 59
 
5 aperonnet 60
		if(nouvelleDonnees instanceof String)
61
		{
62
			getImage().setUrl((String)nouvelleDonnees);
63
		}
22 aperonnet 64
		else
65
		{
66
			getImage().setUrl("/images/vide.jpeg") ;
67
		}
4 aperonnet 68
	}
5 aperonnet 69
 
22 aperonnet 70
	public void desactiverPanneau()
71
	{
72
		getImage().setUrl("/images/vide.jpeg") ;
73
		prev.setEnabled(false) ;
74
		suiv.setEnabled(false);
75
	}
76
 
77
	public void activerPanneau()
78
	{
79
		prev.setEnabled(true);
80
		suiv.setEnabled(true);
81
	}
82
 
83
 
5 aperonnet 84
	public void ajouterListenersBoutons()
85
	{
86
		prev.addClickListener(new ClickListener() {
4 aperonnet 87
 
5 aperonnet 88
			public void onClick(Widget sender) {
89
 
12 aperonnet 90
				getIMediateur().clicBoutonZoomImage("prev");
5 aperonnet 91
			}
92
 
93
		});
94
 
95
		suiv.addClickListener(new ClickListener() {
96
 
97
			public void onClick(Widget sender) {
98
 
99
 
12 aperonnet 100
				getIMediateur().clicBoutonZoomImage("suiv");
5 aperonnet 101
			}
102
 
103
		});
104
	}
105
 
106
 
107
	public ImageMediateur getIMediateur() {
108
		return iMediateur;
109
	}
110
 
111
 
112
	public Image getImage() {
113
		return image;
114
	}
115
 
116
 
117
	public com.google.gwt.user.client.ui.Button getPrev() {
118
		return prev;
119
	}
120
 
121
 
122
	public com.google.gwt.user.client.ui.Button getSuiv() {
123
		return suiv;
124
	}
125
 
4 aperonnet 126
}