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