Subversion Repositories eFlore/Applications.del

Rev

Rev 210 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 210 Rev 224
1
package org.tela_botanica.del.client.vues.rechercheimages.resultats;
1
package org.tela_botanica.del.client.vues.rechercheimages.resultats;
2
 
2
 
3
import java.util.ArrayList;
3
import java.util.ArrayList;
4
import java.util.List;
4
import java.util.List;
5
 
5
 
6
import org.tela_botanica.del.client.modeles.Image;
6
import org.tela_botanica.del.client.modeles.Image;
7
 
7
 
8
import com.google.gwt.core.client.GWT;
8
import com.google.gwt.core.client.GWT;
9
import com.google.gwt.uibinder.client.UiBinder;
9
import com.google.gwt.uibinder.client.UiBinder;
10
import com.google.gwt.uibinder.client.UiField;
10
import com.google.gwt.uibinder.client.UiField;
11
import com.google.gwt.user.client.ui.Composite;
11
import com.google.gwt.user.client.ui.Composite;
12
import com.google.gwt.user.client.ui.FlexTable;
12
import com.google.gwt.user.client.ui.FlexTable;
13
import com.google.gwt.user.client.ui.FlowPanel;
13
import com.google.gwt.user.client.ui.FlowPanel;
14
import com.google.gwt.user.client.ui.Panel;
14
import com.google.gwt.user.client.ui.Panel;
15
import com.google.gwt.user.client.ui.VerticalPanel;
15
import com.google.gwt.user.client.ui.VerticalPanel;
16
import com.google.gwt.user.client.ui.Widget;
16
import com.google.gwt.user.client.ui.Widget;
17
 
17
 
