Subversion Repositories eFlore/Applications.del

Rev

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

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