Subversion Repositories eFlore/Applications.del

Compare Revisions

Ignore whitespace Rev 413 → Rev 414

/trunk/src/org/tela_botanica/del/client/composants/fenetreOverlayDefilante/FenetreOverlayDefilanteVue.ui.xml
New file
0,0 → 1,14
<ui:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder'
xmlns:g='urn:import:com.google.gwt.user.client.ui' ui:generateFormat='com.google.gwt.i18n.rebind.format.PropertiesFormat'
ui:generateKeys="com.google.gwt.i18n.rebind.keygen.MD5KeyGenerator"
ui:generateLocales="default">
 
<ui:with field="constants" type="org.tela_botanica.del.client.i18n.Vocabulary" />
<g:VerticalPanel>
<g:HTMLPanel ui:field="overlay" />
<g:Button ui:field="boutonSuivant" text="" />
<g:HTMLPanel ui:field="overlayContenu" />
<g:Button ui:field="boutonPrecedent" text="" />
<g:Button ui:field="boutonFermer" text="{constants.fermer}" />
</g:VerticalPanel>
</ui:UiBinder>
/trunk/src/org/tela_botanica/del/client/composants/fenetreOverlayDefilante/FenetreOverlayDefilantePresenteur.java
New file
0,0 → 1,120
package org.tela_botanica.del.client.composants.fenetreOverlayDefilante;
 
import org.tela_botanica.del.client.composants.presenteur.Presenteur;
 
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.event.dom.client.HasClickHandlers;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.HTMLPanel;
import com.google.gwt.user.client.ui.HasVisibility;
import com.google.gwt.user.client.ui.HasWidgets;
import com.google.gwt.user.client.ui.IsWidget;
import com.google.gwt.user.client.ui.Panel;
import com.google.gwt.user.client.ui.RootPanel;
 
public abstract class FenetreOverlayDefilantePresenteur {
 
private IsWidget overlay;
private IsWidget overlayContenu;
public interface Vue extends IsWidget {
public IsWidget getOverlay();
public HasVisibility getOverlayVisibility();
public IsWidget getOverlayContenu();
public HasVisibility getOverlayContenuVisibility();
public HasWidgets getOverlayContenuHasWidgets();
public HasClickHandlers getBoutonFermer();
public HasClickHandlers getBoutonSuivant();
public HasClickHandlers getBoutonPrecedent();
public void setStyleOverlay(String style);
public void setStyleOverlayContenu(String style);
public void setOverlayContenu(IsWidget w);
public void viderOverlay();
public void viderOverlayContenu();
}
private Vue vue;
private boolean fenetreModaleOuverte = false;
private int indexElementAffiche = 0;
 
// Constructeur
public FenetreOverlayDefilantePresenteur(int indexElementAffiche, Vue vue) {
this.indexElementAffiche = indexElementAffiche;
this.vue = vue;
gererEvenements();
}
// Afficheur
public void go() {
go(null);
}
 
public void go(HasWidgets composite) {
}
 
// Gestion des évènements
protected void gererEvenements() {
vue.getBoutonFermer().addClickHandler(new ClickHandler() {
public void onClick(ClickEvent event) {
fermerFenetreModale();
}
});
vue.getBoutonPrecedent().addClickHandler(new ClickHandler() {
public void onClick(ClickEvent event) {
surClicBoutonPrecedent(event);
}
});
vue.getBoutonSuivant().addClickHandler(new ClickHandler() {
public void onClick(ClickEvent event) {
surClicBoutonSuivant(event);
}
});
}
 
public void ouvrirFenetreModaleDefilante(int indexElementAffiche, Presenteur presenteurModal) {
this.indexElementAffiche = indexElementAffiche;
overlay = vue.getOverlay();
vue.setStyleOverlay("overlay");
vue.getOverlayVisibility().setVisible(false);
overlayContenu = vue.getOverlayContenu();
vue.setStyleOverlayContenu("overlayContenu");
 
presenteurModal.go(vue.getOverlayContenuHasWidgets());
 
vue.getOverlayContenuVisibility().setVisible(true);
vue.getOverlayVisibility().setVisible(true);
RootPanel.get().add(vue.asWidget());
fenetreModaleOuverte = true;
}
public void setContenuFenetreModale(int indexElementAffiche, Presenteur presenteurModal) {
this.indexElementAffiche = indexElementAffiche;
vue.viderOverlayContenu();
presenteurModal.go(vue.getOverlayContenuHasWidgets());
}
public abstract void surClicBoutonSuivant(ClickEvent evt);
public abstract void surClicBoutonPrecedent(ClickEvent evt);
public boolean fenetreModaleEstOuverte() {
return fenetreModaleOuverte;
}
 
public void fermerFenetreModale() {
vue.viderOverlay();
vue.viderOverlayContenu();
RootPanel.get().remove(vue.asWidget());
fenetreModaleOuverte = false;
}
public int getIndexElementAffiche() {
return indexElementAffiche;
}
}
/trunk/src/org/tela_botanica/del/client/composants/fenetreOverlayDefilante/FenetreOverlayDefilanteVue.java
New file
0,0 → 1,100
package org.tela_botanica.del.client.composants.fenetreOverlayDefilante;
 
import org.tela_botanica.del.client.composants.fenetreOverlayDefilante.FenetreOverlayDefilantePresenteur.Vue;
 
import com.google.gwt.core.client.GWT;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.uibinder.client.UiField;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.HTMLPanel;
import com.google.gwt.user.client.ui.HasVisibility;
import com.google.gwt.user.client.ui.HasWidgets;
import com.google.gwt.user.client.ui.IsWidget;
import com.google.gwt.user.client.ui.Widget;
 
public class FenetreOverlayDefilanteVue extends Composite implements Vue {
 
// Annotation can be used to change the name of the associated xml file
// @UiTemplate("ObservationRechercheVue.ui.xml")
interface MyUiBinder extends UiBinder<Widget, FenetreOverlayDefilanteVue> {
}
 
@UiField
HTMLPanel overlay, overlayContenu;
 
@UiField
Button boutonFermer, boutonSuivant, boutonPrecedent;
public HTMLPanel getOverlay() {
return overlay;
}
 
public HTMLPanel getOverlayContenu() {
return overlayContenu;
}
 
public Button getBoutonFermer() {
return boutonFermer;
}
 
public Button getBoutonSuivant() {
return boutonSuivant;
}
 
public Button getBoutonPrecedent() {
return boutonPrecedent;
}
 
private static MyUiBinder uiBinder = GWT.create(MyUiBinder.class);
 
public FenetreOverlayDefilanteVue() {
initWidget(uiBinder.createAndBindUi(this));
boutonFermer.setStyleName("fermerOverlay");
boutonPrecedent.setStyleName("precedentOverlay");
boutonSuivant.setStyleName("suivantOverlay");
}
 
@Override
public HasVisibility getOverlayVisibility() {
return overlay;
}
 
@Override
public HasVisibility getOverlayContenuVisibility() {
return overlayContenu;
}
 
@Override
public HasWidgets getOverlayContenuHasWidgets() {
return overlayContenu;
}
 
@Override
public void setStyleOverlay(String style) {
overlay.setStyleName(style);
}
 
@Override
public void setStyleOverlayContenu(String style) {
overlayContenu.setStyleName(style);
}
 
@Override
public void setOverlayContenu(IsWidget w) {
overlayContenu.clear();
overlayContenu.add(w);
}
 
@Override
public void viderOverlay() {
overlay.clear();
}
 
@Override
public void viderOverlayContenu() {
overlayContenu.clear();
}
}