Rev 1292 | Blame | Compare with Previous | Last modification | View Log | RSS feed
package org.tela_botanica.client.vues.image;import org.tela_botanica.client.image.ImageMediateur;import org.tela_botanica.client.util.Util;import org.tela_botanica.client.vues.MenuAideVue;import com.gwtext.client.core.EventCallback;import com.gwtext.client.core.EventObject;import com.gwtext.client.core.Ext;import com.gwtext.client.widgets.Button;import com.gwtext.client.widgets.SplitButton;import com.gwtext.client.widgets.Toolbar;import com.gwtext.client.widgets.ToolbarButton;import com.gwtext.client.widgets.ToolbarMenuButton;import com.gwtext.client.widgets.ToolbarTextItem;import com.gwtext.client.widgets.event.ButtonListenerAdapter;import com.gwtext.client.widgets.event.SplitButtonListenerAdapter;/*** Barre d'outils contenant le menu de gestion des images (accessible aussi par* un clic droit dans la galerie) et d'autres menus et boutons utiles** @author aurelien**/public class BarreOutilsVue extends Toolbar {/*** Un bouton qui sert à déployer le menu*/ToolbarMenuButton images = null;/*** Un bouton qui sert à déployer le menu*/ToolbarMenuButton utilisateur = null;/*** Bouton pour déployer le menu d'aide*/ToolbarMenuButton aide = null ;/*** Le médiateur associé à la toolbar*/ImageMediateur iMediateur = null;/*** Le menu de gestion des images*/MenuImageVue imageMenu = null;/*** Le menu de gestion des filtres*/OptionsImages imageMenuEtendu = null;/*** L'item affichant les filtres en cours*/ToolbarTextItem texteFiltres;/*** Le menu de gestion utilisateur*/MenuIdVue idMenu = null;/*** Menu de gestion d'aide*/MenuAideVue aideMenu = null ;/*** Constructeur sans argument (ne doit pas être utilisé donc privé)*/@SuppressWarnings("unused")private BarreOutilsVue() {super();}/*** Constructeur avec paramètres** @param im* le médiateur à associer à la vue*/public BarreOutilsVue(ImageMediateur im) {super();iMediateur = im;imageMenu = new MenuImageVue(im);imageMenuEtendu = new OptionsImages(im);//aideMenu = new MenuAideVue(im);//images = new ToolbarMenuButton("Fichiers", imageMenu);//aide = new ToolbarMenuButton("Aide", aideMenu);texteFiltres = new ToolbarTextItem("");final ToolbarMenuButton menuImage = new ToolbarMenuButton("Ajouter des images", imageMenuEtendu.getMenuImage());menuImage.addListener(new SplitButtonListenerAdapter() {@Overridepublic void onArrowClick(SplitButton menuButton, EventObject e) {menuImage.showMenu();}@Overridepublic void onClick(Button button, EventObject e) {menuImage.showMenu();}});ToolbarButton menuSuppression = imageMenuEtendu.getBoutonSuppression();final ToolbarMenuButton menuTampon = new ToolbarMenuButton("Tampon", imageMenuEtendu.getMenuTampon());menuTampon.addListener(new SplitButtonListenerAdapter() {@Overridepublic void onArrowClick(SplitButton menuButton, EventObject e) {menuTampon.showMenu();}@Overridepublic void onClick(Button button, EventObject e) {menuTampon.showMenu();}});ToolbarButton menuGestionMotsCles = new ToolbarButton("Gérer les mots clés");menuGestionMotsCles.addListener(new ButtonListenerAdapter() {@Overridepublic void onClick(Button button, EventObject e) {getIMediateur().afficherFenetreGestionMotsCles();}});this.addButton(menuImage);this.addButton(menuSuppression);this.addButton(menuGestionMotsCles);this.addButton(menuTampon);this.addItem(texteFiltres);//this.addButton(aide);}/*** @return the images*/public ToolbarMenuButton getImages() {return images;}/*** @return the iMediateur*/public ImageMediateur getIMediateur() {return iMediateur;}public void setFiltresEnCours(String[][] filtresEnCours) {String texteFiltresEnCours = "";for(int i = 0; i < filtresEnCours.length; i++) {if(Util.filtreValide(filtresEnCours[i])) {if(!texteFiltresEnCours.equals("")) {texteFiltresEnCours += " - ";}texteFiltresEnCours += "<span class=\"affichage_filtre\">"+transformerNomFiltre(filtresEnCours[i][0])+": "+transformerValeurFiltre(filtresEnCours[i][0], filtresEnCours[i][1])+" <input value=\"X\" type=\"button\" rel=\""+filtresEnCours[i][0]+"\" id=\"bouton_raz_filtres_img_"+filtresEnCours[i][0]+"\" />"+"</span>";}}if(!texteFiltresEnCours.equals("")) {texteFiltresEnCours = "- <span class=\"indicateur_filtres\"> Filtres - "+texteFiltresEnCours+"</span>";}texteFiltres.setText(texteFiltresEnCours);for(int i = 0; i < filtresEnCours.length; i++) {if(Util.filtreValide(filtresEnCours[i])) {if(Ext.get("bouton_raz_filtres_img_"+filtresEnCours[i][0]) != null) {Ext.get("bouton_raz_filtres_img_"+filtresEnCours[i][0]).addListener("click", new EventCallback() {@Overridepublic void execute(EventObject e) {e.stopEvent();iMediateur.viderFiltre(e.getTarget().getAttribute("rel"));}});}}}}private String transformerNomFiltre(String nomFiltre) {if(nomFiltre.equals("id_mots_cles")) {nomFiltre = "mots clés";}return nomFiltre;}private String transformerValeurFiltre(String nomFiltre, String valeurFiltre) {String valeurFiltreTransformee = valeurFiltre;if(nomFiltre.equals("id_mots_cles")) {String[] tabMotsCles = valeurFiltre.split(";");String[] tabMotsClesTexte = iMediateur.getTexteMotsCles(tabMotsCles);if(tabMotsClesTexte.length > 1) {valeurFiltreTransformee = Util.implode(",", tabMotsClesTexte);} else {valeurFiltreTransformee = tabMotsClesTexte[0];}}if(nomFiltre.equals("mois")) {valeurFiltreTransformee = Util.renvoyerMois(Integer.parseInt(valeurFiltre));}return valeurFiltreTransformee;}}