1780 |
aurelien |
1 |
package org.tela_botanica.client.vues;
|
|
|
2 |
|
1790 |
aurelien |
3 |
import org.tela_botanica.client.ComposantId;
|
1780 |
aurelien |
4 |
import org.tela_botanica.client.Mediateur;
|
|
|
5 |
import org.tela_botanica.client.i18n.Constantes;
|
|
|
6 |
import org.tela_botanica.client.modeles.Menu;
|
|
|
7 |
import org.tela_botanica.client.modeles.MenuApplicationId;
|
|
|
8 |
|
|
|
9 |
import com.extjs.gxt.ui.client.Style.HideMode;
|
|
|
10 |
import com.extjs.gxt.ui.client.event.Events;
|
|
|
11 |
import com.extjs.gxt.ui.client.event.Listener;
|
|
|
12 |
import com.extjs.gxt.ui.client.event.TabPanelEvent;
|
|
|
13 |
import com.extjs.gxt.ui.client.event.TreePanelEvent;
|
|
|
14 |
import com.extjs.gxt.ui.client.widget.ContentPanel;
|
|
|
15 |
import com.extjs.gxt.ui.client.widget.Document;
|
|
|
16 |
import com.extjs.gxt.ui.client.widget.TabItem;
|
|
|
17 |
import com.extjs.gxt.ui.client.widget.TabPanel;
|
|
|
18 |
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
|
|
|
19 |
import com.google.gwt.dom.client.NativeEvent;
|
|
|
20 |
import com.google.gwt.user.client.DOM;
|
|
|
21 |
import com.google.gwt.user.client.Event;
|
|
|
22 |
import com.google.gwt.user.client.Window;
|
|
|
23 |
|
|
|
24 |
|
|
|
25 |
public class MenuHorizontalVue extends ContentPanel {
|
|
|
26 |
|
|
|
27 |
private Mediateur mediateur = null;
|
|
|
28 |
private Constantes i18nC = null;
|
|
|
29 |
|
|
|
30 |
private TabPanel tbp = null;
|
|
|
31 |
|
|
|
32 |
public MenuHorizontalVue(Mediateur mediateurCourant) {
|
|
|
33 |
|
1790 |
aurelien |
34 |
setId(ComposantId.PANNEAU_NAVIGATION);
|
|
|
35 |
|
1780 |
aurelien |
36 |
mediateur = mediateurCourant;
|
|
|
37 |
i18nC = Mediateur.i18nC;
|
|
|
38 |
|
|
|
39 |
setHeaderVisible(false);
|
|
|
40 |
|
|
|
41 |
// Ce tab Panel est un peu spécial car chaque onglet ne contient rien du tout
|
|
|
42 |
// ils ne servent qu'a être cliqués afin de déclencher une action de la part du médiateur
|
|
|
43 |
// ceci afin de pouvoir facilement changer d'avis si jamais on prend une autre forme de navigation
|
|
|
44 |
tbp = new TabPanel();
|
1790 |
aurelien |
45 |
tbp.setId("ListeOngletsNavigation");
|
|
|
46 |
tbp.setWidth("100%");
|
1780 |
aurelien |
47 |
|
|
|
48 |
TabItem tbAcc = new TabItem(i18nC.menuAccueil());
|
|
|
49 |
tbAcc.setBorders(false);
|
|
|
50 |
tbAcc.setId(MenuApplicationId.ACCUEIL);
|
|
|
51 |
tbAcc.setHeight(0);
|
|
|
52 |
|
|
|
53 |
TabItem tbIns = new TabItem(i18nC.menuStructure());
|
|
|
54 |
tbIns.setBorders(false);
|
|
|
55 |
tbIns.setId(MenuApplicationId.STRUCTURE);
|
|
|
56 |
tbIns.setHeight(0);
|
|
|
57 |
|
|
|
58 |
TabItem tbCol = new TabItem(i18nC.menuCollection());
|
|
|
59 |
tbCol.setBorders(false);
|
|
|
60 |
tbCol.setId(MenuApplicationId.COLLECTION);
|
|
|
61 |
tbCol.setHeight(0);
|
|
|
62 |
|
|
|
63 |
TabItem tbPer = new TabItem(i18nC.menuPersonne());
|
|
|
64 |
tbPer.setBorders(false);
|
|
|
65 |
tbPer.setId(MenuApplicationId.PERSONNE);
|
|
|
66 |
tbPer.setHeight(0);
|
|
|
67 |
|
|
|
68 |
TabItem tbPub = new TabItem(i18nC.menuPublication());
|
|
|
69 |
tbPub.setBorders(false);
|
|
|
70 |
tbPub.setId(MenuApplicationId.PUBLICATION);
|
|
|
71 |
tbPub.setHeight(0);
|
|
|
72 |
|
|
|
73 |
TabItem tbCom = new TabItem(i18nC.menuCommentaire());
|
|
|
74 |
tbCom.setBorders(false);
|
|
|
75 |
tbCom.setId(MenuApplicationId.COMMENTAIRE);
|
|
|
76 |
tbCom.setHeight(0);
|
|
|
77 |
|
1790 |
aurelien |
78 |
TabItem tbStats = new TabItem(i18nC.menuStats());
|
|
|
79 |
tbStats.setBorders(false);
|
|
|
80 |
tbStats.setId(MenuApplicationId.STATS);
|
|
|
81 |
tbStats.setStyleAttribute("float", "right");
|
|
|
82 |
tbStats.setHeight(0);
|
|
|
83 |
|
1780 |
aurelien |
84 |
tbp.add(tbAcc);
|
|
|
85 |
tbp.add(tbIns);
|
|
|
86 |
tbp.add(tbCol);
|
|
|
87 |
tbp.add(tbPer);
|
|
|
88 |
tbp.add(tbPub);
|
|
|
89 |
tbp.add(tbCom);
|
1790 |
aurelien |
90 |
tbp.add(tbStats);
|
1780 |
aurelien |
91 |
|
|
|
92 |
// Supression du conteneur vide de l'onglet (pour éviter un décalage de l'interface)
|
|
|
93 |
tbp.addListener(Events.BeforeSelect, new Listener<TabPanelEvent>() {
|
|
|
94 |
public void handleEvent(TabPanelEvent be) {
|
|
|
95 |
be.getItem().getElement().removeFromParent();
|
|
|
96 |
}
|
|
|
97 |
});
|
|
|
98 |
|
|
|
99 |
// interception de la selection afin de prévenir le médiateur pour qu'il charge
|
|
|
100 |
// le panneau central correspondant
|
|
|
101 |
tbp.addListener(Events.Select, new Listener<TabPanelEvent>() {
|
|
|
102 |
public void handleEvent(TabPanelEvent be) {
|
|
|
103 |
mediateur.clicMenu(be.getItem().getId());
|
|
|
104 |
}
|
|
|
105 |
});
|
|
|
106 |
|
1790 |
aurelien |
107 |
// interception de la selection afin de prévenir le médiateur pour qu'il charge
|
|
|
108 |
// le panneau central correspondant
|
|
|
109 |
tbp.addListener(Events.Resize, new Listener<TabPanelEvent>() {
|
|
|
110 |
public void handleEvent(TabPanelEvent be) {
|
|
|
111 |
tbp.setWidth("100%");
|
|
|
112 |
}
|
|
|
113 |
});
|
|
|
114 |
|
1780 |
aurelien |
115 |
this.add(tbp);
|
|
|
116 |
}
|
|
|
117 |
|
|
|
118 |
public void selectionMenu(String codeMenuClique) {
|
|
|
119 |
int nbTab = tbp.getItemCount();
|
|
|
120 |
for(int i = 0; i < nbTab; i++) {
|
|
|
121 |
if(tbp.getItem(i).getId().equals(codeMenuClique)) {
|
|
|
122 |
tbp.setSelection(tbp.getItem(i));
|
|
|
123 |
}
|
|
|
124 |
}
|
|
|
125 |
}
|
|
|
126 |
}
|