Subversion Repositories eFlore/Applications.coel

Rev

Rev 1383 | 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.RegistreId;
import org.tela_botanica.client.util.Debug;

import com.extjs.gxt.ui.client.Registry;
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.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.WidgetListener;
import com.extjs.gxt.ui.client.widget.InfoConfig;
import com.extjs.gxt.ui.client.widget.LayoutContainer;
import com.extjs.gxt.ui.client.widget.Status;
import com.extjs.gxt.ui.client.widget.button.Button;
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
import com.extjs.gxt.ui.client.widget.layout.RowLayout;
import com.extjs.gxt.ui.client.widget.toolbar.FillToolItem;
import com.extjs.gxt.ui.client.widget.toolbar.ToolBar;

public class StatutVue extends LayoutContainer {
        
        private Status barreStatut = null;
        private Button messageErreur = null;
        private Status messages = null;
        private int nbErreursNonLues = 0;
        
        public StatutVue() {
                setLayout(new FitLayout());
                setId(ComposantId.PANNEAU_STATUT);

                ToolBar toolBar = new ToolBar();
                
                barreStatut = new Status();
                toolBar.add(barreStatut);
                toolBar.add(new FillToolItem());
                
                messages = new Status();
                toolBar.add(messages);
                
                messageErreur = new Button();
                messageErreur.addSelectionListener(new SelectionListener<ButtonEvent>() {
                        
                        @Override
                        public void componentSelected(ButtonEvent ce) {
                                reinitialiserNonLue();
                                ((Mediateur) Registry.get(RegistreId.MEDIATEUR)).ouvrirFenetreJournal();
                        }
                });
                toolBar.add(messageErreur);
                
                Status version = new Status();
                String infoVersionAppli = Registry.get(RegistreId.APPLI_CODE)+" v"+Registry.get(RegistreId.APPLI_VERSION)+" - "+Registry.get(RegistreId.APPLI_VERSION_NOM);
                version.setText(infoVersionAppli);
                toolBar.add(version);
                
                add(toolBar);
        }
        
        public void showBusy(String message) {
                barreStatut.setBusy(message);
        }
        
        public void clear() {
                barreStatut.clearStatus("");
        }
        
        public void afficherMessage(InfoConfig info)    {
                messages.setText(info.title +" - " + info.text);
        }

        public void afficherErreur()    {
                nbErreursNonLues++;
                String labelErreur = " erreur";
                if (nbErreursNonLues > 1)       {
                        labelErreur+="s";
                }
                messageErreur.setText("<b style=\"color:red\">" + nbErreursNonLues + labelErreur + "</b>");
        }
        
        public void reinitialiserNonLue()       {
                nbErreursNonLues = 0;
                messageErreur.setText("");
                messageErreur.setVisible(false);
        }
}