Subversion Repositories eFlore/Applications.coel

Rev

Rev 1767 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1767 Rev 1775
Line 1... Line 1...
1
package org.tela_botanica.client.vues;
1
package org.tela_botanica.client.vues;
Line 2... Line 2...
2
 
2
 
3
import org.tela_botanica.client.ComposantId;
3
import org.tela_botanica.client.ComposantId;
4
import org.tela_botanica.client.Mediateur;
-
 
5
import org.tela_botanica.client.RegistreId;
4
import org.tela_botanica.client.Mediateur;
6
import org.tela_botanica.client.composants.InfoLogger;
5
import org.tela_botanica.client.composants.InfoLogger;
7
import org.tela_botanica.client.i18n.Constantes;
6
import org.tela_botanica.client.i18n.Constantes;
8
import org.tela_botanica.client.i18n.ErrorMessages;
7
import org.tela_botanica.client.i18n.ErrorMessages;
9
import org.tela_botanica.client.images.Images;
8
import org.tela_botanica.client.images.Images;
10
import org.tela_botanica.client.interfaces.Rafraichissable;
9
import org.tela_botanica.client.interfaces.Rafraichissable;
11
import org.tela_botanica.client.modeles.Information;
10
import org.tela_botanica.client.modeles.Information;
12
import org.tela_botanica.client.modeles.Utilisateur;
11
import org.tela_botanica.client.modeles.Utilisateur;
Line 13... Line -...
13
import org.tela_botanica.client.util.Debug;
-
 
14
 
12
import org.tela_botanica.client.util.Debug;
15
import com.extjs.gxt.ui.client.Registry;
-
 
16
import com.extjs.gxt.ui.client.Style;
13
 
17
import com.extjs.gxt.ui.client.Style.Direction;
14
import com.extjs.gxt.ui.client.Style;
-
 
15
import com.extjs.gxt.ui.client.Style.Orientation;
-
 
16
import com.extjs.gxt.ui.client.event.ButtonEvent;
18
import com.extjs.gxt.ui.client.Style.Orientation;
17
import com.extjs.gxt.ui.client.event.Events;
19
import com.extjs.gxt.ui.client.event.ButtonEvent;
18
import com.extjs.gxt.ui.client.event.Listener;
20
import com.extjs.gxt.ui.client.event.MenuEvent;
-
 
21
import com.extjs.gxt.ui.client.event.SelectionListener;
19
import com.extjs.gxt.ui.client.event.MenuEvent;
22
import com.extjs.gxt.ui.client.fx.FxConfig;
20
import com.extjs.gxt.ui.client.event.SelectionListener;
23
import com.extjs.gxt.ui.client.util.Format;
-
 
24
import com.extjs.gxt.ui.client.util.Params;
21
import com.extjs.gxt.ui.client.util.Format;
25
import com.extjs.gxt.ui.client.widget.ContentPanel;
-
 
26
import com.extjs.gxt.ui.client.widget.HtmlContainer;
22
import com.extjs.gxt.ui.client.util.Params;
27
import com.extjs.gxt.ui.client.widget.Info;
23
import com.extjs.gxt.ui.client.widget.HtmlContainer;
28
import com.extjs.gxt.ui.client.widget.LayoutContainer;
24
import com.extjs.gxt.ui.client.widget.LayoutContainer;
29
import com.extjs.gxt.ui.client.widget.button.Button;
25
import com.extjs.gxt.ui.client.widget.button.Button;
30
import com.extjs.gxt.ui.client.widget.button.ButtonBar;
26
import com.extjs.gxt.ui.client.widget.button.ButtonBar;
31
import com.extjs.gxt.ui.client.widget.button.SplitButton;
27
import com.extjs.gxt.ui.client.widget.button.SplitButton;
32
import com.extjs.gxt.ui.client.widget.layout.RowData;
28
import com.extjs.gxt.ui.client.widget.layout.RowData;
33
import com.extjs.gxt.ui.client.widget.layout.RowLayout;
29
import com.extjs.gxt.ui.client.widget.layout.RowLayout;
34
import com.extjs.gxt.ui.client.widget.menu.Menu;
30
import com.extjs.gxt.ui.client.widget.menu.Menu;
35
import com.extjs.gxt.ui.client.widget.menu.MenuItem;
-
 
