Subversion Repositories eFlore/Applications.del

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
148 benjamin 1
package org.tela_botanica.del.client.vues.rechercheimages;
9 benjamin 2
 
3
import java.util.ArrayList;
4
import java.util.List;
5
 
148 benjamin 6
import org.tela_botanica.del.client.modeles.Image;
32 gduche 7
 
124 gduche 8
import com.google.gwt.core.client.GWT;
9
import com.google.gwt.uibinder.client.UiBinder;
10
import com.google.gwt.uibinder.client.UiField;
11
import com.google.gwt.user.client.ui.Button;
9 benjamin 12
import com.google.gwt.user.client.ui.Composite;
13
import com.google.gwt.user.client.ui.FlexTable;
14
import com.google.gwt.user.client.ui.FlowPanel;
15
import com.google.gwt.user.client.ui.HTML;
16
import com.google.gwt.user.client.ui.Panel;
17
import com.google.gwt.user.client.ui.TextBox;
18
import com.google.gwt.user.client.ui.VerticalPanel;
124 gduche 19
import com.google.gwt.user.client.ui.Widget;
9 benjamin 20
 
148 benjamin 21
public class ImageRechercheVue extends Composite {
9 benjamin 22
 
23
	private final VerticalPanel mainPanel = new VerticalPanel();
26 gduche 24
	private final Panel panneauChargement = new FlowPanel();
9 benjamin 25
	private final Panel taxaPanel = new FlowPanel();
26 gduche 26
	private final List<Panel> panneauxImages = new ArrayList<Panel>();
27
	private final HTML labelChargement = new HTML("<img src='img/wait.gif' />Contact du serveur du CEL...");
28
	private final HTML labelChercher = new HTML("<img src='img/search_icon.gif' />Search &nbsp;&nbsp;      taxon:");
9 benjamin 29
	private int nbCol = 5;
30
	private final int nbImagesPerPage = 10;
31
	private int numImage = 0;
32
	private final TextBox textBox = new TextBox();
33
 
124 gduche 34
	// Annotation can be used to change the name of the associated xml file
35
	// @UiTemplate("ObservationRechercheVue.ui.xml")
148 benjamin 36
	interface MyUiBinder extends UiBinder<Widget, ImageRechercheVue> {
124 gduche 37
	}
9 benjamin 38
 
124 gduche 39
	private static MyUiBinder uiBinder = GWT.create(MyUiBinder.class);
9 benjamin 40
 
124 gduche 41
	@UiField
42
	TextBox nomEspece;
9 benjamin 43
 
124 gduche 44
	@UiField
45
	Panel panneauPagination;
9 benjamin 46
 
124 gduche 47
	@UiField
48
	Button boutonChercher;
9 benjamin 49
 
124 gduche 50
	@UiField
51
	FlexTable imageTable;
26 gduche 52
 
124 gduche 53
	// Constructeur
148 benjamin 54
	protected ImageRechercheVue() {
26 gduche 55
 
124 gduche 56
		initWidget(uiBinder.createAndBindUi(this));
57
		nomEspece.setFocus(true);
9 benjamin 58
	}
59
 
26 gduche 60
	/**
61
	 * Nettoie et remet à zéro les composants du panneau qui doivent l'être
62
	 * */
63
	protected void nettoyer() {
64
		panneauPagination.clear();
65
		setNumImage(0);
66
		imageTable.clear();
67
		panneauxImages.clear();
68
	}
69
 
148 benjamin 70
	protected void creerPanneauxObservation(List<Image> images) {
32 gduche 71
 
148 benjamin 72
		for (int i = 0; i < images.size(); i++) {
32 gduche 73
			Panel imagePanel = new VerticalPanel();
74
			panneauxImages.add(imagePanel);
75
		}
76
 
9 benjamin 77
	}
78
 
26 gduche 79
	protected void afficherPanneauxImage(int first, int last) {
9 benjamin 80
		imageTable.clear();
81
 
82
		int positionImage = 0;
83
		for (int numImage = first; numImage < last; numImage++) {
84
			try {
26 gduche 85
				Panel panel = panneauxImages.get(numImage);
86
				imageTable.setWidget((positionImage) / nbCol, (positionImage) % nbCol, panel);
9 benjamin 87
			} catch (Exception e) {
88
				break;
89
			}
90
 
91
			positionImage++;
92
		}
93
	}
94
 
26 gduche 95
	public void setNumImage(int numImage) {
96
		this.numImage = numImage;
97
	}
98
 
99
	protected void startChargement() {
100
		panneauChargement.setVisible(true);
101
	}
102
 
103
	protected void stopChargement() {
28 benjamin 104
		panneauChargement.setVisible(false);
26 gduche 105
	}
106
 
9 benjamin 107
	public FlexTable getImageTable() {
108
		return imageTable;
109
	}
110
 
111
	public int getNumImage() {
112
		return numImage;
113
	}
114
 
26 gduche 115
	public Panel getPanneauChargement() {
116
		return panneauChargement;
9 benjamin 117
	}
118
 
26 gduche 119
	public HTML getLabelChercher() {
120
		return labelChercher;
9 benjamin 121
	}
122
 
26 gduche 123
	public Panel getPanneauPagination() {
124
		return panneauPagination;
9 benjamin 125
	}
126
 
127
	public int getNbImagesPerPage() {
128
		return nbImagesPerPage;
129
	}
130
 
26 gduche 131
	public TextBox getTextBox() {
124 gduche 132
		return nomEspece;
9 benjamin 133
	}
134
 
26 gduche 135
	public Panel getPanel() {
136
		return mainPanel;
9 benjamin 137
	}
138
 
86 benjamin 139
	public List<Panel> getPanneauxImages() {
140
		return panneauxImages;
141
	}
124 gduche 142
 
143
	public Button getBoutonChercher() {
144
		return boutonChercher;
145
	}
9 benjamin 146
}