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 |