Line 36... Line 31...
36
import com.google.gwt.user.client.ui.Image;
31
import com.extjs.gxt.ui.client.widget.menu.MenuItem;
Line 37... Line 32...
37
import com.google.gwt.user.client.ui.ListBox;
32
import com.google.gwt.user.client.Window;
38
 
33
 
Line 47... Line 42...
47
	
42
	
48
	private HtmlContainer conteneurHtml = null;
43
	private HtmlContainer conteneurHtml = null;
49
	private SelectionListener<ButtonEvent> boutonEcouteur = null;
44
	private SelectionListener<ButtonEvent> boutonEcouteur = null;
50
	private ButtonBar barreBoutons = null;
45
	private ButtonBar barreBoutons = null;
51
	private Button identificationBouton = null;
46
	private Button identificationBouton = null;
-
 
47
	//private SplitButton feedbackBouton = null;
52
	private SplitButton feedbackBouton = null;
48
	private Button contactBouton = null;
53
	private SplitButton aideBouton = null;
49
	private SplitButton aideBouton = null;
54
	private SplitButton applisBouton = null;
-
 
55
	
50
	private SplitButton applisBouton = null;
56
	
-
 
57
	
51
 
58
	public EnteteVue(Mediateur mediateurCourant) {
52
	public EnteteVue(Mediateur mediateurCourant) {
59
		mediateur = mediateurCourant;
53
		mediateur = mediateurCourant;
60
		i18nC = Mediateur.i18nC;
54
		i18nC = Mediateur.i18nC;
Line 64... Line 58...
64
		setLayout(new RowLayout(Orientation.HORIZONTAL));
58
		setLayout(new RowLayout(Orientation.HORIZONTAL));
65
		initialiserSquelettes();
59
		initialiserSquelettes();
66
		boutonEcouteur = getEcouteurDesBoutons();
60
		boutonEcouteur = getEcouteurDesBoutons();
67
		conteneurHtml = getIdentification();
61
		conteneurHtml = getIdentification();
68
		identificationBouton = getBoutonIdentification();
62
		identificationBouton = getBoutonIdentification();
69
		feedbackBouton = getBoutonAFeedback();
63
		//feedbackBouton = getBoutonAFeedback();
-
 
64
		contactBouton = getBoutonContact();
70
		aideBouton = getBoutonAide();
65
		aideBouton = getBoutonAide();
71
		applisBouton = getBoutonApplications();
66
		applisBouton = getBoutonApplications();
Line 72... Line 67...
72
		
67
		
73
		barreBoutons = new ButtonBar();
68
		barreBoutons = new ButtonBar();
74
		barreBoutons.setAlignment(Style.HorizontalAlignment.RIGHT);
69
		barreBoutons.setAlignment(Style.HorizontalAlignment.RIGHT);
75
		barreBoutons.add(conteneurHtml);
70
		barreBoutons.add(conteneurHtml);
76
		barreBoutons.add(identificationBouton);
71
		barreBoutons.add(identificationBouton);
77
		barreBoutons.add(aideBouton);
72
		barreBoutons.add(aideBouton);
-
 
73
		//barreBoutons.add(feedbackBouton);
78
		barreBoutons.add(feedbackBouton);
74
		barreBoutons.add(contactBouton);
Line 79... Line 75...
79
		barreBoutons.add(applisBouton);
75
		barreBoutons.add(applisBouton);
80
		
76
		
Line 98... Line 94...
98
		HtmlContainer conteneurHtml = new HtmlContainer();
94
		HtmlContainer conteneurHtml = new HtmlContainer();
Line 99... Line 95...
99
		
95
		
100
		conteneurHtml.setHtml(Format.substitute(identificationInfoTpl, (new Params()).add(i18nC.modeAnonyme())));
96
		conteneurHtml.setHtml(Format.substitute(identificationInfoTpl, (new Params()).add(i18nC.modeAnonyme())));
101
		return conteneurHtml;
97
		return conteneurHtml;
102
	}
98
	}
103
	
