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()); |
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); |
SplitButton applisBouton = new SplitButton("Changez d'application..."); |
applisBouton.setId(ComposantId.BTN_APPLIS); |
applisBouton.addSelectionListener(boutonEcouteur); |
|
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); |
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(buttonBar, new RowData(.7, 50)); |
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(); |
} |
|
} |
} |