Subversion Repositories eFlore/Applications.cel

Compare Revisions

No changes between revisions

Ignore whitespace Rev 194 → Rev 195

/trunk/src/org/tela_botanica/client/vues/image/MenuLiaisonVue.java
New file
0,0 → 1,134
package org.tela_botanica.client.vues.image;
 
import org.tela_botanica.client.image.ImageMediateur;
 
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.event.MenuListenerAdapter;
import com.gwtext.client.core.EventObject;;
 
/**
* Menu de gestion des images
*
* @author aurelien
*
*/
public class MenuLiaisonVue extends Menu {
 
/**
* Le médiateur associé à la vue
*/
private ImageMediateur iMediateur;
 
/**
* Item pour lier la selection d'images aux observations selectionnées
*/
private Item lierSelection = null ;
 
/**
* Item pour afficher la selection d'images
*/
private Item afficherSelection = null;
/**
* Item pour supprimer la liaison entre une observation et une image
*/
private Item supprimerLiaison = null ;
 
/**
* Constructeur sans argument (privé car ne doit être utilisé)
*/
@SuppressWarnings("unused")
private MenuLiaisonVue() {
super();
}
 
/**
* Constructeur avec paramètre
*
* @param im
* le médiateur à associer
*/
public MenuLiaisonVue(ImageMediateur im) {
super();
 
iMediateur = im;
 
// on construit le menu
lierSelection = new Item("Lier le tampon à la sélection d'observation");
afficherSelection = new Item("Afficher le tampon");
 
addItem(lierSelection);
addItem(afficherSelection);
 
// on ajoute les listeners
ajouterListeners();
}
 
public MenuLiaisonVue(ImageMediateur mediateur, boolean liaison) {
iMediateur = mediateur;
lierSelection = new Item("Lier le tampon à la sélection d'observation");
afficherSelection = new Item("Afficher le tampon");
addItem(lierSelection);
addItem(afficherSelection);
iMediateur = mediateur;
if(liaison) {
supprimerLiaison = new Item("Supprimer la liaison") ;
addItem(supprimerLiaison);
}
// on ajoute les listeners
ajouterListeners();
}
 
/**
* Ajoute les listeners pour la gestions des évènements
*/
private void ajouterListeners() {
this.addListener(new MenuListenerAdapter() {
 
// gestion du clic sur un item
 
public void onItemClick(BaseItem item, EventObject e) {
 
// si c'est la suppression
if (item.equals(lierSelection)) {
// on notifie le médiateur
getIMediateur().LierTamponObservations();
}
 
// si c'est la liaison
if (item.equals(afficherSelection)) {
getIMediateur().afficherIdSelectionImages();
}
if(item.equals(supprimerLiaison)) {
getIMediateur().supprimerLiaisonObsImage() ;
}
 
// enfin, on cache le menu
hide();
 
}
 
});
}
 
/**
* Accesseur pour le médiateur
*
* @return le médiateur associé à la vue
*/
public ImageMediateur getIMediateur() {
return iMediateur;
}
 
}
Property changes:
Added: svn:mergeinfo