Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 145 → Rev 146

/trunk/src/org/tela_botanica/client/vues/GalerieImageVue.java
5,14 → 5,17
import org.tela_botanica.client.interfaces.Rafraichissable;
import org.tela_botanica.client.interfaces.VueListable;
 
import com.google.gwt.core.client.GWT;
import com.google.gwt.user.client.DOM;
import com.google.gwt.user.client.Element;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.ui.ClickListener;
import com.google.gwt.user.client.ui.HTML;
import com.google.gwt.user.client.ui.Widget;
import com.gwtext.client.core.EventCallback;
import com.gwtext.client.core.EventObject;
import com.gwtext.client.core.Ext;
import com.gwtext.client.core.ExtElement;
import com.gwtext.client.core.Function;
import com.gwtext.client.core.XTemplate;
import com.gwtext.client.data.FieldDef;
import com.gwtext.client.data.IntegerFieldDef;
29,8 → 32,10
import com.gwtext.client.widgets.Container;
import com.gwtext.client.widgets.DataView;
import com.gwtext.client.widgets.Panel;
import com.gwtext.client.widgets.event.ContainerListener;
import com.gwtext.client.widgets.event.ContainerListenerAdapter;
import com.gwtext.client.widgets.event.DataViewListenerAdapter;
import com.gwtext.client.widgets.event.PanelListenerAdapter;
import com.gwtext.client.widgets.grid.GridDragData;
 
/**
68,7 → 73,12
private boolean garderRatio = false;
private int tailleOr = 100 ;
boolean lienUploadInitialise = false ;
HTML videPanel = null ;
 
 
/**
* Constructeur sans argument, privé car ne doit pas être utilisé
*/
86,7 → 96,7
public GalerieImageVue(ImageMediateur im) {
super("Galerie");
iMediateur = im;
 
// on ajoute des listeners au composant tout entier
this.addListener(new ContainerListenerAdapter() {
 
98,24 → 108,11
if (!estInstancie) {
initialiser();
}
}
public void onAfterLayout(Container c) {
ExtElement lienUpload = Ext.get("lienUpload");
if(lienUpload != null) {
lienUpload.addListener("click", new EventCallback() {
public void execute(EventObject e) {
getIMediateur().uploaderImages();
}
}) ;
}
}
 
});
AjouterListenersLiens();
 
// et on ajoute la tool bar
pt = new BarrePaginationVue(this);
133,6 → 130,7
 
// ajout de listeners pour la gestion de la selection
// dans la galerie
dView.addListener(new DataViewListenerAdapter() {
 
// gestion du clic sur une image
139,7 → 137,7
 
public void onClick(DataView source, int index, Element node,
EventObject e) {
 
// on en notifie le médiateur
getIMediateur().clicGalerieImage(index, node, e);
 
183,7 → 181,6
getIMediateur().synchroniserSelection("galerie");
}
}
 
});
}
 
285,7 → 282,6
data.setProperty("taille_x_s", XYresize[0]);
data.setProperty("taille_y_s", XYresize[1]);
}
};
dView.setTpl(template);
 
294,7 → 290,7
dView.setAutoHeight(true);
dView.setMultiSelect(true);
dView.setOverCls("x-view-over");
dView.setEmptyText("<div class=\"avertissement\" >Aucune image à afficher. <a id=\"lienUpload\" href=# > Cliquez ici</a> pour en ajouter ou allez dans le menu Fichier -> Ajouter des images </div>");
dView.setEmptyText("");
 
// creation du store
FieldDef defNumImage = new IntegerFieldDef("num_image");
314,14 → 310,20
 
this.getDView().setLoadingText("chargement");
 
this.add(dView);
dView.hide();
videPanel = new HTML("<div class=\"avertissement\" >Aucune image à afficher. <br/> <a id=\"lienUploadMultiple\" href=\"#\" > Cliquez ici pour ajouter un dossier entier ou plusieurs fichiers </a> (nécessite Java) <br/> " +
" <a id=\"lienUploadSimple\" href=\"#\" > Cliquez ici pour ajouter un fichier à la fois </a> <br/> " +
" Pour ajouter des images plus tard, allez dans le menu Fichier -> Ajouter des images </div>");
this.add(videPanel);
// ajouts de la gestion des evenements pour la dataview
configDragAndDrop() ;
ajouterListenersDataView();
configDragAndDrop() ;
 
this.add(dView);
 
// et on déclare le composant comme instancié
estInstancie = true;
estInstancie = true ;
}
public void configDragAndDrop()
369,6 → 371,13
// on le charge
st.load();
if(videPanel.isVisible()) {
videPanel.setVisible(false) ;
}
if(!dView.isVisible()) {
dView.setVisible(true);
}
// on l'affecte à la vue
dView.setStore(st);
// et on rafrachit la vue
379,9 → 388,17
st.removeAll();
st.load();
dView.setStore(st);
dView.refresh();
if(dView.isVisible()) {
dView.hide() ;
}
if(!videPanel.isVisible()) {
videPanel.setVisible(true);
AjouterListenersLiens();
}
}
 
}
 
// si le composant doit répandre le rafraichissement
390,13 → 407,7
// et en notifiant qu'il en est l'expéditeur
getIMediateur().synchroniserDonneesZoomListeGalerie(
nouvelleDonnees, this);
}
 
// si c'est la première mise à jour que l'on reçoit
if (!estInstancie) {
// alors le composant est considéré comme instancié
estInstancie = true;
}
}
}
 
/**
444,5 → 455,30
return res;
}
private void AjouterListenersLiens() {
 
addListener(new PanelListenerAdapter() {
public void onAfterLayout(Container c) {
ExtElement uploadS = Ext.get("lienUploadSimple");
uploadS.removeAllListeners();
uploadS.addListener("click", new EventCallback() {
public void execute(EventObject e) {
getIMediateur().uploaderImages(false);
}
}) ;
ExtElement uploadM = Ext.get("lienUploadMultiple");
uploadM.removeAllListeners();
uploadM.addListener("click", new EventCallback() {
public void execute(EventObject e) {
getIMediateur().uploaderImages(true);
}
});
}
 
});
}
}