New file |
0,0 → 1,235 |
package org.tela_botanica.client.vues.image; |
|
import org.tela_botanica.client.cel2; |
import org.tela_botanica.client.i18n.Msg; |
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); |
|
texteFiltres = new ToolbarTextItem(""); |
|
final ToolbarMenuButton menuImage = new ToolbarMenuButton(Msg.get("ajouter-images"), imageMenuEtendu.getMenuImage()); |
menuImage.addListener(new SplitButtonListenerAdapter() { |
|
@Override |
public void onArrowClick(SplitButton menuButton, EventObject e) { |
menuImage.showMenu(); |
} |
|
@Override |
public void onClick(Button button, EventObject e) { |
menuImage.showMenu(); |
} |
}); |
|
ToolbarButton menuSuppression = imageMenuEtendu.getBoutonSuppression(); |
final ToolbarMenuButton menuTampon = new ToolbarMenuButton(Msg.get("tampon"), imageMenuEtendu.getMenuTampon()); |
menuTampon.addListener(new SplitButtonListenerAdapter() { |
|
@Override |
public void onArrowClick(SplitButton menuButton, EventObject e) { |
menuTampon.showMenu(); |
} |
|
@Override |
public void onClick(Button button, EventObject e) { |
menuTampon.showMenu(); |
} |
}); |
|
ToolbarButton menuGestionMotsCles = new ToolbarButton(Msg.get("gerer-mots-cles")); |
menuGestionMotsCles.addListener(new ButtonListenerAdapter() { |
@Override |
public void onClick(Button button, EventObject e) { |
getIMediateur().afficherFenetreGestionMotsCles(); |
} |
}); |
|
this.addButton(menuImage); |
this.addButton(menuSuppression); |
this.addButton(menuGestionMotsCles); |
this.addButton(menuTampon); |
this.addItem(texteFiltres); |
} |
|
/** |
* @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\"> "+Msg.get("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() { |
|
@Override |
public void execute(EventObject e) { |
e.stopEvent(); |
iMediateur.viderFiltre(e.getTarget().getAttribute("rel")); |
} |
|
}); |
} |
} |
} |
} |
|
private String transformerNomFiltre(String nomFiltre) { |
|
if(nomFiltre.equals("id_mots_cles")) { |
nomFiltre = Msg.get("mots-cles"); |
} else { |
nomFiltre = Msg.get(nomFiltre); |
} |
|
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; |
|
} |
|
} |
Property changes: |
Added: svn:mergeinfo |