18
public class ResultatRechercheImageVue extends Composite {
18
public class ResultatRechercheImageVue extends Composite {
19
 
19
 
20
	private final VerticalPanel mainPanel = new VerticalPanel();
20
	private final VerticalPanel mainPanel = new VerticalPanel();
21
	private final Panel panneauChargement = new FlowPanel();
21
	private final Panel panneauChargement = new FlowPanel();
22
	private final List<Panel> panneauxImages = new ArrayList<Panel>();
22
	private final List<Panel> panneauxImages = new ArrayList<Panel>();
23
	private int nbCol = 5;
23
	private int nbCol = 5;
24
	private final int nbImagesPerPage = 10;
24
	private final int nbImagesPerPage = 10;
25
	private int numImage = 0;
25
	private int numImage = 0;
26
 
26
 
27
	// Annotation can be used to change the name of the associated xml file
27
	// Annotation can be used to change the name of the associated xml file
28
	// @UiTemplate("ObservationRechercheVue.ui.xml")
28
	// @UiTemplate("ObservationRechercheVue.ui.xml")
29
	interface MyUiBinder extends UiBinder<Widget, ResultatRechercheImageVue> {
29
	interface MyUiBinder extends UiBinder<Widget, ResultatRechercheImageVue> {
30
	}
30
	}
31
 
31
 
32
	private static MyUiBinder uiBinder = GWT.create(MyUiBinder.class);
32
	private static MyUiBinder uiBinder = GWT.create(MyUiBinder.class);
33
 
33
 
34
	@UiField
34
	@UiField
35
	Panel panneauPagination;
35
	Panel panneauPagination;
36
 
36
 
37
	@UiField
37
	@UiField
38
	FlexTable imageTable;
38
	FlexTable imageTable;
39
 
39
 
40
	// Constructeur
40
	// Constructeur
41
	protected ResultatRechercheImageVue() {
41
	protected ResultatRechercheImageVue() {
42
 
42
 
43
		initWidget(uiBinder.createAndBindUi(this));
43
		initWidget(uiBinder.createAndBindUi(this));
44
 
44
 
45
	}
45
	}
46
 
46
 
47
	/**
47
	/**
48
	 * Nettoie et remet à zéro les composants du panneau qui doivent l'être
48
	 * Nettoie et remet à zéro les composants du panneau qui doivent l'être
49
	 * */
49
	 * */
50
	protected void nettoyer() {
50
	protected void nettoyer() {
51
		panneauPagination.clear();
-
 
52
		setNumImage(0);
51
		setNumImage(0);
53
		imageTable.clear();
52
		imageTable.clear();
54
		panneauxImages.clear();
53
		panneauxImages.clear();
55
	}
54
	}
56
 
55
	
57
	protected void creerPanneauxObservation(List<Image> images) {
56
	protected void creerPanneauxObservations(int taille) {
58
 
57
		
-
 
58
		panneauxImages.clear();
59
		for (int i = 0; i < images.size(); i++) {
59
		for (int i = 0; i < taille; i++) {
60
			Panel imagePanel = new VerticalPanel();
60
			Panel imagePanel = new VerticalPanel();
61
			panneauxImages.add(imagePanel);
61
			panneauxImages.add(imagePanel);
62
		}
62
		}
63
 
-
 
64
	}
63
	}
65
 
64
 
66
	protected void afficherPanneauxImage(int first, int last) {
-
 
67
		imageTable.clear();
-
 
68
 
-
 
69
		int positionImage = 0;
-
 
70
		for (int numImage = first; numImage < last; numImage++) {
-
 
71
			try {
-
 
72
				Panel panel = panneauxImages.get(numImage);
-
 
73
				imageTable.setWidget((positionImage) / nbCol, (positionImage) % nbCol, panel);
-
 
74
			} catch (Exception e) {
-
 
75
				break;
-
 
76
			}
65
	protected void afficherPanneauxObservation(List<Panel> imagesPanel) {
-
 
66
 
-
 
67
		imageTable.clear();
-
 
68
		for (int i = 0; i < imagesPanel.size(); i++) {
-
 
69
			VerticalPanel panneauImage = (VerticalPanel)imagesPanel.get(i);
77
 
70
			panneauxImages.add(panneauImage);
-
 
71
			imageTable.setWidget((i) / nbCol, (i) % nbCol, panneauImage);
78
			positionImage++;
72
		}
79
		}
73
 
80
	}
74
	}
81
 
75
 
82
	public void setNumImage(int numImage) {
76
	public void setNumImage(int numImage) {
83
		this.numImage = numImage;
77
		this.numImage = numImage;
84
	}
78
	}
85
 
79
 
86
	protected void startChargement() {
80
	protected void startChargement() {
87
		panneauChargement.setVisible(true);
81
		panneauChargement.setVisible(true);
88
	}
82
	}
89
 
83
 
90
	protected void stopChargement() {
84
	protected void stopChargement() {
91
		panneauChargement.setVisible(false);
85
		panneauChargement.setVisible(false);
92
	}
86
	}
93
 
87
 
94
	public FlexTable getImageTable() {
88
	public FlexTable getImageTable() {
95
		return imageTable;
89
		return imageTable;
96
	}
90
	}
97
 
91
 
98
	public int getNumImage() {
92
	public int getNumImage() {
99
		return numImage;
93
		return numImage;
100
	}
94
	}
101
 
95
 
102
	public Panel getPanneauChargement() {
96
	public Panel getPanneauChargement() {
103
		return panneauChargement;
97
		return panneauChargement;
104
	}
98
	}
105
 
99
 
106
	public Panel getPanneauPagination() {
100
	public Panel getPanneauPagination() {
107
		return panneauPagination;
101
		return panneauPagination;
108
	}
102
	}
109
 
103
 
110
	public int getNbImagesPerPage() {
104
	public int getNbImagesPerPage() {
111
		return nbImagesPerPage;
105
		return nbImagesPerPage;
112
	}
106
	}
113
 
107
 
114
	public Panel getPanel() {
108
	public Panel getPanel() {
115
		return mainPanel;
109
		return mainPanel;
116
	}
110
	}
117
 
111
 
118
	public List<Panel> getPanneauxImages() {
112
	public List<Panel> getPanneauxImages() {
119
		return panneauxImages;
113
		return panneauxImages;
120
	}
114
	}
121
 
115
 
122
}
116
}