Subversion Repositories eFlore/Applications.coel

Rev

Rev 775 | Rev 782 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 775 Rev 781
Line 5... Line 5...
5
 
5
 
6
import org.tela_botanica.client.Mediateur;
6
import org.tela_botanica.client.Mediateur;
7
import org.tela_botanica.client.images.Images;
7
import org.tela_botanica.client.images.Images;
8
import org.tela_botanica.client.interfaces.Rafraichissable;
8
import org.tela_botanica.client.interfaces.Rafraichissable;
9
import org.tela_botanica.client.modeles.Information;
-
 
10
import org.tela_botanica.client.modeles.Personne;
-
 
11
import org.tela_botanica.client.modeles.PersonneListe;
9
import org.tela_botanica.client.modeles.Information;
12
import org.tela_botanica.client.modeles.Publication;
10
import org.tela_botanica.client.modeles.Publication;
13
import org.tela_botanica.client.modeles.PublicationListe;
11
import org.tela_botanica.client.modeles.PublicationListe;
Line 14... Line 12...
14
import org.tela_botanica.client.modeles.ValeurListe;
12
import org.tela_botanica.client.modeles.ValeurListe;
Line 23... Line 21...
23
import com.extjs.gxt.ui.client.store.ListStore;
21
import com.extjs.gxt.ui.client.store.ListStore;
24
import com.extjs.gxt.ui.client.store.Store;
22
import com.extjs.gxt.ui.client.store.Store;
25
import com.extjs.gxt.ui.client.store.StoreEvent;
23
import com.extjs.gxt.ui.client.store.StoreEvent;
26
import com.extjs.gxt.ui.client.widget.ContentPanel;
24
import com.extjs.gxt.ui.client.widget.ContentPanel;
27
import com.extjs.gxt.ui.client.widget.Info;
25
import com.extjs.gxt.ui.client.widget.Info;
28
import com.extjs.gxt.ui.client.widget.InfoConfig;
-
 
29
import com.extjs.gxt.ui.client.widget.button.Button;
26
import com.extjs.gxt.ui.client.widget.button.Button;
30
import com.extjs.gxt.ui.client.widget.button.ButtonBar;
27
import com.extjs.gxt.ui.client.widget.button.ButtonBar;
31
import com.extjs.gxt.ui.client.widget.form.ComboBox;
28
import com.extjs.gxt.ui.client.widget.form.ComboBox;
32
import com.extjs.gxt.ui.client.widget.form.FormPanel;
29
import com.extjs.gxt.ui.client.widget.form.FormPanel;
33
import com.extjs.gxt.ui.client.widget.form.ComboBox.TriggerAction;
30
import com.extjs.gxt.ui.client.widget.form.ComboBox.TriggerAction;
Line 35... Line 32...
35
import com.extjs.gxt.ui.client.widget.grid.ColumnData;
32
import com.extjs.gxt.ui.client.widget.grid.ColumnData;
36
import com.extjs.gxt.ui.client.widget.grid.ColumnModel;
33
import com.extjs.gxt.ui.client.widget.grid.ColumnModel;
37
import com.extjs.gxt.ui.client.widget.grid.Grid;
34
import com.extjs.gxt.ui.client.widget.grid.Grid;
38
import com.extjs.gxt.ui.client.widget.grid.GridCellRenderer;
35
import com.extjs.gxt.ui.client.widget.grid.GridCellRenderer;
39
import com.extjs.gxt.ui.client.widget.grid.GridSelectionModel;
36
import com.extjs.gxt.ui.client.widget.grid.GridSelectionModel;
40
import com.extjs.gxt.ui.client.widget.grid.HeaderGroupConfig;
-
 
41
import com.extjs.gxt.ui.client.widget.grid.RowNumberer;
37
import com.extjs.gxt.ui.client.widget.grid.RowNumberer;
42
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
38
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
43
import com.extjs.gxt.ui.client.widget.toolbar.SeparatorToolItem;
39
import com.extjs.gxt.ui.client.widget.toolbar.SeparatorToolItem;
44
import com.extjs.gxt.ui.client.widget.toolbar.ToolBar;
40
import com.extjs.gxt.ui.client.widget.toolbar.ToolBar;
45
import com.google.gwt.core.client.GWT;
41
import com.google.gwt.core.client.GWT;
Line 55... Line 51...
55
	private ComboBox<Publication> publicationsSaisiesComboBox = null;
51
	private ComboBox<Publication> publicationsSaisiesComboBox = null;
