/trunk/src/org/tela_botanica/client/modeles/ExportObservationsDAO.java |
---|
26,6 → 26,7 |
{ |
requete += "&"; |
} |
requete += criteres[i][0]+"="+criteres[i][1] ; |
} |
} |
/trunk/src/org/tela_botanica/client/modeles/LienImageAsynchroneDAO.java |
---|
49,8 → 49,7 |
raf = r ; |
// et on envoie ça au serveur |
RequestBuilder rb = new RequestBuilder(RequestBuilder.GET, iModele |
.getConfig().getServiceBaseUrl() |
RequestBuilder rb = new RequestBuilder(RequestBuilder.GET, Configuration.getServiceBaseUrl() |
+ "/inventoryImageLink/" + iModele.getIdentifiant() + "/" + paramGet); |
try { |
rb.sendRequest(null, new RequestCallback() { |
129,8 → 128,7 |
raf = r ; |
// et on envoie ça au serveur |
RequestBuilder rb = new RequestBuilder(RequestBuilder.GET, oModele |
.getConfig().getServiceBaseUrl() |
RequestBuilder rb = new RequestBuilder(RequestBuilder.GET, Configuration.getServiceBaseUrl() |
+ "/inventoryImageLink/" + utilisateur + "/" + paramGet); |
try { |
rb.sendRequest(null, new RequestCallback() { |
143,7 → 141,7 |
public void onResponseReceived(Request request, |
Response response) { |
String baseUrl = "http://162.38.234.9/Documents/images_serveur/"; |
String baseUrl = Configuration.getImageBaseUrl() ; |
final JSONValue responseValue = JSONParser.parse(response |
.getText()); |
154,7 → 152,7 |
final int taillemax = reponse.size(); |
String urlTab[] = new String[taillemax] ; |
String imgTab[] = new String[taillemax] ; |
for(int i = 0 ;i<taillemax ;i++) |
{ |
161,33 → 159,16 |
final JSONArray reponseInt = reponse.get(i).isArray(); |
String idImg = ((JSONString)reponseInt.get(0)).stringValue() ; |
imgTab[i] = idImg ; |
int maxZeros = 9 - idImg.length(); |
for (int j = 0; j < maxZeros; j++) { |
idImg = "0" + idImg; |
} |
String dossierNv1 = idImg.substring(0, 3); |
String dossierNv2 = idImg.substring(3, 6); |
String fichierNv = idImg.substring(6, 9); |
String nomFichier = dossierNv1 + "_" + dossierNv2 + "_" + fichierNv; |
String[] infosFichier = { nomFichier, dossierNv1, dossierNv2 }; |
String url_img = baseUrl + infosFichier[1] + "/" + infosFichier[2] + "/M/" |
+ infosFichier[0] + "_M.jpg"; |
urlTab[i]= url_img ; |
} |
raf.rafraichir(urlTab, false) ; |
raf.rafraichir(imgTab, false) ; |
} |
else |
{ |
String urlTab[] = new String[0] ; |
raf.rafraichir(urlTab, false) ; |
String imgTab[] = new String[0] ; |
raf.rafraichir(imgTab, false) ; |
} |
} |
208,8 → 189,7 |
postData += "&identifiant="+iModele.getIdentifiant() ; |
// et on envoie ça au serveur |
RequestBuilder rb = new RequestBuilder(RequestBuilder.POST, iModele |
.getConfig().getServiceBaseUrl() |
RequestBuilder rb = new RequestBuilder(RequestBuilder.POST, Configuration.getServiceBaseUrl() |
+ "/inventoryImageLink/"); |
if(Window.confirm("Lier les images "+idsImages+" aux observations "+idsObs+" ?")) |
239,4 → 219,48 |
} |
} |
} |
public void supprimerLienImageObservation(String idImg, String idObs) { |
String postData = ""; |
postData += "&action=DELETE" ; |
String identifiant = "" ; |
if(iModele == null) { |
identifiant = oModele.getIdentifiant() ; ; |
} |
else |
{ |
identifiant = iModele.getIdentifiant() ; |
} |
// et on envoie ça au serveur |
RequestBuilder rb = new RequestBuilder(RequestBuilder.POST, Configuration.getServiceBaseUrl() |
+ "/inventoryImageLink/"+identifiant+"/"+idImg+"/"+idObs); |
try { |
rb.sendRequest(postData, new RequestCallback() { |
public void onError(Request request, Throwable exception) { |
// TODO Auto-generated method stub |
} |
public void onResponseReceived(Request request, |
Response response) { |
// quand la requête est éxecutée on le signale au modèle |
// poru qu'il mette à jour les données |
// et en notifie le médiateur |
// iModele.requeteTerminee(); |
} |
}); |
} catch (RequestException e) { |
// TODO Auto-generated catch block |
e.printStackTrace(); |
} |
} |
} |
/trunk/src/org/tela_botanica/client/observation/ObservationModele.java |
---|
294,5 → 294,21 |
} |
public void supprimerLiaisonImages(String idImg, String idObs) { |
LienImageAsynchroneDAO lienDAO = new LienImageAsynchroneDAO(this) ; |
lienDAO.supprimerLienImageObservation(idImg, idObs) ; |
} |
public String getIdentifiant() { |
return observationMediateur.getIdentifiant() ; |
} |
} |
/trunk/src/org/tela_botanica/client/observation/ObservationMediateur.java |
---|
266,11 → 266,9 |
cacheObservation = listeObservation.getCacheListeObservation() ; |
if(cacheObservation.size() == 0) |
{ |
formulaireSaisieObservationVue.viderChampsObservation() ; |
formulaireSaisieObservationVue.raz() ; |
} |
carnetEnLigneMediateur.donneesRafraichies(cacheObservation) ; |
carnetEnLigneMediateur.donneesRafraichies(cacheObservation) ; |
} |
/** |
308,10 → 306,6 |
} |
// ACCES au Modèle |
323,13 → 317,9 |
* TODO : afficher un message du type "observation ajouté". |
* Lance la creation d'une observation |
* @param obs : l'observation saisie |
*/ |
*/ |
public void ajouterObservation(Observation obs) { |
// On raffraichi la liste d'observation |
observationModele.ajouterObservation(listeObservation, obs) ; |
filtres.getArbreEntiteGeographiqueObservationFiltreVue().rafraichir(obs,true) ; |
348,8 → 338,10 |
public void obtenirNombreObservation() { |
observationModele.obtenirNombreObservation(listeObservation) ; |
mvz.raz() ; |
imageGeneriqueVue.raz() ; |
informationRepartitionVue.raz() ; |
observationModele.obtenirNombreObservation(listeObservation) ; |
} |
368,7 → 360,7 |
public void obtenirListeObservation(Rafraichissable r) { |
listeObservation.masquerChargement() ; |
formulaireSaisieObservationVue.viderChampsObservation() ; |
formulaireSaisieObservationVue.raz() ; |
observationModele.obtenirListeObservation(r,listeObservation.getTaillePage(),listeObservation.getPageEncours()) ; |
} |
588,5 → 580,32 |
observationModele.exporterObservations() ; |
} |
public void deconnecterUtilisateur() { |
listeObservation.raz() ; |
formulaireSaisieObservationVue.raz() ; |
filtres.getArbreDateObservationFiltreVue().raz() ; |
filtres.getArbreEntiteGeographiqueObservationFiltreVue().raz() ; |
informationRepartitionVue.raz() ; |
imageGeneriqueVue.raz() ; |
mvz.raz() ; |
} |
public void supprimerLiaisonObsImage() { |
String idObs = listeObservation.getIdSelectionnees()[0] ; |
String idImg = mvz.getIdImage() ; |
if(Window.confirm("Supprimer le lien entre l'image "+idImg+" et l'observations "+idObs+" ?")) |
{ |
mvz.supprimerLiaisonImage() ; |
observationModele.supprimerLiaisonImages(idImg,idObs) ; |
} |
} |
} |
/trunk/src/org/tela_botanica/client/image/ImageMediateur.java |
---|
1544,4 → 1544,17 |
getMetadonneesIptcExif().getMiniListeObservation().rafraichir(data, false) ; |
} |
public void supprimerLiaisonObsImage() { |
String idImg = getVueSelectionnee().getIdSelectionnees()[0] ; |
String idObs = getMetadonneesIptcExif().getMiniListeObservation().getIdSelectionnees() ; |
if(Window.confirm("Supprimer le lien entre l'image "+idImg+" et l'observation "+idObs+" ?")) |
{ |
getMetadonneesIptcExif().getMiniListeObservation().supprimerLiaison() ; |
iModele.supprimerLiaisonImages(idImg,idObs) ; |
} |
} |
} |
/trunk/src/org/tela_botanica/client/image/ImageModele.java |
---|
862,4 → 862,12 |
} |
public void supprimerLiaisonImages(String idImg, String idObs) { |
idImg = cacheImage.get(idImg).getId() ; |
LienImageAsynchroneDAO lienDAO = new LienImageAsynchroneDAO(this) ; |
lienDAO.supprimerLienImageObservation(idImg, idObs) ; |
} |
} |
/trunk/src/org/tela_botanica/client/vues/MiniListeObservationVue.java |
---|
151,11 → 151,10 |
this.addGridListener(new GridListenerAdapter() { |
@Override |
public void onContextMenu(EventObject e) { |
e.stopEvent() ; |
MenuLiaisonVue mlv = new MenuLiaisonVue(iMediateur) ; |
MenuLiaisonVue mlv = new MenuLiaisonVue(iMediateur,liaison) ; |
mlv.showAt(e.getXY()) ; |
} |
336,6 → 335,29 |
} |
} |
public String getIdSelectionnees() { |
Record[] sels = getSelectionModel().getSelections() ; |
String id = sels[0].getAsString("id_obs") ; |
return id ; |
} |
public void supprimerLiaison() { |
Record[] rdObs = getSelectionModel().getSelections() ; |
for(int i = 0 ; i < rdObs.length ; i++) { |
getStore().remove(rdObs[i]) ; |
this.getView().refresh() ; |
} |
} |
} |
/trunk/src/org/tela_botanica/client/vues/GalerieImageVue.java |
---|
254,7 → 254,7 |
dView.setAutoHeight(true); |
dView.setMultiSelect(true); |
dView.setOverCls("x-view-over"); |
dView.setEmptyText("Aucune image à afficher"); |
dView.setEmptyText("Aucune image à afficher. Si vous n'en avez pas encore envoyé, selectionnez le menu \"Fichiers\" puis \"Uploader des images\""); |
// creation du store |
FieldDef defNumImage = new IntegerFieldDef("num_image"); |
/trunk/src/org/tela_botanica/client/vues/ArbreDateObservationFiltreVue.java |
---|
588,5 → 588,33 |
} |
public void raz() { |
arbreCharge = false ; |
arbreDonneesDates.clear() ; |
TreeNode root = new TreeNode("Dates"); |
root.setId("racine_date"); |
String[] usObject = { "Dates" }; |
root.setUserObject(usObject); |
arbreDonneesDates.setRootNode(root); |
arbreDonneesDates.getRootNode().addListener(new TreeNodeListenerAdapter() { |
public void onExpand(Node node) { |
if(!arbreCharge) |
{ |
observationMediateur.obtenirDatesObservation() ; |
arbreCharge = true ; |
} |
} |
}) ; |
this.doLayout() ; |
} |
} |
/trunk/src/org/tela_botanica/client/vues/FormulaireSaisieObservationVue.java |
---|
448,7 → 448,7 |
} |
else |
{ |
viderChampsObservation(); |
raz(); |
} |
621,7 → 621,7 |
public void afficherDetailsObservation(Observation obs) |
{ |
viderChampsObservation() ; |
raz() ; |
if(!obs.getDate().equals("null") && !obs.getDate().equals("000null")) { |
String[] dateEtHeure = obs.getDate().split(" ", 2); |
657,7 → 657,7 |
} |
public void viderChampsObservation() |
public void raz() |
{ |
date.reset() ; |
708,6 → 708,5 |
{ |
return modification ; |
} |
} |
/trunk/src/org/tela_botanica/client/vues/MenuLiaisonVue.java |
---|
30,6 → 30,11 |
* 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é) |
61,6 → 66,29 |
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 |
*/ |
81,6 → 109,10 |
if (item.equals(afficherSelection)) { |
getIMediateur().afficherIdSelectionImages(); |
} |
if(item.equals(supprimerLiaison)) { |
getIMediateur().supprimerLiaisonObsImage() ; |
} |
// enfin, on cache le menu |
hide(); |
/trunk/src/org/tela_botanica/client/vues/ArbreEntiteGeographiqueObservationFiltreVue.java |
---|
563,5 → 563,36 |
} ; |
} |
public void raz() { |
arbreCharge = false ; |
arbreEntitesGeographiques.clear() ; |
// on crée une racine pour l'arbre |
TreeNode root = new TreeNode("Localités"); |
root.setId("racine_entite"); |
String[] usObject = { "Localités" }; |
root.setUserObject(usObject); |
arbreEntitesGeographiques.setRootNode(root); |
arbreEntitesGeographiques.getRootNode().addListener(new TreeNodeListenerAdapter() { |
public void onExpand(Node node) { |
if(!arbreCharge) |
{ |
observationMediateur.obtenirDatesObservation() ; |
arbreCharge = true ; |
} |
} |
}) ; |
arbreCharge = false ; |
this.doLayout() ; |
} |
} |
/trunk/src/org/tela_botanica/client/vues/ListeObservationVue.java |
---|
653,4 → 653,31 |
this.setTitle(titre) ; |
} |
public void raz() { |
// creation du store qui les contient |
FieldDef defEtatObservation = new StringFieldDef("etat_observation"); |
FieldDef defNomSaisiObservation = new StringFieldDef("nomSaisi_observation"); |
FieldDef defNomRetenuObservation = new StringFieldDef("nomRetenu_observation"); |
FieldDef defLieuObservation = new StringFieldDef("lieu_observation"); |
FieldDef defDateObservation = new StringFieldDef("date_observation"); |
FieldDef defOrdreObservation = new StringFieldDef("ordre_observation"); |
// Non affiches : |
FieldDef defNumeroNomenclaturalSaisiObservation = new StringFieldDef("numeroNomenclaturalSaisi_observation"); |
FieldDef[] defTab = { defEtatObservation, defNomSaisiObservation, defNomRetenuObservation, |
defLieuObservation, defDateObservation, defOrdreObservation }; |
RecordDef rd = new RecordDef(defTab); |
st = new Store(rd); |
// on associe le store |
this.setStore(st); |
} |
} |
/trunk/src/org/tela_botanica/client/vues/MiniZoomImageVue.java |
---|
2,6 → 2,7 |
import org.tela_botanica.client.image.ImageMediateur; |
import org.tela_botanica.client.interfaces.Rafraichissable; |
import org.tela_botanica.client.modeles.Configuration; |
import org.tela_botanica.client.observation.ObservationMediateur; |
import com.google.gwt.user.client.DOM; |
9,6 → 10,7 |
import com.google.gwt.user.client.Window; |
import com.google.gwt.user.client.ui.ClickListener; |
import com.google.gwt.user.client.ui.Image; |
import com.google.gwt.user.client.ui.MenuItem; |
import com.google.gwt.user.client.ui.Widget; |
import com.gwtext.client.core.EventObject; |
import com.gwtext.client.core.RegionPosition; |
22,6 → 24,11 |
import com.gwtext.client.widgets.grid.GridDragData; |
import com.gwtext.client.widgets.layout.BorderLayout; |
import com.gwtext.client.widgets.layout.BorderLayoutData; |
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.MenuListener; |
import com.gwtext.client.widgets.menu.event.MenuListenerAdapter; |
/** |
* Panneau d'affichage d'une image avec des boutons précdents et suivant |
123,6 → 130,13 |
suiv.click(); |
} |
} |
if(Event.ONCONTEXTMENU == DOM.eventGetType(event)) { |
event.preventDefault() ; |
int[] xy = {event.getClientX(),event.getClientY()} ; |
afficherMenu(xy) ; |
} |
} |
}; |
142,6 → 156,7 |
// alors on lui dit manuellement de capter l'évènement double clic |
image.sinkEvents(Event.ONDBLCLICK); |
image.sinkEvents(Event.ONMOUSEWHEEL); |
image.sinkEvents(Event.ONCONTEXTMENU) ; |
// l'image de base est vide |
image.setUrl(""); |
197,11 → 212,10 |
if(infosImages.length != 0) |
{ |
activerPanneau() ; |
getImage().setUrl(infosImages[index]); |
getImage().setUrl(convertirIdEnUrl(infosImages[index])); |
} |
else |
{ |
//getImage().setUrl(""); |
desactiverPanneau() ; |
} |
} |
299,7 → 313,7 |
*/ |
public String getIdImage() |
{ |
return idImage ; |
return infosImages[index] ; |
} |
/** |
362,5 → 376,86 |
return imageConteneur; |
} |
public void raz() { |
infosImages = new String[0] ; |
getImage().setUrl(""); |
} |
public void supprimerLiaisonImage() { |
if(infosImages.length > 0) { |
getImage().setUrl("") ; |
int nouvelleTaille = infosImages.length - 1 ; |
int indexSupp = index ; |
String[] nouveauInfosImages = new String[nouvelleTaille] ; |
int j = 0 ; |
for(int i = 0 ; i < infosImages.length ; i++) { |
if(i != indexSupp) { |
nouveauInfosImages[j] = infosImages[i] ; |
j++ ; |
} |
} |
infosImages = nouveauInfosImages ; |
index = 0 ; |
afficherImage() ; |
} |
} |
public void afficherMenu(int[] xy) { |
Menu mn = new Menu() ; |
final Item suppLiaison = new Item("Supprimer la liaison") ; |
mn.addItem(suppLiaison) ; |
mn.addListener(new MenuListenerAdapter() { |
public void onItemClick(BaseItem item, EventObject e) { |
// si c'est l'aide |
if (item.equals(suppLiaison)) { |
// on notifie le médiateur |
getIMediateur().supprimerLiaisonObsImage() ; |
} |
} |
}) ; |
mn.showAt(xy) ; |
} |
public String convertirIdEnUrl(String idImg) |
{ |
int maxZeros = 9 - idImg.length(); |
for (int j = 0; j < maxZeros; j++) { |
idImg = "0" + idImg; |
} |
String baseUrl = Configuration.getImageBaseUrl() ; |
String dossierNv1 = idImg.substring(0, 3); |
String dossierNv2 = idImg.substring(3, 6); |
String fichierNv = idImg.substring(6, 9); |
String nomFichier = dossierNv1 + "_" + dossierNv2 + "_" + fichierNv; |
String[] infosFichier = { nomFichier, dossierNv1, dossierNv2 }; |
String urlImg = baseUrl + infosFichier[1] + "/" + infosFichier[2] + "/M/" |
+ infosFichier[0] + "_M.jpg"; |
return urlImg ; |
} |
} |