New file |
0,0 → 1,126 |
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 navigation |
tbp = 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 correspondant |
tbp.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 correspondant |
tbp.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)); |
} |
} |
} |
} |