/trunk/src/org/tela_botanica/client/image/ImageMediateur.java |
---|
14,7 → 14,6 |
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; |
53,7 → 52,6 |
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; |
171,11 → 169,6 |
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 |
*/ |
350,8 → 343,6 |
} |
}); |
creerPanneauGestionMotsCles(); |
// filtres.setCollapsed(false) ; |
thisMediateur = this ; |
640,14 → 631,8 |
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); |
} |
//TODO: devrait être dans le modèle |
public String[] getTexteMotsCles(String idsMotsCles[]) { |
public String[] obtenirTexteMotsCles(String idsMotsCles[]) { |
String[] tableauMotsClesTexte = new String[idsMotsCles.length]; |
694,9 → 679,6 |
public void rafraichirArbreMotsCles(Tree arbreMC) { |
metadonneesIptcExif.getPanneauMotsCles().rafraichir(arbreMC, false); |
filtres.getMotsClesFiltre().rafraichir(arbreMC, false); |
if(fnMc != null) { |
fnMc.rafraichir(arbreMC, false); |
} |
} |
/** |
740,8 → 722,7 |
obtenirObservationsAssociees() ; |
} |
obtenirMetadonnees(metadonneesIptcExif, imgNum); |
obtenirMotsClesId(fnMc, imgNum); |
obtenirMotsClesTexte(metadonneesIptcExif.getPanneauMotsCles(), imgNum); |
obtenirMotsClesId(metadonneesIptcExif.getPanneauMotsCles(), imgNum); |
obtenirNote(metadonneesIptcExif.getNoteVue(), imgNum); |
} |
1066,11 → 1047,12 |
public void onItemClick(BaseItem item, EventObject e) { |
if (item.equals(suppN)) { |
if(Window.confirm("Êtes vous sur de vouloir supprimer ce mot clé ?")) { |
fnMc.supprimerNoeud(n); |
getMetadonneesIptcExif().getPanneauMotsCles() |
.supprimerNoeud(n); |
} |
} |
if (item.equals(ajoutN)) { |
fnMc.ajouterNoeud( |
getMetadonneesIptcExif().getPanneauMotsCles().ajouterNoeud( |
n); |
} |
} |
1094,7 → 1076,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 |
1108,10 → 1090,7 |
public void mettreAjourMotsCles(String motsClesEnCours, Tree arbreMC) { |
String[] ids = getGalerieImage().getIdSelectionnees(); |
if(ids.length > 0) { |
getIModele().mettreAjourMotsCles(ids, motsClesEnCours, arbreMC); |
obtenirMotsClesTexte(metadonneesIptcExif.getPanneauMotsCles(), ids[ids.length - 1]); |
} |
getIModele().mettreAjourMotsCles(ids, motsClesEnCours, arbreMC); |
} |
1126,8 → 1105,8 |
*/ |
public void ajouterMotCleDansArbre(TreeNode n, Tree arbreMC) { |
getIModele().ajouterMotCleDansArbre(n, arbreMC); |
filtres.getMotsClesFiltre().rafraichir(arbreMC, false); |
mettreAJourListeMotsClesAffiches(); |
filtres.getMotsClesFiltre().rafraichir(n, false); |
} |
/** |
1140,9 → 1119,10 |
* le nouvel arbre de mots clés à mettre à jour |
*/ |
public void supprimerMotCleDansArbre(TreeNode n, Tree arbreMC) { |
getIModele().supprimerMotCleDansArbre(n, arbreMC); |
filtres.getMotsClesFiltre().rafraichir(arbreMC, false); |
mettreAJourListeMotsClesAffiches(); |
filtres.getMotsClesFiltre().rafraichir(n.getId(), false); |
} |
/** |
1155,10 → 1135,10 |
* le nouvel arbre de mots clés à mettre à jour |
*/ |
public void modifierMotCleDansArbre(TreeNode n, Tree arbreMC) { |
getIModele().modifierMotCleDansArbre(n, arbreMC); |
getIModele().mettreAjourMotsClesId(n.getText(), n.getId()); |
filtres.getMotsClesFiltre().rafraichir(arbreMC, false); |
mettreAJourListeMotsClesAffiches(); |
filtres.getMotsClesFiltre().rafraichir(n, false); |
} |
/** |
1171,23 → 1151,18 |
* le nouvel arbre de mots clés à mettre à jour |
*/ |
public void deplacerMotCleDansArbre(TreeNode n, Tree arbreMC) { |
getIModele().deplacerMotCleDansArbre(n, arbreMC); |
filtres.getMotsClesFiltre().rafraichir(arbreMC, false); |
mettreAJourListeMotsClesAffiches(); |
filtres.getMotsClesFiltre().rafraichir(n, false); |
} |
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]); |
} |
/** |
1764,63 → 1739,5 |
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,19 → 278,13 |
* 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 |
* |
627,7 → 621,7 |
*/ |
public void initialiserArbreMotsCles() { |
MotsClesAsynchroneDAO MCDao = new MotsClesAsynchroneDAO("images"); |
MotsClesAsynchroneDAO MCDao = new MotsClesAsynchroneDAO(); |
MCDao.obtenirListeMotsCles(this); |
} |
653,7 → 647,7 |
*/ |
public void ajouterMotCleDansArbre(TreeNode n, |
com.gwtext.client.data.Tree arbreMC) { |
MotsClesAsynchroneDAO MCDao = new MotsClesAsynchroneDAO("images"); |
MotsClesAsynchroneDAO MCDao = new MotsClesAsynchroneDAO(); |
String[] usObj = (String[]) n.getUserObject(); |
String motCle = usObj[0]; |
668,7 → 662,6 |
} |
rafraichirArbreMotsCles(arbreMC); |
mettreAjourMotsClesId(motCle, id); |
String nouveauMotCle = "&identifiant=" + getIdentifiant() + "&motcle=" |
+ motCle + "&id=" + id + "&parent=" + parentId; |
686,7 → 679,7 |
*/ |
public void supprimerMotCleDansArbre(TreeNode n, Tree arbreMC) { |
MotsClesAsynchroneDAO MCDao = new MotsClesAsynchroneDAO("images"); |
MotsClesAsynchroneDAO MCDao = new MotsClesAsynchroneDAO(); |
String[] usObj = (String[]) n.getUserObject(); |
String id = usObj[1]; |
706,7 → 699,7 |
*/ |
public void modifierMotCleDansArbre(TreeNode n, Tree arbreMC) { |
MotsClesAsynchroneDAO MCDao = new MotsClesAsynchroneDAO("images"); |
MotsClesAsynchroneDAO MCDao = new MotsClesAsynchroneDAO(); |
String[] usObj = (String[]) n.getUserObject(); |
String motCle = usObj[0]; |
738,7 → 731,7 |
* l'arbre des mots cles en cours |
*/ |
public void deplacerMotCleDansArbre(TreeNode n, Tree arbreMC) { |
MotsClesAsynchroneDAO MCDao = new MotsClesAsynchroneDAO("images"); |
MotsClesAsynchroneDAO MCDao = new MotsClesAsynchroneDAO(); |
String[] usObj = (String[]) n.getUserObject(); |
String motCle = usObj[0]; |
/trunk/src/org/tela_botanica/client/vues/image/FenetreGestionMotsCles.java |
---|
File deleted |
/trunk/src/org/tela_botanica/client/vues/image/ImageMotsClesVue.java |
---|
File deleted |
/trunk/src/org/tela_botanica/client/vues/image/PanneauMetadonneesVue.java |
---|
2,9 → 2,11 |
import org.tela_botanica.client.image.ImageMediateur; |
import org.tela_botanica.client.interfaces.Rafraichissable; |
import org.tela_botanica.client.vues.image.ImageMotsClesVue; |
import org.tela_botanica.client.vues.ArbreMotsClesVue; |
import org.tela_botanica.client.vues.image.filtres.RechercheFiltreTaxonVue; |
import com.google.gwt.core.client.GWT; |
import com.google.gwt.core.client.JavaScriptObject; |
import com.google.gwt.user.client.Timer; |
import com.google.gwt.user.client.Window; |
import com.google.gwt.user.client.ui.Label; |
14,18 → 16,25 |
import com.gwtext.client.widgets.BoxComponent; |
import com.gwtext.client.widgets.Button; |
import com.gwtext.client.widgets.Component; |
import com.gwtext.client.widgets.Container; |
import com.gwtext.client.widgets.Panel; |
import com.gwtext.client.widgets.TabPanel; |
import com.gwtext.client.widgets.event.ButtonListenerAdapter; |
import com.gwtext.client.widgets.event.ContainerListener; |
import com.gwtext.client.widgets.event.ContainerListenerAdapter; |
import com.gwtext.client.widgets.event.PanelListener; |
import com.gwtext.client.widgets.event.PanelListenerAdapter; |
import com.gwtext.client.widgets.form.DateField; |
import com.gwtext.client.widgets.form.Field; |
import com.gwtext.client.widgets.form.TextArea; |
import com.gwtext.client.widgets.form.TextField; |
import com.gwtext.client.widgets.form.event.FieldListener; |
import com.gwtext.client.widgets.form.event.FieldListenerAdapter; |
import com.gwtext.client.widgets.grid.GridPanel; |
import com.gwtext.client.widgets.grid.GridView; |
import com.gwtext.client.widgets.grid.PropertyGridPanel; |
import com.gwtext.client.widgets.grid.event.GridCellListenerAdapter; |
import com.gwtext.client.widgets.layout.FitLayout; |
import com.gwtext.client.widgets.layout.RowLayout; |
import com.gwtext.client.widgets.layout.RowLayoutData; |
import com.gwtext.client.widgets.layout.VerticalLayout; |
76,7 → 85,7 |
/** |
* L'onglet des mots clés |
*/ |
private ImageMotsClesVue panneauMotsCles = null; |
private ArbreMotsClesVue panneauMotsCles = null; |
/** |
* l'onglet des observations |
141,8 → 150,8 |
panneauExifGrid = new Panel("Exif"); |
panneauIptcGrid = new Panel("Iptc"); |
panneauInfoGrid = new Panel("Infos"); |
panneauMotsCles = new ImageMotsClesVue(im); |
panneauMotsCles.setHeight("50%"); |
panneauMotsCles = new ArbreMotsClesVue(im); |
panneauMotsCles.setHeight("500px"); |
Panel sousPanneauInfosGenerales = new Panel("Infos Générales"); |
sousPanneauInfosGenerales.setLayout(new VerticalLayout()); |
483,7 → 492,7 |
* |
* @return the panneauMotsCles |
*/ |
public ImageMotsClesVue getPanneauMotsCles() { |
public ArbreMotsClesVue getPanneauMotsCles() { |
return panneauMotsCles; |
} |
/trunk/src/org/tela_botanica/client/vues/image/BarreOutilsVue.java |
---|
4,17 → 4,23 |
import org.tela_botanica.client.util.Util; |
import org.tela_botanica.client.vues.MenuAideVue; |
import com.google.gwt.core.client.JavaScriptObject; |
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.Button; |
import com.gwtext.client.widgets.Component; |
import com.gwtext.client.widgets.SplitButton; |
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; |
import com.gwtext.client.widgets.event.ButtonListenerAdapter; |
import com.gwtext.client.widgets.event.SplitButtonListener; |
import com.gwtext.client.widgets.event.SplitButtonListenerAdapter; |
import com.gwtext.client.widgets.menu.Menu; |
/** |
* Barre d'outils contenant le menu de gestion des images (accessible aussi par |
125,18 → 131,10 |
} |
}); |
ToolbarButton menuGestionMotsCles = new ToolbarButton("Gérer les mots clés"); |
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); |
//this.addButton(aide); |
} |
214,7 → 212,7 |
if(nomFiltre.equals("id_mots_cles")) { |
String[] tabMotsCles = valeurFiltre.split(";"); |
String[] tabMotsClesTexte = iMediateur.getTexteMotsCles(tabMotsCles); |
String[] tabMotsClesTexte = iMediateur.obtenirTexteMotsCles(tabMotsCles); |
if(tabMotsClesTexte.length > 1) { |
valeurFiltreTransformee = Util.implode(",", tabMotsClesTexte); |
/trunk/src/org/tela_botanica/client/vues/image/MenuImageVue.java |
---|
50,8 → 50,6 |
private Item uploadSimple = null ; |
private Item gestionMotsCles = null; |
private Menu mn = null ; |
/** |
83,7 → 81,6 |
// on construit le menu |
uploaderImage = new MenuItem("Ajouter des images", mn); |
supprimerImage = new Item("Supprimer les images selectionnées"); |
gestionMotsCles = new Item("Gérer les mots clés"); |
ajouterImageSelection = new Item( |
"Ajouter les images sélectionnées au tampon"); |
viderSelection = new Item("Vider le tampon"); |
90,7 → 87,6 |
afficherSelection = new Item("Afficher le tampon"); |
addItem(uploaderImage); |
addItem(supprimerImage); |
addItem(gestionMotsCles); |
addSeparator() ; |
addItem(ajouterImageSelection); |
addItem(viderSelection); |
131,11 → 127,6 |
getIMediateur().afficherIdSelectionImages(); |
} |
// si c'est l'affichage de la selection |
if (item.equals(gestionMotsCles)) { |
getIMediateur().afficherFenetreGestionMotsCles(); |
} |
// enfin, on cache le menu |
hide(); |
/trunk/src/org/tela_botanica/client/modeles/dao/MotsClesAsynchroneDAO.java |
---|
29,11 → 29,6 |
mode = "images"; |
identifiant = Utilisateur.getInstance().getIdentifiantUtilisateurConsulte(); |
} |
public MotsClesAsynchroneDAO(String mode) { |
this.mode = mode; |
identifiant = Utilisateur.getInstance().getIdentifiantUtilisateurConsulte(); |
} |
/** |
* Envoie une requete au serveur jrest pour obtenir l'arbre des mots clés |
/trunk/src/org/tela_botanica/client/observation/ObservationModele.java |
---|
393,7 → 393,7 |
public void obtenirArbreMotsCles(Rafraichissable r) { |
MotsClesAsynchroneDAO mcoDAO = new MotsClesAsynchroneDAO("obs"); |
MotsClesAsynchroneDAO mcoDAO = new MotsClesAsynchroneDAO(); |
mcoDAO.obtenirListeMotsCles(this); |
} |
583,7 → 583,7 |
*/ |
public void ajouterMotCleDansArbre(TreeNode n, |
com.gwtext.client.data.Tree arbreMC) { |
MotsClesAsynchroneDAO MCDao = new MotsClesAsynchroneDAO("obs"); |
MotsClesAsynchroneDAO MCDao = new MotsClesAsynchroneDAO(); |
String[] usObj = (String[]) n.getUserObject(); |
String motCle = usObj[0]; |
615,7 → 615,7 |
*/ |
public void supprimerMotCleDansArbre(TreeNode n, Tree arbreMC) { |
MotsClesAsynchroneDAO MCDao = new MotsClesAsynchroneDAO("obs"); |
MotsClesAsynchroneDAO MCDao = new MotsClesAsynchroneDAO(); |
String[] usObj = (String[]) n.getUserObject(); |
String id = usObj[1]; |
637,7 → 637,7 |
*/ |
public void modifierMotCleDansArbre(TreeNode n, Tree arbreMC) { |
MotsClesAsynchroneDAO MCDao = new MotsClesAsynchroneDAO("obs"); |
MotsClesAsynchroneDAO MCDao = new MotsClesAsynchroneDAO(); |
String[] usObj = (String[]) n.getUserObject(); |
String motCle = usObj[0]; |
669,7 → 669,7 |
* l'arbre des mots cles en cours |
*/ |
public void deplacerMotCleDansArbre(TreeNode n, Tree arbreMC) { |
MotsClesAsynchroneDAO MCDao = new MotsClesAsynchroneDAO("obs"); |
MotsClesAsynchroneDAO MCDao = new MotsClesAsynchroneDAO(); |
String[] usObj = (String[]) n.getUserObject(); |
String motCle = usObj[0]; |