Subversion Repositories eFlore/Applications.cel

Compare Revisions

No changes between revisions

Ignore whitespace Rev 705 → Rev 706

/trunk/src/org/tela_botanica/client/vues/image/OptionsImages.java
New file
0,0 → 1,212
package org.tela_botanica.client.vues.image;
 
import org.tela_botanica.client.image.ImageMediateur;
 
import com.google.gwt.core.client.JavaScriptObject;
import com.gwtext.client.core.EventObject;
import com.gwtext.client.widgets.Button;
import com.gwtext.client.widgets.Component;
import com.gwtext.client.widgets.ToolbarButton;
import com.gwtext.client.widgets.event.ButtonListener;
import com.gwtext.client.widgets.event.ButtonListenerAdapter;
import com.gwtext.client.widgets.menu.BaseItem;
import com.gwtext.client.widgets.menu.Item;
import com.gwtext.client.widgets.menu.Menu;
import com.gwtext.client.widgets.menu.MenuItem;
import com.gwtext.client.widgets.menu.event.BaseItemListener;
import com.gwtext.client.widgets.menu.event.BaseItemListenerAdapter;
import com.gwtext.client.widgets.menu.event.MenuListenerAdapter;
 
/**
* Menu de gestion des images
*
* @author aurelien
*
*/
public class OptionsImages {
 
/**
* Le médiateur associé à la vue
*/
private ImageMediateur iMediateur;
 
/**
* Item pour l'upload
*/
private MenuItem uploaderImage = null;
/**
* Item pour la suppression
*/
private ToolbarButton supprimerImage = null;
 
/**
* Item pour l'ajout d'images à la selection
*/
private Item ajouterImageSelection = null;
 
/**
* Item pour vider la selection d'images
*/
private Item viderSelection = null;
 
/**
* Item pour lier la selection d'images
*/
private Item afficherSelection = null;
private Item uploadMultiple = null ;
private Item uploadSimple = null ;
private Menu mnFichiers = null ;
private Menu mnTampon = null ;
 
/**
* Constructeur sans argument (privé car ne doit être utilisé)
*/
@SuppressWarnings("unused")
private OptionsImages() {
super();
}
 
/**
* Constructeur avec paramètre
*
* @param im
* le médiateur à associer
*/
public OptionsImages(ImageMediateur im) {
super();
 
iMediateur = im;
mnFichiers = new Menu();
uploadMultiple = new Item("Plusieurs dossiers ou fichiers à la fois");
uploadSimple = new Item("Un fichier à la la fois");
mnFichiers.addItem(uploadMultiple);
mnFichiers.addItem(uploadSimple);
 
// on construit le menu
uploaderImage = new MenuItem("Ajouter des images", mnFichiers);
supprimerImage = new ToolbarButton("Supprimer");
ajouterImageSelection = new Item(
"Ajouter les images sélectionnées au tampon");
viderSelection = new Item("Supprimer le contenu du tampon");
afficherSelection = new Item("Supprimer le contenu du tampon");
mnTampon = new Menu();
mnTampon.addItem(ajouterImageSelection);
mnTampon.addItem(viderSelection);
mnTampon.addItem(afficherSelection);
 
// on ajoute les listeners
ajouterListeners();
}
 
/**
* Ajoute les listeners pour la gestions des évènements
*/
private void ajouterListeners() {
mnTampon.addListener(new MenuListenerAdapter() {
 
// gestion du clic sur un item
 
public void onItemClick(BaseItem item, EventObject e) {
 
// si c'est l'ajout à la sélection
if (item.equals(ajouterImageSelection)) {
getIMediateur().ajouterImagesSelection();
}
 
// si c'est le vidage de la sélection
if (item.equals(viderSelection)) {
getIMediateur().viderSelection();
}
 
// si c'est l'affichage de la selection
if (item.equals(afficherSelection)) {
getIMediateur().afficherIdSelectionImages();
}
// enfin, on cache le menu
mnTampon.hide();
 
}
public void onShow(Menu menu) {
if(getIMediateur().getCompteSelection() != 0) {
afficherSelection.enable();
viderSelection.enable();
}
else {
afficherSelection.disable();
viderSelection.disable();
}
}
 
});
mnTampon.setTitle("Permet de sélectionner et d'afficher des images présentes sur plusieurs pages");
// si c'est la suppression
supprimerImage.addListener(new ButtonListenerAdapter() {
 
public void onClick(Button b, EventObject e) {
// on notifie le médiateur
getIMediateur().supprimerImages();
}
});
supprimerImage.setTitle("Supprimer les images sélectionnées");
mnFichiers.addListener(new MenuListenerAdapter() {
public void onItemClick(BaseItem item, EventObject e) {
// si c'est l'upload
if (item.equals(uploadMultiple)) {
// on notifie le médiateur
getIMediateur().uploaderImages(true);
}
// si c'est l'upload
if (item.equals(uploadSimple)) {
// on notifie le médiateur
getIMediateur().uploaderImages(false);
}
}
});
mnFichiers.setTitle("Ajouter des images en les selectionnant une par une ou bien un dossier à la fois");
}
public Menu getMenuImage() {
return mnFichiers;
}
public Menu getMenuTampon() {
return mnTampon;
}
public ToolbarButton getBoutonSuppression() {
return supprimerImage;
}
 
/**
* Accesseur pour le médiateur
*
* @return le médiateur associé à la vue
*/
public ImageMediateur getIMediateur() {
return iMediateur;
}
 
}
Property changes:
Added: svn:mergeinfo