56
	private Button publicationsBoutonSupprimer = null;
52
	private Button publicationsBoutonSupprimer = null;
57
	private Button publicationsBoutonModifier = null;
53
	private Button publicationsBoutonModifier = null;
58
	private Button ajouterPublicationSaisieBouton = null;
54
	private Button ajouterPublicationSaisieBouton = null;
Line -... Line 55...
-
 
55
	
-
 
56
	private FenetreForm fenetreFormulaire = null;
59
	
57
	
60
	private static final String ETAT_AJOUTE = "A";
58
	private static final String ETAT_AJOUTE = "A";
Line 61... Line 59...
61
	private static final String ETAT_SUPPRIME = "S";
59
	private static final String ETAT_SUPPRIME = "S";
62
	
60
	
Line 132... Line 130...
132
		Button bouton = new Button(i18nC.ajouter());
130
		Button bouton = new Button(i18nC.ajouter());
133
		bouton.setIcon(Images.ICONES.vcardAjouter());
131
		bouton.setIcon(Images.ICONES.vcardAjouter());
134
		bouton.addSelectionListener(new SelectionListener<ButtonEvent>() {  
132
		bouton.addSelectionListener(new SelectionListener<ButtonEvent>() {  
135
			@Override  
133
			@Override  
136
			public void componentSelected(ButtonEvent ce) {  
134
			public void componentSelected(ButtonEvent ce) {  
137
				final FenetreForm fenetre = creerFenetreModaleAvecFormulairePersonne(Formulaire.MODE_AJOUTER);
135
				fenetreFormulaire = creerFenetreModaleAvecFormulairePersonne(Formulaire.MODE_AJOUTER);
138
				fenetre.show();
136
				fenetreFormulaire.show();
139
			}  
137
			}  
140
		});
138
		});
141
		return bouton;
139
		return bouton;
142
	}
140
	}
Line 150... Line 148...
150
				Publication publicationSaisieSelectionnee = grille.getSelectionModel().getSelectedItem();
148
				Publication publicationSaisieSelectionnee = grille.getSelectionModel().getSelectedItem();
Line 151... Line 149...
151
				
149
				
152
				if (publicationSaisieSelectionnee == null) {
150
				if (publicationSaisieSelectionnee == null) {
153
					Info.display(i18nC.informationTitreGenerique(), i18nC.selectionnerPublication());
151
					Info.display(i18nC.informationTitreGenerique(), i18nC.selectionnerPublication());
154
				} else {
152
				} else {
155
					final FenetreForm fenetre = creerFenetreModaleAvecFormulairePersonne(Formulaire.MODE_MODIFIER);
153
					fenetreFormulaire = creerFenetreModaleAvecFormulairePersonne(Formulaire.MODE_MODIFIER);
156
					fenetre.show();
154
					fenetreFormulaire.show();
157
				}
155
				}
158
			}  
156
			}  
159
		});
157
		});
160
		return bouton;
158
		return bouton;
Line 161... Line 159...
161
	}
159
	}
-
 
160
	
-
 
161
	private FenetreForm creerFenetreModaleAvecFormulairePersonne(String mode) {
-
 
162
		String publicationId = null;
-
 
163
		if (mode.equals(Formulaire.MODE_MODIFIER)) {
-
 
164
			Publication publicationSaisiSelectionne = grille.getSelectionModel().getSelectedItem();
-
 
165
			publicationId = publicationSaisiSelectionne.getId();
162
	
166
		}
163
	private FenetreForm creerFenetreModaleAvecFormulairePersonne(String mode) {
167
		
164
		final FenetreForm fenetre = new FenetreForm("");
168
		final FenetreForm fenetre = new FenetreForm("");
165
		final PublicationForm formulaire = creerFormulairePublication(fenetre, mode);
169
		final PublicationForm formulaire = creerFormulairePublication(fenetre, publicationId);
166
		fenetre.add(formulaire);
170
		fenetre.add(formulaire);
Line 167... Line 171...
167
		return fenetre;
171
		return fenetre;
168
	}
172
	}
169
	
173
	
