/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")); |