Subversion Repositories eFlore/Applications.del

Rev

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.HasWidgets;
197 gduche 7
import com.google.gwt.user.client.ui.Panel;
8
import com.google.gwt.user.client.ui.RootPanel;
161 gduche 9
 
10
public abstract class Presenteur {
11
 
197 gduche 12
	private Panel overlay;
13
	private Panel overlayContenu;
221 gduche 14
	private PresenteurVue presenteurVue;
252 aurelien 15
	private boolean fenetreModaleOuverte = false;
161 gduche 16
 
17
	// Constructeur
293 gduche 18
	public Presenteur() {
453 aurelien 19
 
161 gduche 20
	}
21
 
22
	// Afficheur
23
	public void go() {
24
		go(null);
25
	}
26
 
27
	public abstract void go(HasWidgets composite);
28
 
29
	// Gestion des évènements
220 gduche 30
	protected abstract void gererEvenements();
161 gduche 31
 
197 gduche 32
	public void ouvrirFenetreModale(Presenteur presenteurModal) {
453 aurelien 33
		presenteurVue = new PresenteurVue();
221 gduche 34
		overlay = presenteurVue.overlay;
197 gduche 35
		overlay.setStyleName("overlay");
36
		overlay.setVisible(false);
37
		RootPanel.get().add(overlay);
38
 
221 gduche 39
		overlayContenu = presenteurVue.overlayContenu;
197 gduche 40
		overlayContenu.setStyleName("overlayContenu");
41
 
221 gduche 42
		Button boutonFermer = presenteurVue.boutonFermer;
197 gduche 43
		boutonFermer.setStyleName("fermerOverlay");
44
		boutonFermer.addClickHandler(new ClickHandler() {
45
 
46
			public void onClick(ClickEvent event) {
47
				fermerFenetreModale();
48
			}
49
		});
50
 
51
		presenteurModal.go(overlayContenu);
52
 
53
		RootPanel.get().add(overlayContenu);
54
		overlayContenu.setVisible(true);
55
 
56
		overlayContenu.add(boutonFermer);
57
		overlay.setVisible(true);
252 aurelien 58
 
59
		fenetreModaleOuverte = true;
197 gduche 60
	}
252 aurelien 61
 
62
	public boolean fenetreModaleEstOuverte() {
63
		return fenetreModaleOuverte;
64
	}
197 gduche 65
 
66
	public void fermerFenetreModale() {
252 aurelien 67
		overlay.clear();
68
		overlayContenu.clear();
197 gduche 69
		RootPanel.get().remove(overlay);
70
		RootPanel.get().remove(overlayContenu);
252 aurelien 71
		fenetreModaleOuverte = false;
197 gduche 72
	}
161 gduche 73
}