Rev 1633 | Rev 1687 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
package org.tela_botanica.client.composants;import org.tela_botanica.client.Mediateur;import org.tela_botanica.client.images.Images;import org.tela_botanica.client.interfaces.ListePaginable;import com.extjs.gxt.ui.client.event.ButtonEvent;import com.extjs.gxt.ui.client.event.ComponentEvent;import com.extjs.gxt.ui.client.event.KeyListener;import com.extjs.gxt.ui.client.event.SelectionListener;import com.extjs.gxt.ui.client.widget.Text;import com.extjs.gxt.ui.client.widget.button.Button;import com.extjs.gxt.ui.client.widget.form.TextField;import com.extjs.gxt.ui.client.widget.toolbar.FillToolItem;import com.extjs.gxt.ui.client.widget.toolbar.SeparatorToolItem;import com.extjs.gxt.ui.client.widget.toolbar.ToolBar;import com.google.gwt.event.dom.client.KeyCodes;public class ChampFiltreRecherche {private ListePaginable listePaginable;private Mediateur mediateur;private ToolBar parent;private TextField<String> filtre;private Button annulerFiltre;private boolean filtreActive = false;private String termeRecherche = "";private Text labelFiltre;public ChampFiltreRecherche(Mediateur mediateur, ToolBar parent, ListePaginable listePaginable) {//Séparationthis.mediateur = mediateur;this.parent = parent;this.listePaginable = listePaginable;parent.add(new SeparatorToolItem());labelFiltre = new Text("Recherche : ");labelFiltre.setStyleAttribute("padding-right", "5px");parent.add(labelFiltre);filtre = new TextField<String>();filtre.setWidth(150);parent.add(filtre);annulerFiltre = new Button();annulerFiltre.setIcon(Images.ICONES.annuler());annulerFiltre.setVisible(false);parent.add(annulerFiltre);parent.add(new FillToolItem());ajouterListeners();}private void ajouterListeners() {annulerFiltre.addSelectionListener(new SelectionListener<ButtonEvent>() {public void componentSelected(ButtonEvent ce) {filtre.setValue("");termeRecherche = "";filtreActive = false;listePaginable.filtrerParNom("");labelFiltre.setStyleAttribute("font-weight", "normal");changerEtat();}});filtre.addKeyListener(new KeyListener(){public void componentKeyUp(ComponentEvent ce) {if (ce.getKeyCode() == KeyCodes.KEY_ENTER) {termeRecherche = filtre.getValue();if (termeRecherche == null || termeRecherche.equals("")) {filtreActive = false;labelFiltre.setStyleAttribute("font-weight", "normal");termeRecherche= "";listePaginable.filtrerParNom("");changerEtat();} else {listePaginable.filtrerParNom(termeRecherche);labelFiltre.setStyleAttribute("font-weight", "bold");filtreActive = true;changerEtat();}}}});}private void changerEtat() {if (filtreActive == true) {annulerFiltre.setVisible(true);} else {annulerFiltre.setVisible(false);}}public void setListePaginable(ListePaginable listePaginable) {this.listePaginable = listePaginable;}}