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(); |
} |
|
} |