1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110
|
public class PremiersTestsGWTPage extends Page {
private List listeCellules; //liste des cellules contenues dans la base
private Grid titres; //la grille des titres
private GrilleGestionClics planning; //la grille planning (gestions des clics)
private String tabJours[] = {"Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi", "Dimanche"};
protected void createWidget(WidgetContainer container) {
AbsolutePanel abs = new AbsolutePanel();
//construction des titres
construireTitre();
//construction du planning
construirePlanning();
//récupération des cellules contenues dans la BDD
//et ajout dans la grille
recupCellulesTest();
//création du panel et ajout des widgets
FlowPanel listFlowPanel = new FlowPanel ();
listFlowPanel.add(titres);
listFlowPanel.add(planning);
listFlowPanel.setWidth("815px");
abs.add(listFlowPanel, 30,30);
container.add(abs);
}
/**
*construit la ligne de titre pour le planning
*
*/
private void construireTitre(){
//création de la ligne des titres
//pas d'intérêt pour ma question ;)
}
/**
*construit les cases du planning
*
*/
private void construirePlanning(){
planning = new GrilleGestionClics(11, 8);
planning.setCellSpacing(0);
planning.setCellPadding(0);
planning.setWidth("100%");
planning.setStyleName("stylePlanning");
//ajout des tranches horaires
for(int i=0; i<11; i++){
planning.setText(i, 0, (i+9)+"h00 - "+(i+10)+"h00");
planning.getCellFormatter().setWidth(i, 0, "115px");
}
}
/**
*recupere l'ensemble des cellules de tests contenues dans la BDD
* et remplit la grille
*/
private void recupCellulesTest(){
GestionCellulesTestAsync gestionCell = GestionCellulesTest.Util.getInstance();
AsyncCallback callback = new AsyncCallback() {
public void onSuccess(Object result) {
//ok
listeCellules = (List)result;
remplirPlanning();
}
public void onFailure(Throwable caught) {
// méthode exécutée en cas d'erreur
Window.alert("erreur de communication avec le serveur : "
+caught.getMessage());
}
};
gestionCell.getAllCellTest(callback);
}
/*
*Remplit la grille avec les cellules contenues dans la liste
*
*/
private void remplirPlanning(){
//ajout de cellules de test
//préparation de l'index de cellules, si nécessaire
int indexL=0;
//si la liste n'est pas null et pas vide :
if(listeCellules!=null && !listeCellules.isEmpty()){
for(int i=0; i<11; i++){
for(int j=1; j<8; j++){
//si liste pas null et pas vide
planning.setWidget(i, j, new CasePlanning((CelluleTest)listeCellules.get(indexL)));
indexL++;
}
}
}
//sinon, on crée une cellule vide et on l'ajoute à la base
else{
//là encore c'est pas le soucis...
}
} |
Partager