/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++ ; |
} |
/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()); |
} |