Subversion Repositories eFlore/Applications.coel

Compare Revisions

Ignore whitespace Rev 520 → Rev 521

/trunk/src/org/tela_botanica/client/vues/StructureListeVue.java
7,6 → 7,7
import org.tela_botanica.client.Mediateur;
import org.tela_botanica.client.RegistreId;
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.Structure;
16,7 → 17,6
import com.extjs.gxt.ui.client.Registry;
import com.extjs.gxt.ui.client.Style.SelectionMode;
import com.extjs.gxt.ui.client.Style.SortDir;
import com.extjs.gxt.ui.client.binder.TableBinder;
import com.extjs.gxt.ui.client.event.ButtonEvent;
import com.extjs.gxt.ui.client.event.ComponentEvent;
import com.extjs.gxt.ui.client.event.SelectionChangedEvent;
26,11 → 26,11
import com.extjs.gxt.ui.client.widget.ContentPanel;
import com.extjs.gxt.ui.client.widget.Info;
import com.extjs.gxt.ui.client.widget.button.Button;
import com.extjs.gxt.ui.client.widget.grid.ColumnConfig;
import com.extjs.gxt.ui.client.widget.grid.ColumnModel;
import com.extjs.gxt.ui.client.widget.grid.Grid;
import com.extjs.gxt.ui.client.widget.grid.GridSelectionModel;
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
import com.extjs.gxt.ui.client.widget.table.Table;
import com.extjs.gxt.ui.client.widget.table.TableColumn;
import com.extjs.gxt.ui.client.widget.table.TableColumnModel;
import com.extjs.gxt.ui.client.widget.table.TableItem;
import com.extjs.gxt.ui.client.widget.toolbar.ToolBar;
import com.google.gwt.core.client.GWT;
 
39,10 → 39,10
private Mediateur mediateur = null ;
private Constantes i18nC = null ;
 
private Table table = null;
//private Table table = null;
private Grid<Structure> grille = null;
private ListStore<Structure> store = null;
private TableBinder<Structure> binder = null;
 
private Button modifier;
private Button supprimer;
private Button ajouter;
55,7 → 55,7
ToolBar toolBar = new ToolBar();
ajouter = new Button(i18nC.ajouter());
ajouter.setIconStyle(ComposantClass.ICONE_AJOUTER);
ajouter.setIcon(Images.ICONES.ajouter());
ajouter.addSelectionListener(new SelectionListener<ButtonEvent>() {
public void componentSelected(ButtonEvent ce) {
mediateur.clicAjouterStructure();
64,19 → 64,20
toolBar.add(ajouter);
 
modifier = new Button(i18nC.modifier());
modifier.setIconStyle(ComposantClass.ICONE_MODIFIER);
modifier.setIcon(Images.ICONES.formModifier());
modifier.addSelectionListener(new SelectionListener<ButtonEvent>() {
public void componentSelected(ButtonEvent ce) {
mediateur.clicModifierStructure(binder.getSelection());
mediateur.clicModifierStructure(grille.getSelectionModel().getSelectedItems());
}
});
toolBar.add(modifier);
supprimer = new Button(i18nC.supprimer());
supprimer.setIconStyle(ComposantClass.ICONE_SUPPRIMER);
supprimer.setIcon(Images.ICONES.supprimer());
supprimer.addSelectionListener(new SelectionListener<ButtonEvent>() {
public void componentSelected(ButtonEvent ce) {
clicSupprimerStructure(binder.getSelection());
clicSupprimerStructure(grille.getSelectionModel().getSelectedItems());
}
});
if (!utilisateur.isIdentifie()) {
86,28 → 87,37
 
setTopComponent(toolBar);
 
List<TableColumn> columns = new ArrayList<TableColumn>();
columns.add(new TableColumn("ville", i18nC.ville(), .3f));
columns.add(new TableColumn("nom", i18nC.nom(), .7f));
List<ColumnConfig> lstColumns = new ArrayList<ColumnConfig>();
TableColumnModel cm = new TableColumnModel(columns);
table = new Table(cm);
table.setSelectionMode(SelectionMode.MULTI);
table.setBorders(false);
table.setStripeRows(true);
add(table);
ColumnConfig ccVille = new ColumnConfig();
ccVille.setId("ville");
ccVille.setHeader("Ville");
ccVille.setWidth(300);
lstColumns.add(ccVille);
ColumnConfig ccNom = new ColumnConfig();
ccNom.setId("nom");
ccNom.setHeader("Nom");
ccNom.setWidth(300);
lstColumns.add(ccNom);
ColumnModel cmStructure = new ColumnModel(lstColumns);
store = new ListStore<Structure>();
store.sort("ville", SortDir.ASC);
binder = new TableBinder<Structure>(table, store);
binder.addSelectionChangedListener(new SelectionChangedListener<Structure>() {
grille = new Grid<Structure>(store, cmStructure);
GridSelectionModel<Structure> gsmSelectionStructure = new GridSelectionModel<Structure>();
gsmSelectionStructure.addSelectionChangedListener(new SelectionChangedListener<Structure>() {
public void selectionChanged(SelectionChangedEvent<Structure> event) {
Structure m = (Structure) event.getSelectedItem();
clicListe(m);
}
});
 
grille.setAutoExpandColumn("ville");
grille.setSelectionModel(gsmSelectionStructure);
add(grille);
setLayout(new FitLayout());
}
 
136,7 → 146,8
if (store.getCount() > 0) {
//TODO : check below:
table.getSelectionModel().select(0, 1, true);
//table.getSelectionModel().select(0, 1, true);
grille.getSelectionModel().select(0, true);
}
} else if (nouvelleDonnees instanceof Information) {
Information info = (Information) nouvelleDonnees;
146,26 → 157,30
Info.display(i18nC.suppressionStructure(), info.toString().replaceAll("\n", "<br />"));
 
// Suppression des structures sélectionnées
List<TableItem> selectionStructure = table.getSelectedItems();
List<Structure> selectionStructure = grille.getSelectionModel().getSelectedItems();//table.getSelectedItems();
final int taille = selectionStructure.size();
for (int i = 0; i < taille; i++) {
//GWT.log("INDEX :"+table.indexOf(selectionStructure.get(i)), null);
table.remove(selectionStructure.get(i));
//table.remove(selectionStructure.get(i));
store.remove(selectionStructure.get(i));
}
// Désactivation des boutons si la liste est vide
if (table.getItemCount() == 0) {
//TODO : taille de la grille??
/*if ( == 0) {
supprimer.disable();
modifier.disable();
}
}*/
} else if (info.getType().equals("maj_utilisateur")) {
if (((Utilisateur) Registry.get(RegistreId.UTILISATEUR_COURANT)).isIdentifie()) {
/*if (((Utilisateur) Registry.get(RegistreId.UTILISATEUR_COURANT)).isIdentifie()) {
//TODO : taille de la grille??
if (table.getItemCount() != 0) {
supprimer.enable();
}
} else {
supprimer.disable();
}
}*/
}
} else {
GWT.log("Pas de correspondance dans la méthode rafraichir() de la classe "+this.getClass(), null);