Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 27 → Rev 30

/trunk/src/org/tela_botanica/client/CarnetEnLigneMediateur.java
156,13 → 156,12
// On ajoute les applications
observationMediateur = ObservationMediateur.Instance(this);
imageMediateur= ImageMediateur.Instance();
imageMediateur= ImageMediateur.Instance(this);
 
// on ajoute les panneaux principaux des applications au panneau à onglets
imageMediateur.getPanneauPrincipalImage().setSize("100%", "50%") ;
observationMediateur.getPanneauPrincipalObservation().setSize("100%", "50%") ;
observationMediateur.getPanneauPrincipalObservation().setSize("100%", "100%") ;
ongletsObservationsImages.add(observationMediateur.getPanneauPrincipalObservation());
ongletsObservationsImages.add(imageMediateur.getPanneauPrincipalImage());
ongletsObservationsImages.add(observationMediateur.getPanneauPrincipalObservation());
/trunk/src/org/tela_botanica/client/image/ImageMediateur.java
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
/trunk/src/org/tela_botanica/client/cel2.java
15,21 → 15,14
* This is the entry point method.
*/
public void onModuleLoad() {
 
//ImageMediateur im = ImageMediateur.Instance();
 
//new Viewport(im.getPanneauPrincipalImage());
CarnetEnLigneMediateur carnetEnLigneMediateur= CarnetEnLigneMediateur.Instance();
//RootPanel.get().add(carnetEnLigneMediateur.getPanneauPrincipalCarnetEnLigne());
// TODO : l'utilisation du viewport rend l'application extremement lente en mode javas
new Viewport(carnetEnLigneMediateur.getPanneauPrincipalCarnetEnLigne());
// On appelle la gestion de l'identification
// Veillez d'ailleurs a ne pas appeller de services dans les constructeurs
carnetEnLigneMediateur.getEtatUtilisateur();