Subversion Repositories eFlore/Applications.del

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
161 gduche 1
package org.tela_botanica.del.client.composants.presenteur;
2
 
197 gduche 3
import com.google.gwt.event.dom.client.ClickEvent;
4
import com.google.gwt.event.dom.client.ClickHandler;
5
import com.google.gwt.user.client.ui.Button;
161 gduche 6
import com.google.gwt.user.client.ui.Composite;
7
import com.google.gwt.user.client.ui.HasWidgets;
197 gduche 8
import com.google.gwt.user.client.ui.Panel;
9
import com.google.gwt.user.client.ui.RootPanel;
161 gduche 10
 
11
public abstract class Presenteur {
12
 
13
	private Composite vue;
197 gduche 14
	private Panel overlay;
15
	private Panel overlayContenu;
221 gduche 16
	private PresenteurVue presenteurVue;
161 gduche 17
 
18
	// Constructeur
19
	public Presenteur(Composite vue) {
221 gduche 20
		presenteurVue = new PresenteurVue();
161 gduche 21
		this.vue = vue;
22
	}
23
 
24
	// Afficheur
25
	public void go() {
26
		go(null);
27
	}
28
 
29
	public abstract void go(HasWidgets composite);
30
 
31
	// Gestion des évènements
220 gduche 32
	protected abstract void gererEvenements();
161 gduche 33
 
34
	protected Composite getVue() {
35
		return this.vue;
36
	}
197 gduche 37
 
38
	public void ouvrirFenetreModale(Presenteur presenteurModal) {
39
 
221 gduche 40
		overlay = presenteurVue.overlay;
197 gduche 41
		overlay.setStyleName("overlay");
42
		overlay.setVisible(false);
43
		RootPanel.get().add(overlay);
44
 
221 gduche 45
		overlayContenu = presenteurVue.overlayContenu;
197 gduche 46
		overlayContenu.setStyleName("overlayContenu");
47
 
221 gduche 48
		Button boutonFermer = presenteurVue.boutonFermer;
197 gduche 49
		boutonFermer.setStyleName("fermerOverlay");
50
		boutonFermer.addClickHandler(new ClickHandler() {
51
 
52
			public void onClick(ClickEvent event) {
53
				fermerFenetreModale();
54
			}
55
		});
56
 
57
		presenteurModal.go(overlayContenu);
58
 
59
		RootPanel.get().add(overlayContenu);
60
		overlayContenu.setVisible(true);
61
 
62
		overlayContenu.add(boutonFermer);
63
		overlay.setVisible(true);
64
	}
65
 
66
	public void fermerFenetreModale() {
67
		RootPanel.get().remove(overlay);
68
		RootPanel.get().remove(overlayContenu);
69
	}
161 gduche 70
}