1,6 → 1,7 |
package org.tela_botanica.client.image; |
|
|
import org.tela_botanica.client.CarnetEnLigneMediateur; |
import org.tela_botanica.client.interfaces.IdVue; |
import org.tela_botanica.client.interfaces.Rafraichissable; |
import org.tela_botanica.client.interfaces.VueListable; |
16,6 → 17,7 |
import org.tela_botanica.client.vues.PanneauMetadonneesVue; |
import org.tela_botanica.client.vues.ZoomImageVue; |
|
import com.google.gwt.core.client.JavaScriptObject; |
import com.google.gwt.user.client.DOM; |
import com.google.gwt.user.client.Element; |
import com.google.gwt.user.client.Event; |
29,9 → 31,14 |
import com.gwtext.client.data.Tree; |
import com.gwtext.client.dd.DragData; |
import com.gwtext.client.dd.DragSource; |
import com.gwtext.client.widgets.BoxComponent; |
import com.gwtext.client.widgets.Component; |
import com.gwtext.client.widgets.Container; |
import com.gwtext.client.widgets.DataView; |
import com.gwtext.client.widgets.Panel; |
import com.gwtext.client.widgets.TabPanel; |
import com.gwtext.client.widgets.event.PanelListener; |
import com.gwtext.client.widgets.event.PanelListenerAdapter; |
import com.gwtext.client.widgets.grid.GridDragData; |
import com.gwtext.client.widgets.layout.BorderLayout; |
import com.gwtext.client.widgets.layout.BorderLayoutData; |
55,7 → 62,7 |
/** |
* le mediateur des observations qui lie la partie images au carnet |
*/ |
private ObservationMediateur oMediateur = null; |
private CarnetEnLigneMediateur cMediateur = null; |
|
/** |
* booleen qui verifie l'unicite de l'instance (donc static) |
151,108 → 158,106 |
* constructeur privé (on accède a la classe par la méthode getInstance) |
*/ |
private ImageMediateur() { |
// quelques variables de position pour les borderlayouts |
final BorderLayoutData regionNord = new BorderLayoutData( |
RegionPosition.NORTH); |
|
final BorderLayoutData regionCentre = new BorderLayoutData( |
RegionPosition.CENTER); |
panneauPrincipalImage.addListener(new PanelListenerAdapter() { |
|
final BorderLayoutData regionEst = new BorderLayoutData( |
RegionPosition.EAST); |
regionEst.setSplit(true); |
public boolean doBeforeRender(Component component) { |
|
initialiser() ; |
|
return true; |
} |
|
final BorderLayoutData regionOuest = new BorderLayoutData( |
RegionPosition.WEST); |
regionOuest.setSplit(true); |
public boolean doBeforeShow(Component component) { |
|
return true; |
} |
|
}) ; |
|
afficherMenuId(); |
} |
|
// on crée un modèle |
iModele = ImageModele.Instance(this); |
// et on demande l'arbre des mots clés |
iModele.initialiserArbreMotsCles(); |
/** |
* constructeur avec paramètres privé (on accède a la classe par la méthode |
* getInstance) |
* |
* @param cm |
* le médiateur du carnet à associer à la partie image |
*/ |
private ImageMediateur(CarnetEnLigneMediateur cm) { |
|
cMediateur = cm; |
panneauPrincipalImage.addListener(new PanelListenerAdapter() { |
|
// on gère la mise en page du panneau principal |
panneauPrincipalImage.setLayout(new BorderLayout()); |
panneauPrincipalImage.setId("x-main-panel-image"); |
public boolean doBeforeRender(Component component) { |
|
initialiser() ; |
|
return true; |
} |
|
// on crée le panneau des filtres |
filtres = new PanneauFiltresVues(this); |
public boolean doBeforeShow(Component component) { |
|
return true; |
} |
|
}) ; |
|
// on crée le panneau qui contient les differentes onglets ainsi que le |
// menu supérieur |
panneauMenuEtOngletsImage = new Panel(); |
panneauMenuEtOngletsImage.setLayout(new BorderLayout()); |
} |
|
// le panneau à onglet qui contient les trois vues |
ongletsImage = new TabPanel(); |
/** |
* Change la valeur du booleen de selection |
* |
* @param selection |
* la nouvelle valeur du booléen |
*/ |
public void setSelection(boolean selection) { |
this.selection = selection; |
} |
|
// la galerie |
galerieImage = new GalerieImageVue(this); |
/** |
* renvoie la valeur du booleen de selection |
* |
* @return la valeur du booleen de selection |
*/ |
public boolean isSelection() { |
return selection; |
} |
|
// la liste des images |
Panel panneauListeImage = new Panel("Liste"); |
listeImage = new ListeImageVue(this); |
panneauListeImage.setLayout(new FitLayout()); |
panneauListeImage.add(listeImage); |
/** |
* Retourne une instance de manière unique |
* |
* @return l'instance unique du médiateur |
*/ |
public static ImageMediateur Instance() { |
if (!estInstancie) { |
estInstancie = true; |
return new ImageMediateur(); |
} else { |
return null; |
|
// le panneau zoom |
zoomImage = new ZoomImageVue(this); |
|
// on ajoute les panneaux au panneau à onglets |
ongletsImage.add(galerieImage); |
ongletsImage.add(panneauListeImage); |
ongletsImage.add(zoomImage); |
|
// on crée les menu et la barre de vue |
menuImageVue = new MenuImageVue(this); |
barreOutilsVue = new BarreOutilsVue(this); |
|
// on initialise le volet qui contient les mots clés |
detailsEtMotsCles.setAnimCollapse(true); |
detailsEtMotsCles.setTitleCollapse(true); |
detailsEtMotsCles.setCollapsible(true); |
|
filtreMotsCles = new ArbreMotsClesFiltreVue(this); |
filtreCommentaires = new BarreRechercheFiltreVue(this); |
|
// on crée le panneau conteneur des métadonnées et infos |
metadonneesIptcExif = new PanneauMetadonneesVue(this); |
// et on l'inclut dans le volet approprié |
detailsEtMotsCles.add(metadonneesIptcExif); |
|
// on ajoute la barre de vue au nord du panneau qui contient menu et |
// onglets d'images |
panneauMenuEtOngletsImage.add(barreOutilsVue, regionNord); |
// les onglets au centre |
panneauMenuEtOngletsImage.add(ongletsImage, regionCentre); |
|
// on ajoute le panneau qui contient le menu et les onglets d'images au |
// centre |
panneauPrincipalImage.add(panneauMenuEtOngletsImage, regionCentre); |
|
// et le panneau de métadonnées et d'info sur le coté droit |
panneauPrincipalImage.add(detailsEtMotsCles, regionEst); |
|
// on ajoute les filtres au panneau gauche |
panneauPrincipalImage.add(filtres, regionOuest); |
|
filtres.setWidth("15%"); |
detailsEtMotsCles.setWidth("15%"); |
|
} |
} |
|
/** |
* constructeur avec paramètres privé (on accède a la classe par la méthode |
* getInstance) |
* Retourne une instance de manière unique en lui associant un médiateur |
* pour les observations |
* |
* @param om |
* le médiateur des observations à associer à la partie image |
* @param om le médiateur des observations à associer |
* @return l'instance unique du médiateur |
*/ |
private ImageMediateur(ObservationMediateur om) { |
oMediateur = om; |
public static ImageMediateur Instance(CarnetEnLigneMediateur cm) { |
if (!estInstancie) { |
estInstancie = true; |
return new ImageMediateur(cm); |
} else { |
return null; |
|
} |
} |
|
private void initialiser() |
{ |
// quelques variables de position pour les borderlayouts |
final BorderLayoutData regionNord = new BorderLayoutData( |
RegionPosition.NORTH); |
268,7 → 273,7 |
RegionPosition.WEST); |
regionOuest.setSplit(true); |
|
afficherMenuId(); |
setIdentifiant("0") ; |
|
// on crée un modèle |
iModele = ImageModele.Instance(this); |
282,11 → 287,6 |
filtres = new PanneauFiltresVues(this); |
filtres.setWidth(200); |
|
// on crée le panneau qui contient les differentes onglets ainsi que le |
// menu supérieur |
panneauMenuEtOngletsImage = new Panel(); |
panneauMenuEtOngletsImage.setLayout(new BorderLayout()); |
|
// le panneau à onglet qui contient les trois vues |
ongletsImage = new TabPanel(); |
|
338,64 → 338,12 |
panneauPrincipalImage.add(detailsEtMotsCles, regionEst); |
|
// on ajoute les filtres au panneau gauche |
// panneauMenuEtOngletsImage.add(filtres,regionOuest) ; |
panneauMenuEtOngletsImage.add(filtres,regionOuest) ; |
|
// filtres.setCollapsed(false) ; |
|
} |
|
/** |
* Change la valeur du booleen de selection |
* |
* @param selection |
* la nouvelle valeur du booléen |
*/ |
public void setSelection(boolean selection) { |
this.selection = selection; |
} |
|
/** |
* renvoie la valeur du booleen de selection |
* |
* @return la valeur du booleen de selection |
*/ |
public boolean isSelection() { |
return selection; |
} |
|
/** |
* Retourne une instance de manière unique |
* |
* @return l'instance unique du médiateur |
*/ |
public static ImageMediateur Instance() { |
if (!estInstancie) { |
estInstancie = true; |
return new ImageMediateur(); |
} else { |
return null; |
|
} |
} |
|
/** |
* Retourne une instance de manière unique en lui associant un médiateur |
* pour les observations |
* |
* @param om le médiateur des observations à associer |
* @return l'instance unique du médiateur |
*/ |
public static ImageMediateur Instance(ObservationMediateur om) { |
if (!estInstancie) { |
estInstancie = true; |
return new ImageMediateur(om); |
} else { |
return null; |
|
} |
} |
|
/** |
* Renvoie l'identifiant de l'utilisateur en cours |
* |
* @return l'identifiant de l'utilisateur |