Subversion Repositories eFlore/Applications.coel

Rev

Rev 1415 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
913 jpm 1
package org.tela_botanica.client.vues.accueil;
2
 
1165 jpm 3
import org.tela_botanica.client.Mediateur;
913 jpm 4
import org.tela_botanica.client.util.Debug;
5
 
6
import com.extjs.gxt.ui.client.Style.Scroll;
7
import com.extjs.gxt.ui.client.event.IconButtonEvent;
8
import com.extjs.gxt.ui.client.event.SelectionListener;
9
import com.extjs.gxt.ui.client.widget.button.ToolButton;
10
import com.extjs.gxt.ui.client.widget.custom.Portlet;
11
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
12
 
13
abstract public class Applette extends Portlet {
14
 
1165 jpm 15
	protected Mediateur mediateur = null;
16
 
913 jpm 17
	private ToolButton epingleBouton = null;
18
	private ToolButton configurationBouton = null;
19
	private ToolButton fermetureBouton = null;
20
 
1165 jpm 21
	protected void initialiserApplette(Mediateur mediateurCourrant) {
22
		initialiserApplette(mediateurCourrant, null);
913 jpm 23
	}
24
 
1165 jpm 25
	protected void initialiserApplette(Mediateur mediateurCourrant, String titre) {
26
		mediateur = mediateurCourrant;
27
 
913 jpm 28
		setLayout(new FitLayout());
29
		setHeight(250);
30
		setCollapsible(true);
31
		setAnimCollapse(true);
32
		setScrollMode(Scroll.AUTO);
33
		setTitre(titre);
34
 
35
		configurationBouton  = new ToolButton("x-tool-gear");
36
		getHeader().addTool(configurationBouton);
37
 
38
		epingleBouton  = getBoutonEpingle();
39
		getHeader().addTool(epingleBouton);
40
 
41
		fermetureBouton = getBoutonFermeture();
42
		getHeader().addTool(fermetureBouton);
43
	}
44
 
45
	private ToolButton getBoutonEpingle() {
46
		ToolButton bouton = new ToolButton("x-tool-pin", new SelectionListener<IconButtonEvent>() {
47
			@Override
48
			public void componentSelected(IconButtonEvent ce) {
49
				setEpingler(!isPinned());
50
			}
51
		});
52
		return bouton;
53
	}
54
 
55
	private ToolButton getBoutonFermeture() {
56
		ToolButton bouton = new ToolButton("x-tool-close", new SelectionListener<IconButtonEvent>() {
57
			@Override
58
			public void componentSelected(IconButtonEvent ce) {
59
				removeFromParent();
60
			}
61
		});
62
		return bouton;
63
	}
64
 
65
	public void setTitre(String titre) {
66
		if (titre != null) {
1680 raphael 67
			setHeadingHtml(titre);
913 jpm 68
		}
69
	}
70
 
71
	public void setEpingler(boolean epingler) {
72
		if (epingler) {
73
			epingleBouton.setStyleName("x-tool-unpin x-tool");
74
			setPinned(true);
75
		} else {
76
			epingleBouton.setStyleName("x-tool-pin x-tool");
77
			setPinned(false);
78
		}
1210 cyprien 79
		Debug.log("epingleBouton.getStyleName() = "+epingleBouton.getStyleName());
913 jpm 80
		layout();
81
	}
82
 
83
	protected void ajouterConfigurationListener(SelectionListener<IconButtonEvent> configurationListener) {
84
		configurationBouton.addSelectionListener(configurationListener);
85
	}
86
}