170
	private PublicationForm creerFormulairePublication(final FenetreForm fenetre, final String mode) {
174
	private PublicationForm creerFormulairePublication(final FenetreForm fenetre, final String publicationId) {
171
		PublicationForm formulairePublication = new PublicationForm(mediateur, mode);
175
		PublicationForm formulairePublication = new PublicationForm(mediateur, publicationId);
172
		FormPanel panneauFormulaire = formulairePublication.getFormulaire();
176
		FormPanel panneauFormulaire = formulairePublication.getFormulaire();
Line 173... Line 177...
173
		fenetre.setHeading(panneauFormulaire.getHeading());
177
		fenetre.setHeading(panneauFormulaire.getHeading());
174
		panneauFormulaire.setHeaderVisible(false);
178
		panneauFormulaire.setHeaderVisible(false);
175
		panneauFormulaire.setTopComponent(null);
179
		panneauFormulaire.setTopComponent(null);
176
 
180
 
Line 177... Line -...
177
		// TODO : gérer la barre d'outil avec des évènements spécifique au contexte de fenêtre modale
-
 
178
		SelectionListener<ButtonEvent> ecouteur = creerEcouteurValidationFormulairePublication(fenetre, formulairePublication);
-
 
179
		final ButtonBar barreValidation = new FormulaireBarreValidation(ecouteur);
-
 
180
		panneauFormulaire.setBottomComponent(barreValidation);
-
 
181
		
-
 
182
		if (mode.equals(Formulaire.MODE_MODIFIER)) {
181
		// TODO : gérer la barre d'outil avec des évènements spécifique au contexte de fenêtre modale
183
			Publication publicationSaisiSelectionne = grille.getSelectionModel().getSelectedItem();
182
		SelectionListener<ButtonEvent> ecouteur = creerEcouteurValidationFormulairePublication(fenetre, formulairePublication);
Line 184... Line 183...
184
			formulairePublication.rafraichir(publicationSaisiSelectionne);
183
		final ButtonBar barreValidation = new FormulaireBarreValidation(ecouteur);
185
		}
184
		panneauFormulaire.setBottomComponent(barreValidation);
186
		
185
		
187
		return formulairePublication;
186
		return formulairePublication;
188
	}
187
	}
189
	
188
	
190
	private SelectionListener<ButtonEvent> creerEcouteurValidationFormulairePublication(final FenetreForm fenetre, final PublicationForm formulaire) {
189
	private SelectionListener<ButtonEvent> creerEcouteurValidationFormulairePublication(final FenetreForm fenetre, final PublicationForm formulaire) {
191
		SelectionListener<ButtonEvent> ecouteur = new SelectionListener<ButtonEvent>() {
190
		SelectionListener<ButtonEvent> ecouteur = new SelectionListener<ButtonEvent>() {
192
			@Override
191
			@Override
193
			public void componentSelected(ButtonEvent ce) {
192
			public void componentSelected(ButtonEvent ce) {
194
				String code = ((Button) ce.getComponent()).getData("code");
193
				String code = ((Button) ce.getComponent()).getData("code");
195
				if (code.equals(FormulaireBarreValidation.CODE_BOUTON_VALIDER)) {
194
				if (code.equals(FormulaireBarreValidation.CODE_BOUTON_VALIDER)) {
196
					formulaire.soumettreFormulaire();
195
					formulaire.soumettreFormulaire(renvoyerCollectionFormPublication());
-
 
196
					fenetre.hide();
-
 
197
				} else if (code.equals(FormulaireBarreValidation.CODE_BOUTON_APPLIQUER)) {
197
					fenetre.hide();
198
					formulaire.soumettreFormulaire(renvoyerCollectionFormPublication());
198
				} else if (code.equals(FormulaireBarreValidation.CODE_BOUTON_APPLIQUER)) {
199
				} else if (code.equals(FormulaireBarreValidation.CODE_BOUTON_ANNULER)) {
199
					formulaire.soumettreFormulaire();
200
					fenetre.hide();
200
				} else if (code.equals(FormulaireBarreValidation.CODE_BOUTON_ANNULER)) {
201
				} else if (code.equals(FormulaireBarreValidation.CODE_BOUTON_REINITIALISER)) {
Line 201... Line 202...
201
					fenetre.hide();
202
					fenetreFormulaire.hide();
202
				} else if (code.equals(FormulaireBarreValidation.CODE_BOUTON_REINITIALISER)) {
203
					fenetreFormulaire = creerFenetreModaleAvecFormulairePersonne(formulaire.mode);
Line -... Line 204...
-
 
204
					fenetreFormulaire.show();
-
 
205
				}
-
 
206
			}
-
 
207
		};
203
					formulaire.reinitialiserFormulaire();
208
		
204
				}
209
		return ecouteur;
205
			}
210
	}
206
		};
211
	
207
		
212
	private CollectionFormPublication renvoyerCollectionFormPublication() {