99
 
104
	private SelectionListener<ButtonEvent> getEcouteurDesBoutons() {
100
	private SelectionListener<ButtonEvent> getEcouteurDesBoutons() {
105
		SelectionListener<ButtonEvent> boutonEcouteur = new SelectionListener<ButtonEvent>() {  
101
		SelectionListener<ButtonEvent> boutonEcouteur = new SelectionListener<ButtonEvent>() {  
106
			public void componentSelected(ButtonEvent be) {  
102
			public void componentSelected(ButtonEvent be) {  
107
				Button btn = (Button) be.getComponent();
103
				Button btn = (Button) be.getComponent();
Line 128... Line 124...
128
				}
124
				}
129
			}  
125
			}  
130
		};
126
		};
131
		return boutonEcouteur;
127
		return boutonEcouteur;
132
	}
128
	}
133
	
129
 
134
	private Button getBoutonIdentification() {
130
	private Button getBoutonIdentification() {
135
		Button bouton = new Button(i18nC.identification(), boutonEcouteur);
131
		Button bouton = new Button(i18nC.identification(), boutonEcouteur);
136
		bouton.setId(ComposantId.BTN_CONNEXION);
132
		bouton.setId(ComposantId.BTN_CONNEXION);
137
		return bouton;
133
		return bouton;
138
	}
134
	}
139
	
135
 
140
	private SplitButton getBoutonAide() {
136
	private SplitButton getBoutonAide() {
141
		MenuItem menuDoc = new MenuItem(i18nC.doc());
137
		MenuItem menuDoc = new MenuItem(i18nC.doc());
142
		menuDoc.addSelectionListener(new SelectionListener<MenuEvent>() {  
138
		menuDoc.addSelectionListener(new SelectionListener<MenuEvent>() {  
143
			@Override
139
			@Override
144
			public void componentSelected(MenuEvent mEvent) {  
140
			public void componentSelected(MenuEvent mEvent) {  
145
				mediateur.ouvrirAide();
141
				mediateur.ouvrirAide();
146
			}  
142
			}  
147
		});
143
		});
148
		menuDoc.setId(ComposantId.MENU_DOC);
144
		menuDoc.setId(ComposantId.MENU_DOC);
149
		menuDoc.setIcon(Images.ICONES.aide());
-
 
150
		
145
 
151
		
-
 
152
		MenuItem menuApropos = new MenuItem(i18nC.apropos());
146
		MenuItem menuApropos = new MenuItem(i18nC.apropos());
153
		menuApropos.addSelectionListener(new SelectionListener<MenuEvent>() {  
147
		menuApropos.addSelectionListener(new SelectionListener<MenuEvent>() {  
154
			@Override
148
			@Override
155
			public void componentSelected(MenuEvent mEvent) {  
149
			public void componentSelected(MenuEvent mEvent) {  
156
				mediateur.ouvrirParametres();
150
				mediateur.ouvrirParametres();
157
			}  
151
			}  
158
		});
152
		});
159
		menuApropos.setId(ComposantId.MENU_APROPOS);
153
		menuApropos.setId(ComposantId.MENU_APROPOS);
-
 
154
 
-
 
155
		MenuItem fenetreJournal = new MenuItem("Journal de l'application");
-
 
156
		fenetreJournal.addSelectionListener(new SelectionListener<MenuEvent>() {  
-
 
157
			@Override
160
		menuApropos.setIcon(Images.ICONES.engrenages());
158
			public void componentSelected(MenuEvent mEvent) {  
-
 
159
				//Menu me = (Menu) mEvent.getComponent();
-
 
160
				//MenuItem mi = (MenuItem) me.getItemByItemId(ComposantId.MENU_COMMENTAIRE);
-
 
161
				//InfoLogger.display(Mediateur.i18nC.chargement(), i18nM.ouvertureLienExterne(mi.getHtml()));
-
 
162
				mediateur.ouvrirFenetreJournal();
-
 
163
			}
-
 
164
		});
161
		
165
 
162
		Menu menuAide = new Menu();
166
		Menu menuAide = new Menu();
163
		menuAide.add(menuDoc);
167
		menuAide.add(menuDoc);
164
		menuAide.add(menuApropos);
168
		menuAide.add(menuApropos);
-
 
169
		menuAide.add(fenetreJournal);
165
		
170
 
166
		SplitButton boutonAvecMenus = new SplitButton(i18nC.aide());
171
		SplitButton boutonAvecMenus = new SplitButton(i18nC.aide());
167
		boutonAvecMenus.setId(ComposantId.BTN_AIDE);
172
		boutonAvecMenus.setId(ComposantId.BTN_AIDE);
168
		boutonAvecMenus.setIcon(Images.ICONES.aide());
173
		boutonAvecMenus.setIcon(Images.ICONES.aide());
169
		boutonAvecMenus.addSelectionListener(boutonEcouteur);
174
		boutonAvecMenus.addSelectionListener(boutonEcouteur);
170
		boutonAvecMenus.setMenu(menuAide);
175
		boutonAvecMenus.setMenu(menuAide);
171
		return boutonAvecMenus;
176
		return boutonAvecMenus;
172
	}
177
	}
