Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 1009 → Rev 1018

/trunk/src/org/tela_botanica/client/image/ImageMediateur.java
14,6 → 14,7
import org.tela_botanica.client.observation.ObservationMediateur;
import org.tela_botanica.client.vues.ArbreMotsClesVue;
import org.tela_botanica.client.vues.image.BarreOutilsVue;
import org.tela_botanica.client.vues.image.FenetreGestionMotsCles;
import org.tela_botanica.client.vues.image.GalerieImageVue;
import org.tela_botanica.client.vues.image.ListeImageVue;
import org.tela_botanica.client.vues.image.MenuImageVue;
52,6 → 53,7
import com.gwtext.client.widgets.event.PanelListener;
import com.gwtext.client.widgets.event.PanelListenerAdapter;
import com.gwtext.client.widgets.event.TabPanelListenerAdapter;
import com.gwtext.client.widgets.event.WindowListenerAdapter;
import com.gwtext.client.widgets.grid.GridDragData;
import com.gwtext.client.widgets.layout.BorderLayout;
import com.gwtext.client.widgets.layout.BorderLayoutData;
169,6 → 171,11
private BarreRechercheFiltreVue filtreCommentaires = null;
/**
* Fenetre modale de gestion des mots clés
*/
private FenetreGestionMotsCles fnMc = null;
/**
* Boolean indiquand si le médiateur a seulement été crée ou bien si tous
* les composants ont été crées
*/
343,6 → 350,8
}
});
creerPanneauGestionMotsCles();
// filtres.setCollapsed(false) ;
thisMediateur = this ;
631,8 → 640,14
public void obtenirMotsClesId(Rafraichissable r, String id) {
getIModele().obtenirMotsClesId(r, id);
}
 
