Subversion Repositories eFlore/Applications.coel

Compare Revisions

Ignore whitespace Rev 60 → Rev 61

/trunk/src/org/tela_botanica/client/vues/EntetePanneauVue.java
1,12 → 1,17
package org.tela_botanica.client.vues;
 
import org.tela_botanica.client.ComposantId;
import org.tela_botanica.client.Mediateur;
import org.tela_botanica.client.RegistreId;
import org.tela_botanica.client.modeles.Configuration;
import org.tela_botanica.client.interfaces.Rafraichissable;
import org.tela_botanica.client.modeles.Utilisateur;
 
import com.extjs.gxt.ui.client.Registry;
import com.extjs.gxt.ui.client.Style;
import com.extjs.gxt.ui.client.Style.Orientation;
import com.extjs.gxt.ui.client.event.ButtonEvent;
import com.extjs.gxt.ui.client.event.ComponentEvent;
import com.extjs.gxt.ui.client.event.MenuEvent;
import com.extjs.gxt.ui.client.event.SelectionListener;
import com.extjs.gxt.ui.client.widget.HtmlContainer;
import com.extjs.gxt.ui.client.widget.Info;
16,11 → 21,17
import com.extjs.gxt.ui.client.widget.button.SplitButton;
import com.extjs.gxt.ui.client.widget.layout.RowData;
import com.extjs.gxt.ui.client.widget.layout.RowLayout;
import com.extjs.gxt.ui.client.widget.menu.Item;
import com.extjs.gxt.ui.client.widget.menu.Menu;
import com.extjs.gxt.ui.client.widget.menu.MenuItem;
import com.google.gwt.user.client.Window;
 
public class EntetePanneauVue extends LayoutContainer {
public class EntetePanneauVue extends LayoutContainer implements Rafraichissable {
private ButtonBar barreBoutons = null;
private Button identificationBouton = null;
private Button deconnexionBouton = null;
public EntetePanneauVue() {
setLayout(new RowLayout(Orientation.HORIZONTAL));
setId("coel-entete");
32,30 → 43,86
html.setHtml(sb.toString());
html.setEnableState(false);
// Création de l'écouteur
SelectionListener<ComponentEvent> ecouteur = new SelectionListener<ComponentEvent>() {
HtmlContainer htmlIdentification = new HtmlContainer();
StringBuffer sb2 = new StringBuffer();
sb2.append(" <div id='coel-identification'></div>");
html.setHtml(sb.toString());
html.setEnableState(false);
// Création des écouteurs
SelectionListener<ComponentEvent> boutonEcouteur = new SelectionListener<ComponentEvent>() {
public void componentSelected(ComponentEvent ce) {
Button btn = (Button) ce.component;
Info.display(btn.getText(), "Chargement de la fenêtre '{0}' en cours...", btn.getText());
Button btn = (Button) ce.component;
Info.display(btn.getText()+" - "+btn.getId(), "Chargement de la fenêtre '{0}' en cours...", btn.getText());
if (btn.getId().equals(ComposantId.BTN_AIDE)) {
((Mediateur) Registry.get(RegistreId.MEDIATEUR)).ouvrirAide();
} else if (btn.getId().equals(ComposantId.BTN_PARAMETRES)) {
((Mediateur) Registry.get(RegistreId.MEDIATEUR)).ouvrirParametres();
} else if (btn.getId().equals(ComposantId.BTN_IDENTIFICATION)) {
((Mediateur) Registry.get(RegistreId.MEDIATEUR)).ouvrirIdentification();
} else if (btn.getId().equals(ComposantId.BTN_APPLIS)) {
btn.getMenu().show(btn);
}
}
};
ButtonBar buttonBar = new ButtonBar();
buttonBar.setButtonAlign(Style.HorizontalAlignment.RIGHT);
buttonBar.add(new Button("Paramêtres", ecouteur));
buttonBar.add(new Button("Aide", ecouteur));
buttonBar.add(new Button("Identifiez vous...", ecouteur));
barreBoutons = new ButtonBar();
barreBoutons.setButtonAlign(Style.HorizontalAlignment.RIGHT);
Button parametresBouton = new Button("Paramêtres", boutonEcouteur);
parametresBouton.setId(ComposantId.BTN_PARAMETRES);
barreBoutons.add(parametresBouton);
Button aideBouton = new Button("Aide", boutonEcouteur);
aideBouton.setId(ComposantId.BTN_AIDE);
barreBoutons.add(aideBouton);
identificationBouton = new Button("Identifiez vous...", boutonEcouteur);
identificationBouton.setId(ComposantId.BTN_IDENTIFICATION);
barreBoutons.add(identificationBouton);
deconnexionBouton = new Button("Deconnexion", boutonEcouteur);
deconnexionBouton.setId(ComposantId.BTN_DECONNEXION);
deconnexionBouton.hide();
barreBoutons.add(deconnexionBouton);
SplitButton button = new SplitButton();
button.setText("Changez d'application...");
button.addSelectionListener(ecouteur);
Menu menu = new Menu();
String urlCel = ((Configuration) Registry.get(RegistreId.CONFIG)).getCelUrl();
menu.add(new MenuItem("<a href='"+urlCel+"'>Carnet en ligne</a>"));
button.setMenu(menu);
buttonBar.add(button);
SplitButton applisBouton = new SplitButton("Changez d'application...");
applisBouton.setId(ComposantId.BTN_APPLIS);
applisBouton.addSelectionListener(boutonEcouteur);
add(html, new RowData(.3, 1));
add(buttonBar, new RowData(.7, 50));
Menu menu = new Menu();
MenuItem menuCel = new MenuItem("Carnet en ligne", new SelectionListener<ComponentEvent>() {
@Override
public void componentSelected(ComponentEvent ce) {
Menu me = (Menu) ce.component;
MenuItem mi = (MenuItem) me.getItemByItemId(ComposantId.MENU_CEL);
Info.display(mi.getId()+" - "+mi.getText(), "Chargement du menu '{0}' en cours...", mi.getId());
((Mediateur) Registry.get(RegistreId.MEDIATEUR)).ouvrirApplis(ComposantId.MENU_CEL);
}
});
menuCel.setId(ComposantId.MENU_CEL);
menu.add(menuCel);
MenuItem menuBel = new MenuItem("Biblio en ligne", new SelectionListener<ComponentEvent>() {
@Override
public void componentSelected(ComponentEvent ce) {
Menu me = (Menu) ce.component;
MenuItem mi = (MenuItem) me.getItemByItemId(ComposantId.MENU_BEL);
Info.display(mi.getId()+" - "+mi.getText(), "Chargement du menu '{0}' en cours...", mi.getId());
((Mediateur) Registry.get(RegistreId.MEDIATEUR)).ouvrirApplis(ComposantId.MENU_BEL);
}
});
menuBel.setId(ComposantId.MENU_BEL);
menu.add(menuBel);
applisBouton.setMenu(menu);
barreBoutons.add(applisBouton);
add(html, new RowData(.3, 1));
add(htmlIdentification, new RowData(.2, 50));
add(barreBoutons, new RowData(.5, 50));
}
 
public void rafraichir(Object nouvelleDonnees) {
if (nouvelleDonnees instanceof Utilisateur) {
identificationBouton.hide();
deconnexionBouton.show();
}
}
}