173
	
-
 
174
	private SplitButton getBoutonAFeedback() {
-
 
175
		MenuItem menuBogue = new MenuItem(i18nC.bogue());
-
 
176
		menuBogue.addSelectionListener(new SelectionListener<MenuEvent>() {  
-
 
177
			@Override
-
 
178
			public void componentSelected(MenuEvent mEvent) {  
-
 
179
				Menu me = (Menu) mEvent.getComponent();
-
 
180
				MenuItem mi = (MenuItem) me.getItemByItemId(ComposantId.MENU_BOGUE);
-
 
181
				InfoLogger.display(Mediateur.i18nC.chargement(), i18nM.ouvertureLienExterne(mi.getHtml()));
-
 
182
				mediateur.ouvrirUrlExterne(ComposantId.MENU_BOGUE);
-
 
183
			}  
-
 
184
		});
-
 
185
		menuBogue.setId(ComposantId.MENU_BOGUE);
-
 
186
		menuBogue.setIcon(Images.ICONES.bogue());
-
 
Line -... Line 178...
-
 
178
 
187
 
179
	private Button getBoutonContact() {
-
 
180
		Button menuContact = new Button(i18nC.contact());
188
		MenuItem menuCommentaire = new MenuItem(i18nC.remarques());
181
		menuContact.setId(ComposantId.MENU_CONTACT);
189
		menuCommentaire.addSelectionListener(new SelectionListener<MenuEvent>() {  
182
		menuContact.addListener(Events.OnClick, new Listener<ButtonEvent>() {  
190
			@Override
183
			@Override
191
			public void componentSelected(MenuEvent mEvent) {  
-
 
192
				Menu me = (Menu) mEvent.getComponent();
-
 
193
				MenuItem mi = (MenuItem) me.getItemByItemId(ComposantId.MENU_COMMENTAIRE);
-
 
194
				InfoLogger.display(Mediateur.i18nC.chargement(), i18nM.ouvertureLienExterne(mi.getHtml()));
184
			public void handleEvent(ButtonEvent mEvent) {
195
				mediateur.ouvrirUrlExterne(ComposantId.MENU_COMMENTAIRE);
185
				mediateur.ouvrirUrlExterne(ComposantId.MENU_CONTACT);
196
			}  
186
			}  
197
		});
187
		});
198
		menuCommentaire.setId(ComposantId.MENU_COMMENTAIRE);
188
		menuContact.setId(ComposantId.MENU_CONTACT);
Line 199... Line -...
199
		menuCommentaire.setIcon(Images.ICONES.commentaire());
-
 
200
 
-
 
201
		MenuItem fenetreJournal = new MenuItem("Journal de l'application");
-
 
202
		fenetreJournal.addSelectionListener(new SelectionListener<MenuEvent>() {  
-
 
203
			@Override
-
 
204
			public void componentSelected(MenuEvent mEvent) {  
-
 
205
				Menu me = (Menu) mEvent.getComponent();
-
 
206
				MenuItem mi = (MenuItem) me.getItemByItemId(ComposantId.MENU_COMMENTAIRE);
-
 
207
				//InfoLogger.display(Mediateur.i18nC.chargement(), i18nM.ouvertureLienExterne(mi.getHtml()));
-
 
208
				mediateur.ouvrirFenetreJournal();
-
 
209
			}
-
 
210
		});
-
 
211
		
-
 
212
		fenetreJournal.setIcon(Images.ICONES.newspaper());
-
 
213
		
-
 
214
		Menu menuFeedback = new Menu();
-
 
215
		menuFeedback.add(menuBogue);
-
 
216
		menuFeedback.add(menuCommentaire);
-
 
217
		menuFeedback.add(fenetreJournal);
-
 
218
		
-
 
219
		SplitButton boutonAvecMenus = new SplitButton(i18nC.feedback());
-
 
220
		boutonAvecMenus.setId(ComposantId.BTN_FEEDBACK);
-
 
221
		boutonAvecMenus.addSelectionListener(boutonEcouteur);
-
 
222
		boutonAvecMenus.setMenu(menuFeedback);
189
		menuContact.setIcon(Images.ICONES.flecheDedansDehors());
223
		boutonAvecMenus.setIcon(Images.ICONES.flecheDedansDehors());
190
 
224
		return boutonAvecMenus;
191
		return menuContact;
225
	}
192
	}
