Subversion Repositories eFlore/Applications.del

Rev

Rev 14 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
14 benjamin 1
package org.tela_botanica.del.client.vues.rechercheobservations;
9 benjamin 2
 
3
import java.util.ArrayList;
4
import java.util.List;
5
 
6
import com.google.gwt.user.client.ui.Composite;
7
import com.google.gwt.user.client.ui.FlexTable;
8
import com.google.gwt.user.client.ui.FlowPanel;
9
import com.google.gwt.user.client.ui.HTML;
10
import com.google.gwt.user.client.ui.HasHorizontalAlignment;
11
import com.google.gwt.user.client.ui.HorizontalPanel;
12
import com.google.gwt.user.client.ui.Panel;
13
import com.google.gwt.user.client.ui.TextBox;
14
import com.google.gwt.user.client.ui.VerticalPanel;
15
 
14 benjamin 16
public class ObservationRechercheVue extends Composite {
9 benjamin 17
 
18
	private final VerticalPanel mainPanel = new VerticalPanel();
26 gduche 19
	private final Panel panneauChargement = new FlowPanel();
9 benjamin 20
	private final Panel taxaPanel = new FlowPanel();
21
	private final FlexTable imageTable = new FlexTable();
26 gduche 22
	private final Panel panneauPagination = new HorizontalPanel();
23
	private final List<Panel> panneauxImages = new ArrayList<Panel>();
24
	private final HTML labelChargement = new HTML("<img src='img/wait.gif' />Contact du serveur du CEL...");
25
	private final HTML labelChercher = new HTML("<img src='img/search_icon.gif' />Search &nbsp;&nbsp;      taxon:");
9 benjamin 26
	private int nbCol = 5;
27
	private final int nbImagesPerPage = 10;
28
	private int numImage = 0;
29
	private final TextBox textBox = new TextBox();
30
 
26 gduche 31
	// Constructeur
14 benjamin 32
	protected ObservationRechercheVue() {
9 benjamin 33
 
34
		textBox.setText("apifera");
35
		textBox.setFocus(true);
36
 
37
		mainPanel.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_CENTER);
38
		mainPanel.setSize("100%", "100%");
39
 
40
		Panel textBoxPanel = new HorizontalPanel();
26 gduche 41
		textBoxPanel.add(labelChercher);
9 benjamin 42
		textBoxPanel.add(textBox);
43
 
44
		Panel searchPanel = new VerticalPanel();
45
		searchPanel.add(new HTML("Rechercher une image"));
46
		searchPanel.add(textBoxPanel);
26 gduche 47
		searchPanel.add(new HTML("Entrez un nom de genre ou d'esp&egrave;ce, un nom de commune, un num&eacute;ro de departement, l'email d'un utilisateur ou un mot-clef"));
9 benjamin 48
 
26 gduche 49
		panneauChargement.add(labelChargement);
50
		panneauChargement.setVisible(false);
51
 
52
		mainPanel.add(panneauChargement);
53
 
9 benjamin 54
		taxaPanel.add(imageTable);
55
 
56
		mainPanel.add(searchPanel);
26 gduche 57
		mainPanel.add(panneauPagination);
9 benjamin 58
		mainPanel.add(taxaPanel);
59
 
60
		initWidget(mainPanel);
61
	}
62
 
26 gduche 63
	/**
64
	 * Nettoie et remet à zéro les composants du panneau qui doivent l'être
65
	 * */
66
	protected void nettoyer() {
67
		panneauPagination.clear();
68
		setNumImage(0);
69
		imageTable.clear();
70
		panneauxImages.clear();
71
	}
72
 
9 benjamin 73
	protected void addImagePanel(Panel imagePanel) {
26 gduche 74
		this.panneauxImages.add(imagePanel);
9 benjamin 75
	}
76
 
26 gduche 77
	protected void afficherPanneauxImage(int first, int last) {
9 benjamin 78
		imageTable.clear();
79
 
80
		int positionImage = 0;
81
		for (int numImage = first; numImage < last; numImage++) {
82
			try {
26 gduche 83
				Panel panel = panneauxImages.get(numImage);
84
				imageTable.setWidget((positionImage) / nbCol, (positionImage) % nbCol, panel);
9 benjamin 85
			} catch (Exception e) {
86
				break;
87
			}
88
 
89
			positionImage++;
90
		}
91
	}
92
 
26 gduche 93
	public void setNumImage(int numImage) {
94
		this.numImage = numImage;
95
	}
96
 
97
	protected void startChargement() {
98
		panneauChargement.setVisible(true);
99
	}
100
 
101
	protected void stopChargement() {
102
		// panneauChargement.setVisible(false);
103
	}
104
 
9 benjamin 105
	public FlexTable getImageTable() {
106
		return imageTable;
107
	}
108
 
109
	public int getNumImage() {
110
		return numImage;
111
	}
112
 
26 gduche 113
	public Panel getPanneauChargement() {
114
		return panneauChargement;
9 benjamin 115
	}
116
 
26 gduche 117
	public HTML getLabelChercher() {
118
		return labelChercher;
9 benjamin 119
	}
120
 
26 gduche 121
	public Panel getPanneauPagination() {
122
		return panneauPagination;
9 benjamin 123
	}
124
 
125
	public int getNbImagesPerPage() {
126
		return nbImagesPerPage;
127
	}
128
 
26 gduche 129
	public TextBox getTextBox() {
130
		return textBox;
9 benjamin 131
	}
132
 
26 gduche 133
	public Panel getPanel() {
134
		return mainPanel;
9 benjamin 135
	}
136
 
137
}