Subversion Repositories eFlore/Applications.del

Compare Revisions

Ignore whitespace Rev 276 → Rev 277

/trunk/src/org/tela_botanica/del/client/vues/rechercheimages/RechercheImagePresenteur.java
14,20 → 14,39
import com.google.gwt.event.dom.client.ChangeHandler;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.event.dom.client.HasChangeHandlers;
import com.google.gwt.event.dom.client.HasClickHandlers;
import com.google.gwt.event.dom.client.HasKeyPressHandlers;
import com.google.gwt.event.dom.client.KeyCodes;
import com.google.gwt.event.dom.client.KeyPressEvent;
import com.google.gwt.event.dom.client.KeyPressHandler;
import com.google.gwt.user.client.ui.HasWidgets;
import com.google.gwt.user.client.ui.IsWidget;
 
public class RechercheImagePresenteur {
 
public interface Vue extends IsWidget {
public abstract void ajouterProtocole(String protocole);
public abstract void selectionnerProtocole(int index);
public abstract HasClickHandlers getBoutonChercher();
public abstract HasKeyPressHandlers getChampEspece();
public abstract HasChangeHandlers getListeProtocoles();
public abstract HasWidgets getPanneauResultats();
}
private Vue vue;
private final MockDatasource dataSource = MockDatasource.getInstance();
private final RechercheImageVue vue = new RechercheImageVue();
private String protocoleParDefaut = Protocole.IDENTIFICATION_AUTOMATIQUE;
private List<Protocole> protocoles;
 
public RechercheImagePresenteur() {
 
/**
* Constructeur
* */
public RechercheImagePresenteur(Vue vue) {
this.vue = vue;
if (CacheClient.getInstance().getProtocoleCourant() == null) {
CacheClient.getInstance().setProtocoleCourant(dataSource.getProtocole(protocoleParDefaut));
}
34,7 → 53,7
}
 
public void go(HasWidgets composite) {
composite.add(vue);
composite.add(vue.asWidget());
gererEvenements();
chargerProtocoles();
}
42,14 → 61,14
private void chargerProtocoles() {
protocoles = dataSource.getProtocoles();
for (Protocole protocole : protocoles) {
vue.listeProtocoles.addItem(protocole.getNom());
vue.ajouterProtocole(protocole.getNom());
}
vue.listeProtocoles.setSelectedIndex(protocoles.indexOf(CacheClient.getInstance().getProtocoleCourant()));
vue.selectionnerProtocole(protocoles.indexOf(CacheClient.getInstance().getProtocoleCourant()));
}
 
public void gererEvenements() {
 
vue.boutonChercher.addClickHandler(new ClickHandler() {
vue.getBoutonChercher().addClickHandler(new ClickHandler() {
 
@Override
public void onClick(ClickEvent event) {
57,7 → 76,7
}
});
 
vue.nomEspece.addKeyPressHandler(new KeyPressHandler() {
vue.getChampEspece().addKeyPressHandler(new KeyPressHandler() {
 
public void onKeyPress(KeyPressEvent event) {
if (event.getNativeEvent().getKeyCode() == KeyCodes.KEY_ENTER) {
66,11 → 85,12
}
});
 
vue.listeProtocoles.addChangeHandler(new ChangeHandler() {
vue.getListeProtocoles().addChangeHandler(new ChangeHandler() {
 
@Override
public void onChange(ChangeEvent event) {
Protocole protocoleCourant = protocoles.get(vue.listeProtocoles.getSelectedIndex());
Protocole protocoleCourant = (Protocole) event.getSource();
EvenementChangementProtocole evenement = new EvenementChangementProtocole(protocoleCourant);
BusEvenementiel.getInstance().fireEvent(evenement);
}
82,9 → 102,8
EvenementRechercheImage evenementRechercheImage = new EvenementRechercheImage(imagesFromDatabase);
BusEvenementiel.getInstance().fireEvent(evenementRechercheImage);
}
 
public RechercheImageVue getVue() {
return vue;
public HasWidgets getPanneauResultats() {
return vue.getPanneauResultats();
}
 
}
/trunk/src/org/tela_botanica/del/client/vues/rechercheimages/RechercheImageVue.java
1,6 → 1,9
package org.tela_botanica.del.client.vues.rechercheimages;
 
import com.google.gwt.core.client.GWT;
import com.google.gwt.event.dom.client.HasChangeHandlers;
import com.google.gwt.event.dom.client.HasClickHandlers;
import com.google.gwt.event.dom.client.HasKeyPressHandlers;
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.uibinder.client.UiField;
import com.google.gwt.user.client.ui.Button;
13,35 → 16,23
import com.google.gwt.user.client.ui.VerticalPanel;
import com.google.gwt.user.client.ui.Widget;
 
public class RechercheImageVue extends Composite {
public class RechercheImageVue extends Composite implements RechercheImagePresenteur.Vue {
 
private final VerticalPanel mainPanel = new VerticalPanel();
private final Panel panneauChargement = new FlowPanel();
 
// Annotation can be used to change the name of the associated xml file
// @UiTemplate("ObservationRechercheVue.ui.xml")
interface MyUiBinder extends UiBinder<Widget, RechercheImageVue> {
}
interface MyUiBinder extends UiBinder<Widget, RechercheImageVue> {}
 
private static MyUiBinder uiBinder = GWT.create(MyUiBinder.class);
 
@UiField
protected TextBox nomEspece;
@UiField TextBox nomEspece;
@UiField Panel panneauResultats;
@UiField Button boutonChercher;
@UiField Label protocoleLabel;
@UiField ListBox listeProtocoles;
 
@UiField
protected Panel panneauResultats;
 
@UiField
protected Button boutonChercher;
 
@UiField
protected Label protocoleLabel;
 
@UiField
protected ListBox listeProtocoles;
 
// Constructeur
protected RechercheImageVue() {
public RechercheImageVue() {
initWidget(uiBinder.createAndBindUi(this));
nomEspece.setFocus(true);
 
67,4 → 58,25
public void setPanneauResultats(Panel panneauResultats) {
this.panneauResultats = panneauResultats;
}
 
public HasClickHandlers getBoutonChercher() {
return boutonChercher;
}
 
public HasKeyPressHandlers getChampEspece() {
return nomEspece;
}
 
public HasChangeHandlers getListeProtocoles() {
return listeProtocoles;
}
public void ajouterProtocole(String protocole) {
listeProtocoles.addItem(protocole);
}
public void selectionnerProtocole(int index) {
listeProtocoles.setSelectedIndex(index);
}
}
/trunk/src/org/tela_botanica/del/client/gestionhistorique/GestionnaireHistorique.java
3,6 → 3,7
import org.tela_botanica.del.client.vues.comparaisoneflore.ComparaisonEflorePresenteur;
import org.tela_botanica.del.client.vues.plateformedetermination.DeterminationPresenteur;
import org.tela_botanica.del.client.vues.rechercheimages.RechercheImagePresenteur;
import org.tela_botanica.del.client.vues.rechercheimages.RechercheImageVue;
import org.tela_botanica.del.client.vues.rechercheimages.resultats.ResultatRechercheImagePresenteur;
import org.tela_botanica.del.client.vues.rechercheobservations.RechercheObservationsPresenteur;
import org.tela_botanica.del.client.vues.vueinitiale.PresenteurInitial;
28,12 → 29,12
new PresenteurInitial().go(RootPanel.get("navigation"));
} else if (event.getValue().equals(ConstantesNavigation.PAGE_RECHERCHE_IMAGES)) {
RootPanel.get("contenu").clear();
new RechercheImagePresenteur().go(RootPanel.get("contenu"));
new RechercheImagePresenteur(new RechercheImageVue()).go(RootPanel.get("contenu"));
} else if (event.getValue().equals(ConstantesNavigation.PAGE_RESULTAT_RECHERCHE_IMAGES)) {
RootPanel.get("contenu").clear();
RechercheImagePresenteur presenteur = new RechercheImagePresenteur();
RechercheImagePresenteur presenteur = new RechercheImagePresenteur(new RechercheImageVue());
presenteur.go(RootPanel.get("contenu"));
new ResultatRechercheImagePresenteur().go(presenteur.getVue().getPanneauResultats());
new ResultatRechercheImagePresenteur().go(presenteur.getPanneauResultats());
} else if (event.getValue().equals(ConstantesNavigation.PAGE_VALIDATION)) {
RootPanel.get("contenu").clear();
new DeterminationPresenteur().go(RootPanel.get("contenu"));