Rev 1784 | Blame | Compare with Previous | Last modification | View Log | RSS feed
package org.tela_botanica.client.vues;import org.tela_botanica.client.ComposantId;import org.tela_botanica.client.Mediateur;import org.tela_botanica.client.i18n.Constantes;import org.tela_botanica.client.modeles.Menu;import org.tela_botanica.client.modeles.MenuApplicationId;import com.extjs.gxt.ui.client.Style.HideMode;import com.extjs.gxt.ui.client.event.Events;import com.extjs.gxt.ui.client.event.Listener;import com.extjs.gxt.ui.client.event.TabPanelEvent;import com.extjs.gxt.ui.client.event.TreePanelEvent;import com.extjs.gxt.ui.client.widget.ContentPanel;import com.extjs.gxt.ui.client.widget.Document;import com.extjs.gxt.ui.client.widget.TabItem;import com.extjs.gxt.ui.client.widget.TabPanel;import com.extjs.gxt.ui.client.widget.layout.FitLayout;import com.google.gwt.dom.client.NativeEvent;import com.google.gwt.user.client.DOM;import com.google.gwt.user.client.Event;import com.google.gwt.user.client.Window;public class MenuHorizontalVue extends ContentPanel {private Mediateur mediateur = null;private Constantes i18nC = null;private TabPanel tbp = null;public MenuHorizontalVue(Mediateur mediateurCourant) {setId(ComposantId.PANNEAU_NAVIGATION);mediateur = mediateurCourant;i18nC = Mediateur.i18nC;setHeaderVisible(false);// Ce tab Panel est un peu spécial car chaque onglet ne contient rien du tout// ils ne servent qu'a être cliqués afin de déclencher une action de la part du médiateur// ceci afin de pouvoir facilement changer d'avis si jamais on prend une autre forme de navigationtbp = new TabPanel();tbp.setId("ListeOngletsNavigation");tbp.setWidth("100%");TabItem tbAcc = new TabItem(i18nC.menuAccueil());tbAcc.setBorders(false);tbAcc.setId(MenuApplicationId.ACCUEIL);tbAcc.setHeight(0);TabItem tbIns = new TabItem(i18nC.menuStructure());tbIns.setBorders(false);tbIns.setId(MenuApplicationId.STRUCTURE);tbIns.setHeight(0);TabItem tbCol = new TabItem(i18nC.menuCollection());tbCol.setBorders(false);tbCol.setId(MenuApplicationId.COLLECTION);tbCol.setHeight(0);TabItem tbPer = new TabItem(i18nC.menuPersonne());tbPer.setBorders(false);tbPer.setId(MenuApplicationId.PERSONNE);tbPer.setHeight(0);TabItem tbPub = new TabItem(i18nC.menuPublication());tbPub.setBorders(false);tbPub.setId(MenuApplicationId.PUBLICATION);tbPub.setHeight(0);TabItem tbCom = new TabItem(i18nC.menuCommentaire());tbCom.setBorders(false);tbCom.setId(MenuApplicationId.COMMENTAIRE);tbCom.setHeight(0);TabItem tbStats = new TabItem(i18nC.menuStats());tbStats.setBorders(false);tbStats.setId(MenuApplicationId.STATS);tbStats.setStyleAttribute("float", "right");tbStats.setHeight(0);tbp.add(tbAcc);tbp.add(tbIns);tbp.add(tbCol);tbp.add(tbPer);tbp.add(tbPub);tbp.add(tbCom);tbp.add(tbStats);// Supression du conteneur vide de l'onglet (pour éviter un décalage de l'interface)tbp.addListener(Events.BeforeSelect, new Listener<TabPanelEvent>() {public void handleEvent(TabPanelEvent be) {be.getItem().getElement().removeFromParent();}});// interception de la selection afin de prévenir le médiateur pour qu'il charge// le panneau central correspondanttbp.addListener(Events.Select, new Listener<TabPanelEvent>() {public void handleEvent(TabPanelEvent be) {mediateur.clicMenu(be.getItem().getId());}});// interception de la selection afin de prévenir le médiateur pour qu'il charge// le panneau central correspondanttbp.addListener(Events.Resize, new Listener<TabPanelEvent>() {public void handleEvent(TabPanelEvent be) {tbp.setWidth("100%");}});this.add(tbp);}public void selectionMenu(String codeMenuClique) {int nbTab = tbp.getItemCount();for(int i = 0; i < nbTab; i++) {if(tbp.getItem(i).getId().equals(codeMenuClique)) {tbp.setSelection(tbp.getItem(i));}}}}