Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 30 → Rev 31

/trunk/src/org/tela_botanica/client/CarnetEnLigneMediateur.java
8,6 → 8,7
import org.tela_botanica.client.vues.EtatConnexionVue;
import org.tela_botanica.client.vues.FormulaireDeConnexionVue;
 
import com.google.gwt.user.client.Timer;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.ui.TabPanel;
import com.gwtext.client.widgets.Panel;
27,10 → 28,14
/**
* booleen qui verifie l'unicite de l'instance
*/
private static boolean estInstancie = false ;
private static boolean estInstancie = false ;
 
/**
* pointeur vers le médiateur lui même (pour le pattern singleton)
*/
private static CarnetEnLigneMediateur thisMediateur = null ;
/**
* modele de données
*/
41,7 → 46,7
* panneau principal de l'application "Carnet en ligne"
*/
 
private Panel panneauPrincipalCarnetEnLigne=new Panel("Carnet en ligne");
private Panel panneauPrincipalCarnetEnLigne= null ;
106,15 → 111,14
public static CarnetEnLigneMediateur Instance()
{
if(!estInstancie)
if(!estInstancie || thisMediateur==null)
{
estInstancie = true ;
return new CarnetEnLigneMediateur() ;
thisMediateur = new CarnetEnLigneMediateur() ;
}
else
{
return null ;
}
return thisMediateur ;
}
125,6 → 129,8
private CarnetEnLigneMediateur() {
panneauPrincipalCarnetEnLigne = new Panel("Carnet en ligne");
// Disposition
panneauPrincipalCarnetEnLigne.setLayout(new VerticalLayout());
139,8 → 145,6
 
etatConnexionVue=new EtatConnexionVue(this);
 
// Le panneau à onglet qui contient les 2 applications Observation et Images
ongletsObservationsImages = new com.gwtext.client.widgets.TabPanel();
157,15 → 161,15
// On ajoute les applications
observationMediateur = ObservationMediateur.Instance(this);
imageMediateur= ImageMediateur.Instance(this);
 
// on ajoute les panneaux principaux des applications au panneau à onglets
observationMediateur.getPanneauPrincipalObservation().setSize("100%", "100%") ;
ongletsObservationsImages.add(observationMediateur.getPanneauPrincipalObservation());
ongletsObservationsImages.add(imageMediateur.getPanneauPrincipalImage());
panneauPrincipalCarnetEnLigne.setSize(Window.getClientWidth(), Window.getClientHeight() - etatConnexionVue.getHeight()) ;
imageMediateur.getPanneauPrincipalImage().setSize(panneauPrincipalCarnetEnLigne.getWidth(),panneauPrincipalCarnetEnLigne.getHeight() - 20) ;
observationMediateur.getPanneauPrincipalObservation().setSize(panneauPrincipalCarnetEnLigne.getWidth(),panneauPrincipalCarnetEnLigne.getHeight() - 20) ;
// on ajoute les panneaux principaux des applications au panneau à onglets
ongletsObservationsImages.add(imageMediateur.getPanneauPrincipalImage());
ongletsObservationsImages.add(observationMediateur.getPanneauPrincipalObservation());
}
/trunk/src/org/tela_botanica/client/image/ImageMediateur.java
37,6 → 37,9
import com.gwtext.client.widgets.DataView;
import com.gwtext.client.widgets.Panel;
import com.gwtext.client.widgets.TabPanel;
import com.gwtext.client.widgets.event.ComponentListenerAdapter;
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.grid.GridDragData;
64,6 → 67,8
*/
private CarnetEnLigneMediateur cMediateur = null;
 
private static ImageMediateur thisMediateur = null ;
/**
* booleen qui verifie l'unicite de l'instance (donc static)
*/
82,7 → 87,7
/**
* panneau principal des images (onglet "images")
*/
private final Panel panneauPrincipalImage = new Panel("Images");
private Panel panneauPrincipalImage = null ;
 
/**
* panneau a onglet pour la liste, la galerie et la vue en grand
158,23 → 163,9
* constructeur privé (on accède a la classe par la méthode getInstance)
*/
private ImageMediateur() {
 
panneauPrincipalImage.addListener(new PanelListenerAdapter() {
 
public boolean doBeforeRender(Component component) {
initialiser() ;
return true;
}
 
public boolean doBeforeShow(Component component) {
return true;
}
}) ;
 
}
 
