Subversion Repositories eFlore/Applications.del

Rev

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

Rev 161 Rev 197
1
package org.tela_botanica.del.client.composants.presenteur;
1
package org.tela_botanica.del.client.composants.presenteur;
-
 
2
 
-
 
3
import com.google.gwt.event.dom.client.ClickEvent;
-
 
4
import com.google.gwt.event.dom.client.ClickHandler;
2
 
5
import com.google.gwt.user.client.ui.Button;
-
 
6
import com.google.gwt.user.client.ui.Composite;
3
import com.google.gwt.user.client.ui.Composite;
7
import com.google.gwt.user.client.ui.HTMLPanel;
-
 
8
import com.google.gwt.user.client.ui.HasWidgets;
-
 
9
import com.google.gwt.user.client.ui.Panel;
4
import com.google.gwt.user.client.ui.HasWidgets;
10
import com.google.gwt.user.client.ui.RootPanel;
5
 
11
 
6
public abstract class Presenteur {
12
public abstract class Presenteur {
7
 
13
 
8
	private Composite vue;
14
	private Composite vue;
-
 
15
	private Panel overlay;
-
 
16
	private Panel overlayContenu;
9
 
17
 
10
	// Constructeur
18
	// Constructeur
11
	public Presenteur(Composite vue) {
19
	public Presenteur(Composite vue) {
12
		this.vue = vue;
20
		this.vue = vue;
-
 
21
 
13
	}
22
	}
14
 
23
 
15
	// Afficheur
24
	// Afficheur
16
	public void go() {
25
	public void go() {
17
		go(null);
26
		go(null);
18
	}
27
	}
19
 
28
 
20
	public abstract void go(HasWidgets composite);
29
	public abstract void go(HasWidgets composite);
21
 
30
 
22
	// Gestion des évènements
31
	// Gestion des évènements
23
	protected abstract void handleEvents();
32
	protected abstract void handleEvents();
24
 
33
 
25
	protected Composite getVue() {
34
	protected Composite getVue() {
26
		return this.vue;
35
		return this.vue;
27
	}
36
	}
-
 
37
 
-
 
38
	public void ouvrirFenetreModale(Presenteur presenteurModal) {
-
 
39
 
-
 
40
		overlay = new HTMLPanel("");
-
 
41
		overlay.setStyleName("overlay");
-
 
42
		overlay.setVisible(false);
-
 
43
		RootPanel.get().add(overlay);
-
 
44
 
-
 
45
		overlayContenu = new HTMLPanel("");
-
 
46
		overlayContenu.setStyleName("overlayContenu");
-
 
47
 
-
 
48
		Button boutonFermer = new Button("Fermer");
-
 
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
	}
28
}
70
}