Subversion Repositories eFlore/Archives.cel-v1

Rev

Rev 25 | Go to most recent revision | Blame | Last modification | View Log | RSS feed

/**
 David Delon david.delon@clapas.net 2007
 
 */

/*
 * ActionPanel.java  : affichage actions sur releves saisie ou affiches (suppression, export etc...)
 * 
 * TODO : appel de fonction du mediator, au lieu de passer par les methode de la classe de gestion d'affichage des releves (voir les TODO dans le
 * corps de ce programme)
 *  
 * 1: Le programme affiche les boutons commandant les actions sur les releves et arme les actions correspondantes
 *    - Transmission d'elements (vers tela botanica)
 *    - Suppression d'elements selectionnes
 *    - Export vers tableur
 *    - Selection / Deselection des releves affiches
 */

package org.tela_botanica.client;


import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.ui.ClickListener;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.HTML;
import com.google.gwt.user.client.ui.HorizontalPanel;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.Widget;
public class ActionPanel extends Composite   {
        
  private Mediator mediator=null;
  private HTML exportButton=null;
  

  public ActionPanel(final Mediator med) {
         
   mediator=med;
   
   mediator.registerActionPanel(this);
   
        HorizontalPanel outer = new HorizontalPanel();
        HorizontalPanel buttons = new HorizontalPanel();
        buttons.setSpacing(3);

        
        // Transmission d'elements
        
        HTML transButton=new HTML("Transmettre Tela Botanica");
        transButton.setStyleName("html_button_long");
        transButton.addClickListener(
                new ClickListener() {
                        public void onClick(Widget sender) {
                                // TODO : une action dans le mediator
                                if (mediator.getConnected()) {
                                        mediator.getInventoryItemList().transmitElement();
                                }
                                else  {
                                        Window.alert("Identifiez-vous pour transmettre");
                                }
                        }
                }
        );              
        
        buttons.add(transButton);
        
        // Suppression d'elements
        
        HTML delButton=new HTML("Suppression");
        delButton.setStyleName("html_button");
        delButton.addClickListener(
                new ClickListener() {
                        public void onClick(Widget sender) {
                                // TODO : une action dans le mediator
                                mediator.getInventoryItemList().deleteElement();
                        }
                }
        );              
        
        buttons.add(delButton);

        // Export (renseigne lors de l'affichage des releves )
        
        exportButton=new HTML();
        buttons.add(exportButton);
        exportButton.setStyleName("html_button");


        // Selections de l'affichage
        
        HorizontalPanel selections = new HorizontalPanel();
        
        selections.setSpacing(3);
        

        selections.add(new HTML("Sélection : "));
        
        Label allLabel = new Label("Tous");
        Label separatorLabel = new Label(",");
        Label noneLabel = new Label("Aucun");
        
        allLabel.setStyleName("selection_label");
        noneLabel.setStyleName("selection_label");
        
        selections.add(allLabel);
        allLabel.addClickListener(
                        new ClickListener() {
                                public void onClick(Widget sender) {
                                        // TODO : une action dans le mediator
                                        mediator.getInventoryItemList().selectAll();
                                }
                        }
        );              
        
        selections.add(separatorLabel);
        
        selections.add(noneLabel);
        noneLabel.addClickListener(
                        new ClickListener() {
                                public void onClick(Widget sender) {
                                        // TODO : une action dans le mediator
                                        mediator.getInventoryItemList().deselectAll();
                                }
                        }
        );              
        

        outer.add(buttons);
        outer.add(selections);

        initWidget(outer);
        this.setStyleName("action-Panel");
   
    
  }


  public HTML getExportButton() {
          return exportButton;
  }
}  



/* +--Fin du code ---------------------------------------------------------------------------------------+
* $Log$
* Revision 1.5  2007-09-17 19:25:34  ddelon
* Documentation
*
* 
*/