New file |
0,0 → 1,135 |
package org.tela_botanica.cel.client.vues.observation.listeobservations; |
|
import org.tela_botanica.cel.client.modeles.Observation; |
|
import com.google.gwt.cell.client.TextCell; |
import com.google.gwt.core.client.GWT; |
import com.google.gwt.dom.client.Style.Unit; |
import com.google.gwt.uibinder.client.UiBinder; |
import com.google.gwt.uibinder.client.UiField; |
import com.google.gwt.user.cellview.client.CellTable; |
import com.google.gwt.user.cellview.client.Column; |
import com.google.gwt.user.client.ui.Composite; |
import com.google.gwt.user.client.ui.FlowPanel; |
import com.google.gwt.user.client.ui.HasWidgets; |
import com.google.gwt.user.client.ui.Widget; |
import com.google.gwt.view.client.DefaultSelectionEventManager; |
import com.google.gwt.view.client.ListDataProvider; |
import com.google.gwt.view.client.MultiSelectionModel; |
import com.google.gwt.view.client.ProvidesKey; |
import com.google.gwt.view.client.SelectionChangeEvent.HasSelectionChangedHandlers; |
import com.google.gwt.view.client.SelectionModel; |
|
public class ListeObservationVue extends Composite implements ListeObservationPresenteur.Vue { |
|
interface MyUiBinder extends UiBinder<Widget, ListeObservationVue> { |
} |
private static MyUiBinder uiBinder = GWT.create(MyUiBinder.class); |
|
@UiField(provided = true) |
CellTable<Observation> tableauObservation; |
@UiField(provided = true) |
FlowPanel panneauPagination; |
|
Column<Observation, String> transmis, nomSaisi, nomRetenu, lieu, date ,ordre; |
SelectionModel<Observation> modeleSelection; |
|
ListDataProvider<Observation> listeObservation; |
|
private static final ProvidesKey<Observation> CLE_OBS = new ProvidesKey<Observation>() { |
public Object getKey(Observation obs) { |
return obs == null ? null : obs.getId(); |
} |
}; |
|
public ListeObservationVue() { |
tableauObservation = new CellTable<Observation>(); |
panneauPagination = new FlowPanel(); |
initialiserTable(); |
|
initWidget(uiBinder.createAndBindUi(this)); |
} |
|
private void initialiserTable() { |
|
modeleSelection = new MultiSelectionModel<Observation>(CLE_OBS); |
tableauObservation.setSelectionModel(modeleSelection, DefaultSelectionEventManager.<Observation> createDefaultManager()); |
|
initialiserColonnes(); |
|
listeObservation = new ListDataProvider<Observation>(); |
listeObservation.addDataDisplay(tableauObservation); |
} |
|
private void initialiserColonnes() { |
transmis = new Column<Observation, String>( |
new TextCell()) { |
@Override |
public String getValue(Observation obs) { |
return obs.getTransmission(); |
} |
}; |
transmis.setSortable(true); |
ajouterColonne(transmis, "Transmis", 10); |
|
nomSaisi = new Column<Observation, String>( |
new TextCell()) { |
@Override |
public String getValue(Observation obs) { |
return obs.getNomSaisi(); |
} |
}; |
nomSaisi.setSortable(true); |
ajouterColonne(nomSaisi, "Nom saisi", 20); |
|
nomRetenu = new Column<Observation, String>( |
new TextCell()) { |
@Override |
public String getValue(Observation obs) { |
return obs.getNomRetenu(); |
} |
}; |
nomRetenu.setSortable(true); |
ajouterColonne(nomRetenu, "Nom retenu", 20); |
|
lieu = new Column<Observation, String>( |
new TextCell()) { |
@Override |
public String getValue(Observation obs) { |
return obs.getLocaliteAvecIdFormatee()+" "+obs.getLieuDit(); |
} |
}; |
lieu.setSortable(true); |
ajouterColonne(lieu, "Lieu", 20); |
|
date = new Column<Observation, String>( |
new TextCell()) { |
@Override |
public String getValue(Observation obs) { |
return obs.getDateReleve(); |
} |
}; |
date.setSortable(true); |
ajouterColonne(date, "Date", 20); |
|
ordre = new Column<Observation, String>( |
new TextCell()) { |
@Override |
public String getValue(Observation obs) { |
return obs.getOrdre(); |
} |
}; |
ordre.setSortable(true); |
ajouterColonne(ordre, "Ordre", 10); |
} |
|
private void ajouterColonne(Column<Observation, String> colonne, String nomColonne, int largeur) { |
tableauObservation.addColumn(colonne, nomColonne); |
tableauObservation.setColumnWidth(colonne, largeur, Unit.PCT); |
} |
|
@Override |
public void ajouterAuParent(HasWidgets parent) { |
parent.add(this); |
} |
} |