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 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134
| private List<CpModelData> pcps;
private MenuSlide menu;
private Slide slideCour;
private ContentPanel cp = new ContentPanel();
private LayoutContainer page = new LayoutContainer();
private ContentPanel panneauPrincipal;
private ContentPanel gestionNextPrevious;
private LayoutContainer top = new LayoutContainer(); // contient les slides
private LayoutContainer bottom = new LayoutContainer(); // gestion previous/next
private int numSlideCour;
private int numSlides;
ContentPanel north;
ContentPanel west;
ContentPanel center;
ContentPanel south;
public Diaporama(List<CpModelData> pcps) {
this.pcps = pcps;
menu = new MenuSlide(pcps);
cp.setHeading("Presentation xxx (" + pcps.size() + ")");
numSlideCour = 0;
numSlides = pcps.size() * 2;
}
@Override
protected void onRender(Element parent, int index) {
super.onRender(parent, index);
//setLayout(new FlowLayout(0));
setLayout(new FillLayout());
System.out.println("-------------- OnRender (Diaporama) --------------");
cp.setLayout(new BorderLayout());
/* ******* Variables à initialiser ********* */
north = new ContentPanel();
west = new ContentPanel();
center = new ContentPanel();
south = new ContentPanel();
center.setHeading("PCPs application");
center.setScrollMode(Scroll.AUTOX);
/* ******************* Panneau CENTER ***************** */
BorderLayoutData centerData = new BorderLayoutData(LayoutRegion.CENTER);
centerData.setCollapsible(false);
centerData.setFloatable(false);
centerData.setHideCollapseTool(true);
centerData.setSplit(false);
center.setBorders(false);
center.setStyleAttribute("background-color", "#ff0000");
// northData.setMargins(new Margins(0, 0, 0, 0));
center.setHeaderVisible(false);
center.setLayout(new FitLayout());
slideCour = menu;
center.add(slideCour); // on commence par afficher le menu de la présentation
cp.add(center, centerData);
/* ****************** Panneau SOUTH ****************** */
BorderLayoutData southData = new BorderLayoutData(LayoutRegion.SOUTH, 50);
southData.setCollapsible(false);
southData.setFloatable(false);
southData.setHideCollapseTool(true);
southData.setSplit(false);
south.setBorders(true);
south.setStyleAttribute("background-color", "#d7e2f3");
south.setStyleAttribute("border", "2px solid #ff00ff");
south.setLayout(new FillLayout());
south.setHeaderVisible(false);
south.add(getToolBar());
cp.add(south, southData);
add(cp);
}
private ToolBar getToolBar() {
ToolBar toolBar = new ToolBar();
toolBar.add(new Button("getPrevious",
new SelectionListener<ButtonEvent>() {
@Override
public void componentSelected(ButtonEvent ce) {
getPrevious();
}
}));
toolBar.add(new Button("getNext",
new SelectionListener<ButtonEvent>() {
@Override
public void componentSelected(ButtonEvent ce) {
getNext();
}
}));
return toolBar;
}
private ContentPanel getNext() {
if (slideCour != null && slideCour instanceof MenuSlide ) { // on est dans le menu
System.out.println("le slide courant est le -- MENU (" + slideCour.pageCour + ") --");
MenuSlide menuCour = (MenuSlide) slideCour;
// TODO : on doit mettre le PCP (menuCour.pageCour)
center.remove(slideCour);
slideCour = new PcpView(pcps.get(menuCour.pageCour));
center.add((PcpView) slideCour);
repaint();
System.out.println("slideCour : " + ((PcpView)slideCour));
System.err.println("--> " + new PcpView(pcps.get(menuCour.pageCour)));
} else if (slideCour != null && slideCour instanceof PcpView ) { // dans un slide
System.out.println("le slide courant est le -- SLIDE (" + numSlideCour + ") --");
PcpView pcpView = (PcpView) slideCour;
if (pcpView.isTerminated()) {
center.remove(slideCour);
slideCour = menu.getNext();
center.add(slideCour);
} else { // on affiche la page suivante
slideCour = pcpView.getNext();
}
} else {
System.err.println("slideCour == null");
}
//slideCour.recalculate();
//slideCour.repaint();
//recalculate();
//repaint();
//cp.recalculate();
//cp.repaint();
return cp;
} |
Partager