14,19 → 14,38 |
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); |
} |
83,8 → 103,7 |
BusEvenementiel.getInstance().fireEvent(evenementRechercheImage); |
} |
|
public RechercheImageVue getVue() { |
return vue; |
public HasWidgets getPanneauResultats() { |
return vue.getPanneauResultats(); |
} |
|
} |