public void obtenirMotsClesTexte(Rafraichissable r, String id) {
String[] texteMotsCles = getTexteMotsCles(getIModele().getMotsClesId(id));
r.rafraichir(texteMotsCles, false);
}
public String[] obtenirTexteMotsCles(String idsMotsCles[]) {
//TODO: devrait être dans le modèle
public String[] getTexteMotsCles(String idsMotsCles[]) {
String[] tableauMotsClesTexte = new String[idsMotsCles.length];
679,6 → 694,9
public void rafraichirArbreMotsCles(Tree arbreMC) {
metadonneesIptcExif.getPanneauMotsCles().rafraichir(arbreMC, false);
filtres.getMotsClesFiltre().rafraichir(arbreMC, false);
if(fnMc != null) {
fnMc.rafraichir(arbreMC, false);
}
}
 
/**
722,7 → 740,8
obtenirObservationsAssociees() ;
}
obtenirMetadonnees(metadonneesIptcExif, imgNum);
obtenirMotsClesId(metadonneesIptcExif.getPanneauMotsCles(), imgNum);
obtenirMotsClesId(fnMc, imgNum);
obtenirMotsClesTexte(metadonneesIptcExif.getPanneauMotsCles(), imgNum);
obtenirNote(metadonneesIptcExif.getNoteVue(), imgNum);
}
 
1047,12 → 1066,11
public void onItemClick(BaseItem item, EventObject e) {
if (item.equals(suppN)) {
if(Window.confirm("Êtes vous sur de vouloir supprimer ce mot clé ?")) {
getMetadonneesIptcExif().getPanneauMotsCles()
.supprimerNoeud(n);
fnMc.supprimerNoeud(n);
}
}
if (item.equals(ajoutN)) {
getMetadonneesIptcExif().getPanneauMotsCles().ajouterNoeud(
fnMc.ajouterNoeud(
n);
}
}
1076,7 → 1094,7
getIModele().mettreAjourMotsClesId(text, id);
 
}
 
/**
* Récupère les identifiants des images selectionnés et appelle le modèle
* pour qu'il mette à jour les associations mots clés/images
1090,7 → 1108,10
public void mettreAjourMotsCles(String motsClesEnCours, Tree arbreMC) {
 
String[] ids = getGalerieImage().getIdSelectionnees();
getIModele().mettreAjourMotsCles(ids, motsClesEnCours, arbreMC);
if(ids.length > 0) {
getIModele().mettreAjourMotsCles(ids, motsClesEnCours, arbreMC);
obtenirMotsClesTexte(metadonneesIptcExif.getPanneauMotsCles(), ids[ids.length - 1]);
}
 
}
 
1105,8 → 1126,8
*/
public void ajouterMotCleDansArbre(TreeNode n, Tree arbreMC) {
getIModele().ajouterMotCleDansArbre(n, arbreMC);
filtres.getMotsClesFiltre().rafraichir(n, false);
 
filtres.getMotsClesFiltre().rafraichir(arbreMC, false);
mettreAJourListeMotsClesAffiches();
}
 
/**
1119,10 → 1140,9
* le nouvel arbre de mots clés à mettre à jour
*/
public void supprimerMotCleDansArbre(TreeNode n, Tree arbreMC) {
 
getIModele().supprimerMotCleDansArbre(n, arbreMC);
filtres.getMotsClesFiltre().rafraichir(n.getId(), false);
 
filtres.getMotsClesFiltre().rafraichir(arbreMC, false);
mettreAJourListeMotsClesAffiches();
}
 
/**
1135,10 → 1155,10
* le nouvel arbre de mots clés à mettre à jour
*/
public void modifierMotCleDansArbre(TreeNode n, Tree arbreMC) {
 
getIModele().modifierMotCleDansArbre(n, arbreMC);
filtres.getMotsClesFiltre().rafraichir(n, false);
 
getIModele().mettreAjourMotsClesId(n.getText(), n.getId());
filtres.getMotsClesFiltre().rafraichir(arbreMC, false);
mettreAJourListeMotsClesAffiches();
}
 
/**
1151,18 → 1171,23
* le nouvel arbre de mots clés à mettre à jour
*/
public void deplacerMotCleDansArbre(TreeNode n, Tree arbreMC) {
 
getIModele().deplacerMotCleDansArbre(n, arbreMC);
filtres.getMotsClesFiltre().rafraichir(n, false);
filtres.getMotsClesFiltre().rafraichir(arbreMC, false);
mettreAJourListeMotsClesAffiches();
}
public void mettreAJourListeMotsClesAffiches() {
String[] ids = getGalerieImage().getIdSelectionnees();
if(ids.length > 0) {
obtenirMotsClesTexte(metadonneesIptcExif.getPanneauMotsCles(), ids[ids.length - 1]);
}
}
 
/**
* initialise les mots clés cochés par rapport aux images sélectionnées
*/
public void initialiserMotsCleCoches() {
 
obtenirMotsClesId(metadonneesIptcExif.getPanneauMotsCles(),
getGalerieImage().getIdSelectionnees()[0]);
obtenirMotsClesId(metadonneesIptcExif.getPanneauMotsCles(),getGalerieImage().getIdSelectionnees()[0]);
}
 
/**
1739,5 → 1764,63
public void obtenirDatesImages(Rafraichissable r) {
iModele.obtenirDatesImages(r);
}
public void creerPanneauGestionMotsCles() {
fnMc = new FenetreGestionMotsCles() {
@Override
protected void surSuppressionMotCle(TreeNode node, Tree arbre) {
supprimerMotCleDansArbre(node, arbre);
}
@Override
protected void surDeplacementMotCle(TreeNode node, Tree arbre) {
deplacerMotCleDansArbre(node, arbre);
}
@Override
protected void surClicValider(String chaineMotsCles, Tree arbre) {
mettreAjourMotsCles(chaineMotsCles, arbre);
}
@Override
protected void surChangementTexte(TreeNode node, Tree arbre) {
modifierMotCleDansArbre(node, arbre);
}
@Override
protected void surAjoutMotCle(TreeNode node, Tree arbre) {
ajouterMotCleDansArbre(node, arbre);
}
@Override
protected void surAffichageMenuContextuel(TreeNode node, EventObject e,
TreeEditor te) {
montrerContextMenuArbre(node, e, te);
}
@Override
protected void demanderArbreMotsCles(Rafraichissable r) {
ImageMediateur.this.obtenirArbreMotsCles(r);
}
};
fnMc.setModal(true);
fnMc.setHeight(400);
fnMc.setWidth(200);
fnMc.addListener(new WindowListenerAdapter() {
 
public void onClose(Panel panel) {
}
 
});
//fnMc.activerBoutonValider(selection);
}
 
public void afficherFenetreGestionMotsCles() {
fnMc.show();
}
 
}
/trunk/src/org/tela_botanica/client/image/ImageModele.java
278,13 → 278,19
* l'identifiant de l'image
*/
public void obtenirMotsClesId(Rafraichissable r, String id) {
ImageCarnet im = cacheImage.get(id);
String motsClesId = im.getMotsCles();
String[] motsClesIdTab = motsClesId.split(",");
 
String[] motsClesIdTab = getMotsClesId(id);
r.rafraichir(motsClesIdTab, false);
}
public String[] getMotsClesId(String idImage) {
ImageCarnet im = cacheImage.get(idImage);
String motsClesId = im.getMotsCles();
String[] motsClesIdTab = motsClesId.split(",");
return motsClesIdTab;
}
/**
* Va chercher le nom du mot clé associé à un id dans le cache local
*
621,7 → 627,7
*/
public void initialiserArbreMotsCles() {
MotsClesAsynchroneDAO MCDao = new MotsClesAsynchroneDAO();
MotsClesAsynchroneDAO MCDao = new MotsClesAsynchroneDAO("images");
MCDao.obtenirListeMotsCles(this);
}
 
647,7 → 653,7
*/
public void ajouterMotCleDansArbre(TreeNode n,
com.gwtext.client.data.Tree arbreMC) {
MotsClesAsynchroneDAO MCDao = new MotsClesAsynchroneDAO();
MotsClesAsynchroneDAO MCDao = new MotsClesAsynchroneDAO("images");
 
String[] usObj = (String[]) n.getUserObject();
String motCle = usObj[0];
662,6 → 668,7
}
 
rafraichirArbreMotsCles(arbreMC);
mettreAjourMotsClesId(motCle, id);
 
String nouveauMotCle = "&identifiant=" + getIdentifiant() + "&motcle="
+ motCle + "&id=" + id + "&parent=" + parentId;
679,7 → 686,7
*/
public void supprimerMotCleDansArbre(TreeNode n, Tree arbreMC) {
 
MotsClesAsynchroneDAO MCDao = new MotsClesAsynchroneDAO();
MotsClesAsynchroneDAO MCDao = new MotsClesAsynchroneDAO("images");
 
String[] usObj = (String[]) n.getUserObject();
String id = usObj[1];
699,7 → 706,7
*/
public void modifierMotCleDansArbre(TreeNode n, Tree arbreMC) {
 
MotsClesAsynchroneDAO MCDao = new MotsClesAsynchroneDAO();
MotsClesAsynchroneDAO MCDao = new MotsClesAsynchroneDAO("images");
 
String[] usObj = (String[]) n.getUserObject();
String motCle = usObj[0];
731,7 → 738,7
* l'arbre des mots cles en cours
*/
public void deplacerMotCleDansArbre(TreeNode n, Tree arbreMC) {
MotsClesAsynchroneDAO MCDao = new MotsClesAsynchroneDAO();
MotsClesAsynchroneDAO MCDao = new MotsClesAsynchroneDAO("images");
 
String[] usObj = (String[]) n.getUserObject();
String motCle = usObj[0];