/trunk/src/org/tela_botanica/client/i18n/Constantes.properties |
---|
104,6 → 104,7 |
menuPersonne = Personnes |
menuPublication = Publications |
menuCommentaire = Notes |
menuStats = Statistiques |
# Filtre |
titreFiltre = Filtre |
/trunk/src/org/tela_botanica/client/i18n/Constantes.java |
---|
99,6 → 99,7 |
String menuPersonne(); |
String menuPublication(); |
String menuCommentaire(); |
String menuStats(); |
// Filtre |
String titreFiltre(); |
/trunk/src/org/tela_botanica/client/vues/FenetreForm.java |
---|
4,7 → 4,7 |
import com.extjs.gxt.ui.client.widget.layout.FitLayout; |
import com.google.gwt.core.client.GWT; |
public class FenetreForm extends Window{ |
public class FenetreForm extends Window { |
public FenetreForm(String titre) { |
int hauteur = (int) Math.ceil(com.google.gwt.user.client.Window.getClientHeight() * .8); |
15,5 → 15,6 |
setBlinkModal(true); |
setHeadingHtml(titre); |
setLayout(new FitLayout()); |
setOnEsc(false); |
} |
} |
/trunk/src/org/tela_botanica/client/vues/accueil/StatistiquesVue.java |
---|
New file |
0,0 → 1,301 |
package org.tela_botanica.client.vues.accueil; |
import java.util.ArrayList; |
import java.util.HashMap; |
import java.util.Iterator; |
import java.util.TreeMap; |
import org.tela_botanica.client.ComposantId; |
import org.tela_botanica.client.Mediateur; |
import org.tela_botanica.client.RegistreId; |
import org.tela_botanica.client.composants.InfoLogger; |
import org.tela_botanica.client.i18n.Constantes; |
import org.tela_botanica.client.images.Images; |
import org.tela_botanica.client.interfaces.Rafraichissable; |
import org.tela_botanica.client.modeles.Information; |
import org.tela_botanica.client.modeles.Utilisateur; |
import org.tela_botanica.client.util.Debug; |
import com.extjs.gxt.ui.client.Registry; |
import com.extjs.gxt.ui.client.event.BaseEvent; |
import com.extjs.gxt.ui.client.event.ButtonEvent; |
import com.extjs.gxt.ui.client.event.EventType; |
import com.extjs.gxt.ui.client.event.Events; |
import com.extjs.gxt.ui.client.event.Listener; |
import com.extjs.gxt.ui.client.event.SelectionListener; |
import com.extjs.gxt.ui.client.event.TabPanelEvent; |
import com.extjs.gxt.ui.client.widget.ContentPanel; |
import com.extjs.gxt.ui.client.widget.LayoutContainer; |
import com.extjs.gxt.ui.client.widget.TabItem; |
import com.extjs.gxt.ui.client.widget.TabPanel; |
import com.extjs.gxt.ui.client.widget.button.Button; |
import com.extjs.gxt.ui.client.widget.custom.Portal; |
import com.extjs.gxt.ui.client.widget.custom.Portlet; |
import com.extjs.gxt.ui.client.widget.layout.FitLayout; |
import com.extjs.gxt.ui.client.widget.toolbar.ToolBar; |
import com.google.gwt.user.client.Window; |
import com.google.gwt.user.client.ui.Widget; |
import com.google.gwt.xml.client.Document; |
import com.google.gwt.xml.client.Element; |
import com.google.gwt.xml.client.Node; |
import com.google.gwt.xml.client.NodeList; |
import com.google.gwt.xml.client.XMLParser; |
public class StatistiquesVue extends LayoutContainer implements Rafraichissable { |
private Mediateur mediateur = null; |
private Constantes i18nC = null; |
private static Portal portail = null; |
private static boolean enregistrementEnCours = false; |
private ContentPanel panneauPrincipalPortail = new ContentPanel(); |
public StatistiquesVue(Mediateur mediateurCourant) { |
mediateur = mediateurCourant; |
i18nC = Mediateur.i18nC; |
setLayout(new FitLayout()); |
panneauPrincipalPortail = new ContentPanel(); |
panneauPrincipalPortail.setLayout(new FitLayout()); |
panneauPrincipalPortail.setHeaderVisible(false); |
panneauPrincipalPortail.setBorders(false); |
final ToolBar barreOutils = new ToolBar(); |
Button ajouter = new Button(i18nC.ajouter()); |
ajouter.setIcon(Images.ICONES.ajouter()); |
ajouter.addSelectionListener(new SelectionListener<ButtonEvent>() { |
public void componentSelected(ButtonEvent be) { |
ajouterPortlet(); |
} |
}); |
ajouter.setToolTip(i18nC.indicationAjouterStatistiqueAccueil()); |
barreOutils.add(ajouter); |
Button enregistrer = new Button("Enregistrer"); |
enregistrer.setIcon(Images.ICONES.appliquer()); |
enregistrer.addSelectionListener(new SelectionListener<ButtonEvent>() { |
public void componentSelected(ButtonEvent be) { |
if (enregistrementEnCours == false) { |
enregistrerParametres(); |
} else { |
InfoLogger.display(i18nC.accueilEnregistrement(), i18nC.accueilEnregistrementEnCours()); |
} |
} |
}); |
enregistrer.setToolTip(i18nC.indicationEnregistrerAccueil()); |
barreOutils.add(enregistrer); |
panneauPrincipalPortail.setTopComponent(barreOutils); |
portail = creerPortail(); |
ajouterPortletsDefaut(); |
Utilisateur utilisateur = ((Mediateur) Registry.get(RegistreId.MEDIATEUR)).getUtilisateur(); |
if(utilisateur.isIdentifie()) { |
chargerParametres(); |
} |
panneauPrincipalPortail.add(portail); |
add(panneauPrincipalPortail); |
mediateur.desactiverChargement(this); |
} |
private Portal creerPortail() { |
final Portal portail = new Portal(3); |
portail.setBorders(true); |
portail.addListener(Events.Render, new Listener<BaseEvent>() { |
@Override |
public void handleEvent(BaseEvent be) { |
portail.setStyleAttribute("backgroundColor", "white"); |
} |
}); |
portail.setShadow(true); |
portail.setColumnWidth(0, .33); |
portail.setColumnWidth(1, .33); |
portail.setColumnWidth(2, .33); |
return portail; |
} |
// INFO: Les items d'une classse portal correspondent aux colonnes. Pour vider une Portal, il faut donc vider les éléments de chaque item du Portal. |
private void viderPortail() { |
portail.getItem(0).removeAll(); |
portail.getItem(1).removeAll(); |
portail.getItem(2).removeAll(); |
} |
private void chargerParametres() { |
viderPortail(); |
Document paramXml = XMLParser.parse(mediateur.getUtilisateur().getParametre()); |
NodeList listeAccueilNoeud = paramXml.getElementsByTagName("accueil"); |
int nbreAccueilNoeud = listeAccueilNoeud.getLength(); |
// Récupération du noeud accueil |
Node accueilNoeud = null; |
if (nbreAccueilNoeud == 0) { |
ajouterPortletsDefaut(); |
} else if (nbreAccueilNoeud == 1) { |
accueilNoeud = listeAccueilNoeud.item(0); |
NodeList listeAppletteNoeud = accueilNoeud.getChildNodes(); |
// un noeud de type vide indique que l'utilisateur a explicité effacé les applettes de la page d'accueil |
if(listeAppletteNoeud.getLength() > 0 && !listeAppletteNoeud.item(0).getNodeName().equals("vide")) { |
portail.removeAll(); |
// Lecture des noeuds "applette" |
int nbreAppletteNoeud = listeAppletteNoeud.getLength(); |
TreeMap<String, HashMap<String, String>> tableApplettes = new TreeMap<String, HashMap<String, String>>(); |
for (int i = 0; i < nbreAppletteNoeud ; i++) { |
Element appletteNoeud = (Element) listeAppletteNoeud.item(i); |
int colonne = Integer.parseInt(appletteNoeud.getAttribute("colonne")); |
int index = Integer.parseInt(appletteNoeud.getAttribute("index")); |
HashMap<String, String> infoApplette = new HashMap<String, String>(); |
infoApplette.put("reduite", appletteNoeud.getAttribute("reduite")); |
infoApplette.put("epingle", appletteNoeud.getAttribute("epingle")); |
infoApplette.put("type", appletteNoeud.getAttribute("type")); |
infoApplette.put("colonne", appletteNoeud.getAttribute("colonne")); |
infoApplette.put("index", appletteNoeud.getAttribute("index")); |
infoApplette.put("contenu", appletteNoeud.getAttribute("contenu")); |
tableApplettes.put(colonne+"-"+index, infoApplette); |
} |
Iterator<String> it = tableApplettes.keySet().iterator(); |
while (it.hasNext()) { |
String id = it.next(); |
HashMap<String, String> infoApplette = tableApplettes.get(id); |
boolean reduite = (infoApplette.get("reduite") != null && infoApplette.get("reduite").equals("true")) ? true : false; |
boolean epingle = (infoApplette.get("epingle") != null && infoApplette.get("epingle").equals("true")) ? true : false; |
int index = Integer.parseInt(infoApplette.get("index")); |
int colonne = Integer.parseInt(infoApplette.get("colonne")); |
ajouterPortlet(reduite, epingle, infoApplette.get("type"), colonne, index, infoApplette.get("contenu")); |
} |
} else if(listeAppletteNoeud.getLength() == 0) { |
ajouterPortletsDefaut(); |
} |
} |
layout(); |
} |
private void enregistrerParametres() { |
ArrayList<Portlet> applettes = getPortlets(); |
Iterator<Portlet> it = applettes.iterator(); |
Document paramXml = XMLParser.parse(mediateur.getUtilisateur().getParametre()); |
NodeList listeAccueilNoeud = paramXml.getElementsByTagName("accueil"); |
int nbreAccueilNoeud = listeAccueilNoeud.getLength(); |
// Suppression des noeuds "accueil" existant car il ne devrait y en avoir qu'un |
if (nbreAccueilNoeud > 1) { |
for (int i = 0; i < nbreAccueilNoeud ; i++) { |
paramXml.getDocumentElement().removeChild(listeAccueilNoeud.item(i)); |
} |
nbreAccueilNoeud = 0; |
} |
// Création du nouveau noeud accueil |
Node accueilNoeud = null; |
Element accueilElement = paramXml.createElement("accueil"); |
if (nbreAccueilNoeud == 0) { |
accueilNoeud = paramXml.getDocumentElement().appendChild(accueilElement); |
} else if (nbreAccueilNoeud == 1) { |
accueilNoeud = listeAccueilNoeud.item(0); |
paramXml.getDocumentElement().replaceChild(accueilElement, accueilNoeud); |
accueilNoeud = paramXml.getElementsByTagName("accueil").item(0); |
} |
// si il existe des applettes ouvertes |
if(it.hasNext()) { |
// Ajout des noeuds "applette" au noeud "accueil" |
while (it.hasNext()) { |
Portlet applette = it.next(); |
String reduite = (applette.isCollapsed() ? "true" : "false"); |
String epingle = (applette.isPinned() ? "true" : "false"); |
String index = Integer.toString(portail.getPortletIndex(applette)); |
String colonne = Integer.toString(portail.getPortletColumn(applette)); |
String contenu = applette.getData("contenu"); |
Element appletteElement = paramXml.createElement("applette"); |
appletteElement.setAttribute("reduite", reduite); |
appletteElement.setAttribute("epingle", epingle); |
appletteElement.setAttribute("type", "statistique"); |
appletteElement.setAttribute("colonne", colonne); |
appletteElement.setAttribute("index", index); |
appletteElement.setAttribute("contenu", contenu); |
accueilNoeud.appendChild(appletteElement); |
} |
} else { |
// sinon ajout d'un noeud vide |
Element videElement = paramXml.createElement("vide"); |
accueilNoeud.appendChild(videElement); |
} |
enregistrementEnCours = true; |
mediateur.getUtilisateur().setParametre(paramXml.toString()); |
mediateur.modifierUtilisateur(); |
} |
private ArrayList<Portlet> getPortlets() { |
ArrayList<Portlet> applettes = new ArrayList<Portlet>(); |
for (int i = 0; i < 3; i++) { |
int nbreApplette = portail.getItem(i).getItemCount(); |
if (nbreApplette > 0) { |
for (int j = 0; j < nbreApplette; j++) { |
applettes.add((Portlet) portail.getItem(i).getItem(j)); |
} |
} |
} |
return applettes; |
} |
private void ajouterPortlet() { |
ajouterPortlet(false, false, "statistique", 0, 0, null); |
} |
private void ajouterPortlet(boolean reduite, boolean epingle, String type, int colonne, int index, String contenu) { |
Applette applette = null; |
if (type.equals("statistique")) { |
applette = new AppletteStatistique(mediateur, contenu); |
} |
if (reduite) { |
applette.collapse(); |
} |
portail.insert(applette, index, colonne); |
applette.setEpingler(epingle); |
layout(); |
} |
private void ajouterPortletsDefaut() { |
//TODO créer une énum des différents types de portlet puis faire une boucle |
// dessus |
Applette applette = new AppletteStatistique(mediateur, "NombreDonnees"); |
portail.insert(applette, 0, 0); |
applette.setEpingler(true); |
applette = new AppletteStatistique(mediateur, "MesDonnees"); |
portail.insert(applette, 0, 1); |
applette = new AppletteStatistique(mediateur, "TypeDepot"); |
portail.insert(applette, 0, 2); |
applette = new AppletteStatistique(mediateur, "NombreCollectionParStructure"); |
portail.insert(applette, 1, 0); |
layout(); |
} |
public void rafraichir(Object nouvellesDonnees) { |
if (nouvellesDonnees instanceof Information) { |
Information info = (Information) nouvellesDonnees; |
String type = info.getType(); |
if (type.equals("maj_utilisateur")) { |
if (enregistrementEnCours == true) { |
enregistrementEnCours = false; |
InfoLogger.display(i18nC.accueilEnregistrement(), i18nC.accueilEnregistrementSucces()); |
} else { |
chargerParametres(); |
InfoLogger.display(i18nC.accueil(), i18nC.accueilChargementSucces()); |
} |
} |
} else { |
Debug.log(Mediateur.i18nM.erreurRafraichir(nouvellesDonnees.getClass(), this.getClass())); |
} |
} |
} |
/trunk/src/org/tela_botanica/client/vues/accueil/AccueilVue.java |
---|
39,281 → 39,26 |
import com.google.gwt.xml.client.NodeList; |
import com.google.gwt.xml.client.XMLParser; |
public class AccueilVue extends LayoutContainer implements Rafraichissable { |
public class AccueilVue extends LayoutContainer implements Rafraichissable { |
private Mediateur mediateur = null; |
private Constantes i18nC = null; |
private static Portal portail = null; |
private static Widget tutoriel = null; |
private static boolean enregistrementEnCours = false; |
private ContentPanel panneauPrincipalPortail = new ContentPanel(); |
TabPanel panneauOnglet = null; |
public AccueilVue(Mediateur mediateurCourant) { |
mediateur = mediateurCourant; |
i18nC = Mediateur.i18nC; |
setLayout(new FitLayout()); |
setBorders(false); |
panneauPrincipalPortail = new ContentPanel(); |
panneauPrincipalPortail.setLayout(new FitLayout()); |
panneauPrincipalPortail.setHeaderVisible(false); |
panneauPrincipalPortail.setBorders(false); |
panneauOnglet = new TabPanel(); |
final ToolBar barreOutils = new ToolBar(); |
Button ajouter = new Button(i18nC.ajouter()); |
ajouter.setIcon(Images.ICONES.ajouter()); |
ajouter.addSelectionListener(new SelectionListener<ButtonEvent>() { |
public void componentSelected(ButtonEvent be) { |
ajouterPortlet(); |
} |
}); |
ajouter.setToolTip(i18nC.indicationAjouterStatistiqueAccueil()); |
barreOutils.add(ajouter); |
Button enregistrer = new Button("Enregistrer"); |
enregistrer.setIcon(Images.ICONES.appliquer()); |
enregistrer.addSelectionListener(new SelectionListener<ButtonEvent>() { |
public void componentSelected(ButtonEvent be) { |
if (enregistrementEnCours == false) { |
enregistrerParametres(); |
} else { |
InfoLogger.display(i18nC.accueilEnregistrement(), i18nC.accueilEnregistrementEnCours()); |
} |
} |
}); |
enregistrer.setToolTip(i18nC.indicationEnregistrerAccueil()); |
barreOutils.add(enregistrer); |
panneauPrincipalPortail.setTopComponent(barreOutils); |
tutoriel = new AccueilTutorielVue(mediateur); |
portail = creerPortail(); |
add(tutoriel); |
Utilisateur utilisateur = ((Mediateur) Registry.get(RegistreId.MEDIATEUR)).getUtilisateur(); |
if(utilisateur.isIdentifie()) { |
chargerParametres(); |
} |
ajouterPortletsDefaut(); |
panneauPrincipalPortail.add(portail); |
TabItem tiPortlet = new TabItem("Statistiques"); |
tiPortlet.add(panneauPrincipalPortail); |
final TabItem tiTuto = new TabItem("Premiers pas"); |
tiTuto.setLayout(new FitLayout()); |
tiTuto.add(tutoriel); |
panneauOnglet.add(tiTuto); |
panneauOnglet.add(tiPortlet); |
add(panneauOnglet); |
// Correction de hauteur du panneau contenant les stats qui gère mal le fait d'être |
// dans un onglet |
panneauOnglet.addListener(Events.Select, new Listener<TabPanelEvent>() { |
public void handleEvent(TabPanelEvent be) { |
if(portail.isRendered()) { |
portail.setHeight(panneauOnglet.getHeight() - barreOutils.getHeight()); |
portail.setWidth(panneauOnglet.getWidth()); |
} |
} |
}); |
mediateur.desactiverChargement(this); |
} |
private Portal creerPortail() { |
Portal portail = new Portal(3); |
portail.setBorders(true); |
portail.setStyleAttribute("backgroundColor", "white"); |
portail.setShadow(true); |
portail.setColumnWidth(0, .33); |
portail.setColumnWidth(1, .33); |
portail.setColumnWidth(2, .33); |
return portail; |
} |
// INFO: Les items d'une classse portal correspondent aux colonnes. Pour vider une Portal, il faut donc vider les éléments de chaque item du Portal. |
private void viderPortail() { |
portail.getItem(0).removeAll(); |
portail.getItem(1).removeAll(); |
portail.getItem(2).removeAll(); |
} |
private void chargerParametres() { |
viderPortail(); |
Document paramXml = XMLParser.parse(mediateur.getUtilisateur().getParametre()); |
NodeList listeAccueilNoeud = paramXml.getElementsByTagName("accueil"); |
int nbreAccueilNoeud = listeAccueilNoeud.getLength(); |
// Récupération du noeud accueil |
Node accueilNoeud = null; |
if (nbreAccueilNoeud == 0) { |
ajouterPortletsDefaut(); |
} else if (nbreAccueilNoeud == 1) { |
accueilNoeud = listeAccueilNoeud.item(0); |
NodeList listeAppletteNoeud = accueilNoeud.getChildNodes(); |
// un noeud de type vide indique que l'utilisateur a explicité effacé les applettes de la page d'accueil |
if(listeAppletteNoeud.getLength() > 0 && !listeAppletteNoeud.item(0).getNodeName().equals("vide")) { |
// Lecture des noeuds "applette" |
int nbreAppletteNoeud = listeAppletteNoeud.getLength(); |
TreeMap<String, HashMap<String, String>> tableApplettes = new TreeMap<String, HashMap<String, String>>(); |
for (int i = 0; i < nbreAppletteNoeud ; i++) { |
Element appletteNoeud = (Element) listeAppletteNoeud.item(i); |
int colonne = Integer.parseInt(appletteNoeud.getAttribute("colonne")); |
int index = Integer.parseInt(appletteNoeud.getAttribute("index")); |
HashMap<String, String> infoApplette = new HashMap<String, String>(); |
infoApplette.put("reduite", appletteNoeud.getAttribute("reduite")); |
infoApplette.put("epingle", appletteNoeud.getAttribute("epingle")); |
infoApplette.put("type", appletteNoeud.getAttribute("type")); |
infoApplette.put("colonne", appletteNoeud.getAttribute("colonne")); |
infoApplette.put("index", appletteNoeud.getAttribute("index")); |
infoApplette.put("contenu", appletteNoeud.getAttribute("contenu")); |
tableApplettes.put(colonne+"-"+index, infoApplette); |
} |
Iterator<String> it = tableApplettes.keySet().iterator(); |
while (it.hasNext()) { |
String id = it.next(); |
HashMap<String, String> infoApplette = tableApplettes.get(id); |
boolean reduite = (infoApplette.get("reduite") != null && infoApplette.get("reduite").equals("true")) ? true : false; |
boolean epingle = (infoApplette.get("epingle") != null && infoApplette.get("epingle").equals("true")) ? true : false; |
int index = Integer.parseInt(infoApplette.get("index")); |
int colonne = Integer.parseInt(infoApplette.get("colonne")); |
ajouterPortlet(reduite, epingle, infoApplette.get("type"), colonne, index, infoApplette.get("contenu")); |
} |
} else if(listeAppletteNoeud.getLength() == 0) { |
ajouterPortletsDefaut(); |
} |
} |
layout(); |
@Override |
public void rafraichir(Object nouvellesDonnees) { |
// TODO Auto-generated method stub |
} |
private void enregistrerParametres() { |
ArrayList<Portlet> applettes = getPortlets(); |
Iterator<Portlet> it = applettes.iterator(); |
Document paramXml = XMLParser.parse(mediateur.getUtilisateur().getParametre()); |
NodeList listeAccueilNoeud = paramXml.getElementsByTagName("accueil"); |
int nbreAccueilNoeud = listeAccueilNoeud.getLength(); |
// Suppression des noeuds "accueil" existant car il ne devrait y en avoir qu'un |
if (nbreAccueilNoeud > 1) { |
for (int i = 0; i < nbreAccueilNoeud ; i++) { |
paramXml.getDocumentElement().removeChild(listeAccueilNoeud.item(i)); |
} |
nbreAccueilNoeud = 0; |
} |
// Création du nouveau noeud accueil |
Node accueilNoeud = null; |
Element accueilElement = paramXml.createElement("accueil"); |
if (nbreAccueilNoeud == 0) { |
accueilNoeud = paramXml.getDocumentElement().appendChild(accueilElement); |
} else if (nbreAccueilNoeud == 1) { |
accueilNoeud = listeAccueilNoeud.item(0); |
paramXml.getDocumentElement().replaceChild(accueilElement, accueilNoeud); |
accueilNoeud = paramXml.getElementsByTagName("accueil").item(0); |
} |
// si il existe des applettes ouvertes |
if(it.hasNext()) { |
// Ajout des noeuds "applette" au noeud "accueil" |
while (it.hasNext()) { |
Portlet applette = it.next(); |
String reduite = (applette.isCollapsed() ? "true" : "false"); |
String epingle = (applette.isPinned() ? "true" : "false"); |
String index = Integer.toString(portail.getPortletIndex(applette)); |
String colonne = Integer.toString(portail.getPortletColumn(applette)); |
String contenu = applette.getData("contenu"); |
Element appletteElement = paramXml.createElement("applette"); |
appletteElement.setAttribute("reduite", reduite); |
appletteElement.setAttribute("epingle", epingle); |
appletteElement.setAttribute("type", "statistique"); |
appletteElement.setAttribute("colonne", colonne); |
appletteElement.setAttribute("index", index); |
appletteElement.setAttribute("contenu", contenu); |
accueilNoeud.appendChild(appletteElement); |
} |
} else { |
// sinon ajout d'un noeud vide |
Element videElement = paramXml.createElement("vide"); |
accueilNoeud.appendChild(videElement); |
} |
enregistrementEnCours = true; |
mediateur.getUtilisateur().setParametre(paramXml.toString()); |
mediateur.modifierUtilisateur(); |
} |
private ArrayList<Portlet> getPortlets() { |
ArrayList<Portlet> applettes = new ArrayList<Portlet>(); |
for (int i = 0; i < 3; i++) { |
int nbreApplette = portail.getItem(i).getItemCount(); |
if (nbreApplette > 0) { |
for (int j = 0; j < nbreApplette; j++) { |
applettes.add((Portlet) portail.getItem(i).getItem(j)); |
} |
} |
} |
return applettes; |
} |
private void ajouterPortlet() { |
ajouterPortlet(false, false, "statistique", 0, 0, null); |
} |
private void ajouterPortlet(boolean reduite, boolean epingle, String type, int colonne, int index, String contenu) { |
Applette applette = null; |
if (type.equals("statistique")) { |
applette = new AppletteStatistique(mediateur, contenu); |
} |
if (reduite) { |
applette.collapse(); |
} |
portail.insert(applette, index, colonne); |
applette.setEpingler(epingle); |
layout(); |
} |
private void ajouterPortletsDefaut() { |
//TODO créer une énum des différents types de portlet puis faire une boucle |
// dessus |
Applette applette = new AppletteStatistique(mediateur, "NombreDonnees"); |
portail.insert(applette, 0, 0); |
applette.setEpingler(true); |
applette = new AppletteStatistique(mediateur, "MesDonnees"); |
portail.insert(applette, 0, 1); |
applette = new AppletteStatistique(mediateur, "TypeDepot"); |
portail.insert(applette, 0, 2); |
applette = new AppletteStatistique(mediateur, "NombreCollectionParStructure"); |
portail.insert(applette, 1, 0); |
layout(); |
} |
public void rafraichir(Object nouvellesDonnees) { |
if (nouvellesDonnees instanceof Information) { |
Information info = (Information) nouvellesDonnees; |
String type = info.getType(); |
if (type.equals("maj_utilisateur")) { |
if (enregistrementEnCours == true) { |
enregistrementEnCours = false; |
InfoLogger.display(i18nC.accueilEnregistrement(), i18nC.accueilEnregistrementSucces()); |
} else { |
chargerParametres(); |
InfoLogger.display(i18nC.accueil(), i18nC.accueilChargementSucces()); |
} |
} |
} else { |
Debug.log(Mediateur.i18nM.erreurRafraichir(nouvellesDonnees.getClass(), this.getClass())); |
} |
} |
} |
/trunk/src/org/tela_botanica/client/vues/MenuHorizontalVue.java |
---|
1,5 → 1,6 |
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; |
30,6 → 31,8 |
public MenuHorizontalVue(Mediateur mediateurCourant) { |
setId(ComposantId.PANNEAU_NAVIGATION); |
mediateur = mediateurCourant; |
i18nC = Mediateur.i18nC; |
39,6 → 42,8 |
// 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); |
70,6 → 75,12 |
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); |
76,6 → 87,7 |
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>() { |
92,6 → 104,14 |
} |
}); |
// 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); |
} |
/trunk/src/org/tela_botanica/client/modeles/MenuApplicationId.java |
---|
8,4 → 8,5 |
public static final String PERSONNE = "Personnes"; |
public static final String PUBLICATION = "Publications"; |
public static final String COMMENTAIRE = "Commentaires"; |
public static final String STATS = "Statistiques"; |
} |
/trunk/src/org/tela_botanica/client/Mediateur.java |
---|
57,6 → 57,7 |
import org.tela_botanica.client.vues.PopupChargement; |
import org.tela_botanica.client.vues.StatutVue; |
import org.tela_botanica.client.vues.accueil.AccueilVue; |
import org.tela_botanica.client.vues.accueil.StatistiquesVue; |
import org.tela_botanica.client.vues.collection.CollectionForm; |
import org.tela_botanica.client.vues.collection.CollectionListeVue; |
import org.tela_botanica.client.vues.collection.CollectionVue; |
279,6 → 280,9 |
selectionnerPublication(panneauCentre, null, null); |
} else if (codeMenuClique.equals(MenuApplicationId.COMMENTAIRE)) { |
selectionnerCommentaire(panneauCentre, null, null); |
} else if (codeMenuClique.equals(MenuApplicationId.STATS)) { |
// l'affichage des statistiques ne nécessite pas de chargement |
afficherStats(); |
} else { |
Log.debug(i18nM.nonImplemente(codeMenuClique)); |
codeOk = false; |
1628,6 → 1632,16 |
} |
//+----------------------------------------------------------------------------------------------------------------+ |
// GESTION DES STATS |
//+----------------------------------------------------------------------------------------------------------------+ |
public void afficherStats() { |
if (!(panneauCentre.getContenu() instanceof StatistiquesVue)) { |
panneauCentre.removeAll(); |
panneauCentre.add(new StatistiquesVue(this)); |
} |
} |
//+----------------------------------------------------------------------------------------------------------------+ |
// RAFRAICHISSEMENT |
//+----------------------------------------------------------------------------------------------------------------+ |
/trunk/src/org/tela_botanica/client/ComposantId.java |
---|
28,4 → 28,7 |
public static final String PANNEAU_PUBLICATION_LISTE = "coel-id_panneau-liste-publication"; |
public static final String PANNEAU_PERSONNE_LISTES = "coel-id_panneau-liste-personne"; |
public static final String PANNEAU_TUTORIEL = "coel-id-panneau-tutoriel"; |
public static final String MENU_STATS = "coel-panneau-onglets-statistiques"; |
public static final String PANNEAU_STATS = "coel-id-panneau-statistiques"; |
public static final String PANNEAU_NAVIGATION = "coel-panneau-onglets-navigation"; |
} |