Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 1018 → Rev 1017

/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/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/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/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];