Rev 144 | Blame | Compare with Previous | Last modification | View Log | RSS feed
package org.tela_botanica.client.vues;
import org.tela_botanica.client.CarnetEnLigneMediateur;
import org.tela_botanica.client.interfaces.Rafraichissable;
import com.google.gwt.core.client.JavaScriptObject;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.ClickListener;
import com.google.gwt.user.client.ui.Widget;
import com.gwtext.client.core.EventCallback;
import com.gwtext.client.core.EventObject;
import com.gwtext.client.data.ArrayReader;
import com.gwtext.client.data.FieldDef;
import com.gwtext.client.data.MemoryProxy;
import com.gwtext.client.data.Record;
import com.gwtext.client.data.RecordDef;
import com.gwtext.client.data.Store;
import com.gwtext.client.data.StringFieldDef;
import com.gwtext.client.widgets.BoxComponent;
import com.gwtext.client.widgets.Component;
import com.gwtext.client.widgets.Window;
import com.gwtext.client.widgets.event.ButtonListener;
import com.gwtext.client.widgets.event.ButtonListenerAdapter;
import com.gwtext.client.widgets.form.ComboBox;
import com.gwtext.client.widgets.form.Field;
import com.gwtext.client.widgets.form.event.ComboBoxCallback;
import com.gwtext.client.widgets.form.event.ComboBoxListener;
import com.gwtext.client.widgets.form.event.ComboBoxListenerAdapter;
import com.gwtext.client.widgets.menu.Menu;
public class ListeUtilisateurAdminVue extends Window implements Rafraichissable {
private CarnetEnLigneMediateur cMediateur = null ;
private ComboBox listeUtil = null ;
private Store storeUtil = null ;
private com.gwtext.client.widgets.Button OK = null;
private boolean selectionUtilisateur =false;
private final int KEY_ALT = 18;
private final int KEY_BACKSPACE = 8;
private final int KEY_CTRL = 17;
private final int KEY_DELETE = 46;
private final int KEY_DOWN = 40;
private final int KEY_END = 35;
private final int KEY_ENTER = 13;
private final int KEY_ESCAPE = 27;
private final int KEY_HOME = 36;
private final int KEY_LEFT = 37;
private final int KEY_PAGEDOWN = 34;
private final int KEY_PAGEUP = 33;
private final int KEY_RIGHT = 39;
private final int KEY_SHIFT = 16;
private final int KEY_TAB = 9;
private final int KEY_UP = 38;
public ListeUtilisateurAdminVue(CarnetEnLigneMediateur cMed) {
super("Choisissez un utilisateur") ;
this.cMediateur = cMed;
listeUtil=new ComboBox("Utilisateurs","utilisateur",280);
final String resultTplUtil = "<div class=\"search-item-utilisateur\">{utilisateur}</div>";
listeUtil.setTpl(resultTplUtil);
listeUtil.setMode(ComboBox.REMOTE);
// commune.setPageSize(10); // Ne fonctionne pas
listeUtil.setItemSelector("div.search-item-utilisateur");
listeUtil.setTypeAhead(true);
listeUtil.setHideTrigger(true);
listeUtil.setLoadingText("Recherche...");
OK= new com.gwtext.client.widgets.Button("OK");
add(listeUtil);
add(OK);
this.setSize(300, 75);
OK.addListener(new ButtonListenerAdapter() {
public void onClick(com.gwtext.client.widgets.Button button,
EventObject e) {
cMediateur.changerIdentite(listeUtil.getValue());
}
});
final ListeUtilisateurAdminVue l = this ;
listeUtil.addKeyPressListener(new EventCallback() {
public void execute(EventObject e) {
switch(e.getKey()) {
case KEY_ALT:
case KEY_CTRL:
case KEY_DOWN:
case KEY_END:
case KEY_ESCAPE:
case KEY_HOME:
case KEY_LEFT:
case KEY_PAGEDOWN:
case KEY_PAGEUP:
case KEY_RIGHT:
case KEY_SHIFT:
case KEY_TAB:
case KEY_UP:
break;
case KEY_ENTER:
if(selectionUtilisateur) {
selectionUtilisateur=false;
}
else {
cMediateur.changerIdentite(listeUtil.getText());
close();
}
break;
default:
obtenirListeUtilisateur();
break;
}
}
});
listeUtil.addListener(new ComboBoxListenerAdapter() {
public void onSelect(ComboBox comboBox, Record record, int index) {
String util = record.getAsString("utilisateur");
listeUtil.setValue(util);
}
});
}
public void rafraichir(Object nouvelleDonnees,
boolean repandreRaffraichissement) {
if(nouvelleDonnees instanceof String[][]) {
Object[][] utilData = (Object[][])nouvelleDonnees ;
FieldDef defUtil = new StringFieldDef("utilisateur");
FieldDef[] defTab = {defUtil};
RecordDef rd = new RecordDef(defTab);
final MemoryProxy dataProxy = new MemoryProxy(utilData);
final ArrayReader reader = new ArrayReader(rd);
storeUtil =new Store(dataProxy,reader);
storeUtil.load() ;
listeUtil.setStore(storeUtil);
listeUtil.expand();
}
}
public void obtenirListeUtilisateur() {
String valeur = listeUtil.getRawValue();
cMediateur.obtenirListeUtilisateurs(valeur,this) ;
/*
String esp=espece.getText().replaceAll(" ","/");
esp=esp.replaceAll("%","");
observationMediateur.obtenirListeReferentielNom(this,esp);
*/
}
}