Subversion Repositories eFlore/Applications.coel

Rev

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

Rev Author Line No. Line
700 gduche 1
package org.tela_botanica.client.composants;
2
 
3
import java.util.HashMap;
4
 
5
import org.tela_botanica.client.Mediateur;
6
import org.tela_botanica.client.images.Images;
7
import org.tela_botanica.client.vues.ContenuVue;
8
 
9
import com.extjs.gxt.ui.client.event.ButtonEvent;
10
import com.extjs.gxt.ui.client.event.SelectionListener;
11
import com.extjs.gxt.ui.client.widget.LayoutContainer;
12
import com.extjs.gxt.ui.client.widget.MessageBox;
13
import com.extjs.gxt.ui.client.widget.Text;
14
import com.extjs.gxt.ui.client.widget.button.Button;
15
import com.extjs.gxt.ui.client.widget.form.HiddenField;
16
import com.extjs.gxt.ui.client.widget.form.LabelField;
17
import com.extjs.gxt.ui.client.widget.form.TextField;
18
import com.extjs.gxt.ui.client.widget.layout.ColumnData;
19
import com.extjs.gxt.ui.client.widget.layout.ColumnLayout;
20
import com.extjs.gxt.ui.client.widget.layout.FormLayout;
21
import com.extjs.gxt.ui.client.widget.layout.RowLayout;
22
import com.google.gwt.core.client.GWT;
23
import com.google.gwt.user.client.ui.Image;
24
 
25
public class ChampMultiValeursImage extends ChampMultiValeurs {
26
 
27
	private String height, width;
28
	private LayoutContainer sousContenu = null;
29
 
30
	public ChampMultiValeursImage() {
31
		super(null, 0);
32
		initialiserSousContenu();
33
 
34
	}
35
 
36
	public ChampMultiValeursImage(String label) {
37
		super(label, 0);
38
		initialiserSousContenu();
39
	}
40
 
41
	public ChampMultiValeursImage(String label, int largeurTotale) {
42
		super(label, largeurTotale);
43
		initialiserSousContenu();
44
	}
45
 
46
	public void initialiserSousContenu()	{
47
		sousContenu = new LayoutContainer(new ColumnLayout());
48
		principalLayout.add(sousContenu);
49
	}
50
 
51
	public void setImageHeight(String height)	{
52
		this.height = height;
53
	}
54
 
55
	public void setImageWidth(String width)	{
56
		this.width = width;
57
	}
58
 
59
	public void ajouterValeur(final String strUrl) 	{
60
		System.out.println("ajouter " +strUrl);
61
		LayoutContainer lcUrl = new LayoutContainer();
62
		lcUrl.setLayout(new RowLayout());
63
		valeurs.put(strUrl, lcUrl);
64
 
65
		Image logo = new Image(strUrl);
66
		logo.setTitle(strUrl);
67
		if (height != null)	{
68
			logo.setHeight(height);
69
		}
70
 
71
		if (width != null)	{
72
			logo.setWidth(width);
73
		}
74
 
75
		lcUrl.add(logo);
76
 
77
		Button supprimerBouton = new Button();
78
		supprimerBouton.setIcon(Images.ICONES.supprimer());
79
		supprimerBouton.setData("valeur", strUrl);
80
		supprimerBouton.addSelectionListener(new SelectionListener<ButtonEvent>() {
81
			public void componentSelected(ButtonEvent ce) {
82
				String valeur = ce.getComponent().getData("valeur");
83
				LayoutContainer valeurLayout = valeurs.get(valeur);
84
				principalLayout.remove(valeurLayout);
85
 
86
				valeurs.remove(valeur);
87
 
88
				supprimerValeurDuRecapitulatif(valeur);
89
 
90
				actualiserLayoutGlobal();
91
			}
92
		});
93
		lcUrl.add(supprimerBouton);
94
 
95
		// Ajout du layout de la valeur au layout principal
96
		sousContenu.add(lcUrl);
97
 
98
		// Ajout de la valeur au champ récapitulatif des valeurs ajoutées
99
		ajouterValeurAuRecapitulatif(strUrl);
100
		reinitialiserChamp();
101
		actualiserLayoutGlobal();
102
	}
103
 
104
	private void reinitialiserChamp()	{
105
		champTexte.setValue(valeurParDefaut);
106
	}
107
 
108
	private void actualiserLayoutGlobal() {
109
		GWT.log("Valeurs : "+getValeurs(), null);
110
		layout();
111
	}
112
 
113
 
114
}