/**
187,22 → 178,8
private ImageMediateur(CarnetEnLigneMediateur cm) {
cMediateur = cm;
panneauPrincipalImage.addListener(new PanelListenerAdapter() {
initialiser() ;
 
public boolean doBeforeRender(Component component) {
initialiser() ;
return true;
}
 
public boolean doBeforeShow(Component component) {
return true;
}
}) ;
 
}
 
/**
230,13 → 207,13
* @return l'instance unique du médiateur
*/
public static ImageMediateur Instance() {
if (!estInstancie) {
if (!estInstancie && thisMediateur == null) {
// on en crée un nouveau
estInstancie = true;
return new ImageMediateur();
} else {
return null;
 
thisMediateur = new ImageMediateur();
}
// sinon on retourne le "pointeur" vers le médiateur lui-même
return thisMediateur;
}
 
/**
243,17 → 220,17
* Retourne une instance de manière unique en lui associant un médiateur
* pour les observations
*
* @param om le médiateur des observations à associer
* @param cm le médiateur de carnet à associer
* @return l'instance unique du médiateur
*/
public static ImageMediateur Instance(CarnetEnLigneMediateur cm) {
if (!estInstancie) {
if (!estInstancie && thisMediateur == null) {
// on en crée un nouveau
estInstancie = true;
return new ImageMediateur(cm);
} else {
return null;
 
thisMediateur = new ImageMediateur(cm);
}
// sinon on retourne le "pointeur" vers le médiateur lui-même
return thisMediateur;
}
private void initialiser()
272,9 → 249,10
final BorderLayoutData regionOuest = new BorderLayoutData(
RegionPosition.WEST);
regionOuest.setSplit(true);
panneauPrincipalImage = new Panel("Images") ;
panneauPrincipalImage.setLayout(new BorderLayout()) ;
 
setIdentifiant("0") ;
 
// on crée un modèle
iModele = ImageModele.Instance(this);
// et on demande l'arbre des mots clés
281,7 → 259,6
iModele.initialiserArbreMotsCles();
 
// on gère la mise en page du panneau principal
panneauPrincipalImage.setLayout(new BorderLayout());
 
// on crée le panneau des filtres
filtres = new PanneauFiltresVues(this);
317,30 → 294,43
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);
 
panneauMenuEtOngletsImage = new Panel() ;
panneauMenuEtOngletsImage.setLayout(new BorderLayout()) ;
// 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
panneauMenuEtOngletsImage.add(filtres,regionOuest) ;
 
panneauPrincipalImage.add(filtres,regionOuest) ;
// filtres.setCollapsed(false) ;
thisMediateur = this ;
setIdentifiant(""+"aurelien".hashCode());
panneauPrincipalImage.addListener(new ContainerListenerAdapter() {
public void onShow(Component component)
{
changerUtilisateur() ;
}
}) ;
}
 
/**
/trunk/src/org/tela_botanica/client/cel2.java
1,6 → 1,7
package org.tela_botanica.client;
 
import org.tela_botanica.client.image.ImageMediateur;
import org.tela_botanica.client.observation.ObservationMediateur;
 
import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.user.client.ui.RootPanel;
17,10 → 18,11
public void onModuleLoad() {
CarnetEnLigneMediateur carnetEnLigneMediateur= CarnetEnLigneMediateur.Instance();
//ImageMediateur im = ImageMediateur.Instance() ;
// TODO : l'utilisation du viewport rend l'application extremement lente en mode javas
RootPanel.get().add(carnetEnLigneMediateur.getPanneauPrincipalCarnetEnLigne());
//new Viewport(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();
/trunk/src/org/tela_botanica/client/observation/ObservationMediateur.java
30,7 → 30,12
/**
* booleen qui verifie l'unicite de l'instance (donc static)
*/
private static boolean estInstancie = false ;
private static boolean estInstancie = false ;
 
/**
* pointeur sur le médiateur (pour le pattern singleton)
*/
private static ObservationMediateur thisMediateur = null ;
/** Mediateur general de l'application carnet en ligne
*
81,10 → 86,7
*/
private boolean selection = false ;
 
/**
*
* Numéro de page en cours
*/
private int pageEncours = 0 ;
192,16 → 194,13
*/
public static ObservationMediateur Instance(CarnetEnLigneMediateur carnetEnLigneMediateur)
{
if(!estInstancie)
if(!estInstancie || thisMediateur == null)
{
estInstancie = true ;
return new ObservationMediateur(carnetEnLigneMediateur) ;
thisMediateur = new ObservationMediateur(carnetEnLigneMediateur) ;
}
else
{
return null ;
}
return thisMediateur ;
}
229,12 → 228,8
 
observationModele.obtenirListeObservation(this, taillePage, pageEncours) ;
}
 
 
}
/**
* C'est dans cette fonction que doivent être renvoyé les valeurs des filtres
* sous forme de tableau [nom, valeur]
292,11 → 287,7
observationData[i][2]= obs.getNomRetenu();
observationData[i][3]= obs.getLieudit();
observationData[i][4]= obs.getDate();
observationData[i][5]= obs.getNumeroOrdre();
 
observationData[i][5]= obs.getNumeroOrdre();
i++ ;
}