New file |
0,0 → 1,208 |
package org.tela_botanica.client.vues.image; |
|
import org.tela_botanica.client.Util; |
import org.tela_botanica.client.image.ImageMediateur; |
import org.tela_botanica.client.vues.MenuAideVue; |
|
import com.google.gwt.dev.util.collect.HashMap; |
import com.google.gwt.user.client.Window; |
import com.gwtext.client.core.EventCallback; |
import com.gwtext.client.core.EventObject; |
import com.gwtext.client.core.Ext; |
import com.gwtext.client.widgets.Toolbar; |
import com.gwtext.client.widgets.ToolbarButton; |
import com.gwtext.client.widgets.ToolbarItem; |
import com.gwtext.client.widgets.ToolbarMenuButton; |
import com.gwtext.client.widgets.ToolbarTextItem; |
|
/** |
* 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(""); |
|
ToolbarMenuButton menuImage = new ToolbarMenuButton("Ajouter des images", imageMenuEtendu.getMenuImage()); |
ToolbarButton menuSuppression = imageMenuEtendu.getBoutonSuppression(); |
ToolbarMenuButton menuTampon = new ToolbarMenuButton("Tampon", imageMenuEtendu.getMenuTampon()); |
|
this.addButton(menuImage); |
this.addButton(menuSuppression); |
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() { |
|
public void execute(EventObject e) { |
e.stopEvent(); |
iMediateur.viderFiltre(e.getTarget().getAttribute("rel")); |
} |
|
}); |
} |
} |
} |
} |
|
private String transformerNomFiltre(String nomFiltre) { |
|
//TODO: si le nombre de filtre s'agrandit faire une hashmap |
// (pas la peine pour le moment, un seul nom à changer) |
if(nomFiltre.equals("ci_recherche_generale")) { |
nomFiltre = "recherche"; |
} |
|
//TODO: si le nombre de filtre s'agrandit faire une hashmap |
// (pas la peine pour le moment, un seul nom à changer) |
if(nomFiltre.equals("ci_meta_mots_cles")) { |
nomFiltre = "mots clés"; |
} |
|
return nomFiltre; |
|
} |
|
private String transformerValeurFiltre(String nomFiltre, String valeurFiltre) { |
|
String valeurFiltreTransformee = valeurFiltre; |
|
if(nomFiltre.equals("ci_meta_mots_cles")) { |
|
String[] tabMotsCles = valeurFiltre.split(";"); |
String[] tabMotsClesTexte = iMediateur.obtenirTexteMotsCles(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; |
|
} |
|
} |
Property changes: |
Added: svn:mergeinfo |