226
	
193
 
227
	private SplitButton getBoutonApplications() {
194
	private SplitButton getBoutonApplications() {
228
		MenuItem menuCel = new MenuItem(i18nC.cel());
195
		MenuItem menuCel = new MenuItem(i18nC.cel());
229
		menuCel.addSelectionListener(new SelectionListener<MenuEvent>() {  
196
		menuCel.addSelectionListener(new SelectionListener<MenuEvent>() {  
Line 234... Line 201...
234
				InfoLogger.display(i18nC.chargement(), i18nM.ouvertureAppliExterne(mi.getHtml()));
201
				InfoLogger.display(i18nC.chargement(), i18nM.ouvertureAppliExterne(mi.getHtml()));
235
				mediateur.ouvrirUrlExterne(ComposantId.MENU_CEL);
202
				mediateur.ouvrirUrlExterne(ComposantId.MENU_CEL);
236
			}  
203
			}  
237
		});
204
		});
238
		menuCel.setId(ComposantId.MENU_CEL);
205
		menuCel.setId(ComposantId.MENU_CEL);
239
		menuCel.setIcon(Images.ICONES.images());
-
 
240
		
206
 
241
		Menu menu = new Menu();
207
		Menu menu = new Menu();
242
		menu.add(menuCel);
208
		menu.add(menuCel);
243
		
209
 
244
		SplitButton boutonAvecMenus = new SplitButton(i18nC.applicationExterne());
210
		SplitButton boutonAvecMenus = new SplitButton(i18nC.applicationExterne());
245
		boutonAvecMenus.setId(ComposantId.BTN_APPLIS);
211
		boutonAvecMenus.setId(ComposantId.BTN_APPLIS);
246
		boutonAvecMenus.addSelectionListener(boutonEcouteur);
212
		boutonAvecMenus.addSelectionListener(boutonEcouteur);
247
		boutonAvecMenus.setMenu(menu);
213
		boutonAvecMenus.setMenu(menu);
248
		boutonAvecMenus.setIcon(Images.ICONES.flecheBascule());
214
		boutonAvecMenus.setIcon(Images.ICONES.flecheBascule());
249
		
215
 
250
		return boutonAvecMenus;
216
		return boutonAvecMenus;
251
	}
217
	}
252
	
218
 
253
	public void rafraichir(Object nouvellesDonnees) {
219
	public void rafraichir(Object nouvellesDonnees) {
254
		if (nouvellesDonnees instanceof Information) {
220
		if (nouvellesDonnees instanceof Information) {
255
			Information info = (Information) nouvellesDonnees;
221
			Information info = (Information) nouvellesDonnees;
256
			if (info.getType().equals("maj_utilisateur")) {
222
			if (info.getType().equals("maj_utilisateur")) {
257
				Utilisateur utilisateur = mediateur.getUtilisateur();
223
				Utilisateur utilisateur = mediateur.getUtilisateur();