Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 407 → Rev 408

/trunk/src/org/tela_botanica/client/vues/image/PanneauMetadonneesVue.java
4,10 → 4,14
import org.tela_botanica.client.interfaces.Rafraichissable;
import org.tela_botanica.client.vues.ArbreMotsClesVue;
 
import com.google.gwt.core.client.JavaScriptObject;
import com.google.gwt.user.client.Timer;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.ui.Label;
import com.gwtext.client.core.EventObject;
import com.gwtext.client.core.Ext;
import com.gwtext.client.core.NameValuePair;
import com.gwtext.client.widgets.BoxComponent;
import com.gwtext.client.widgets.Button;
import com.gwtext.client.widgets.Component;
import com.gwtext.client.widgets.Container;
14,16 → 18,23
import com.gwtext.client.widgets.Panel;
import com.gwtext.client.widgets.TabPanel;
import com.gwtext.client.widgets.event.ButtonListenerAdapter;
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.form.DateField;
import com.gwtext.client.widgets.form.Field;
import com.gwtext.client.widgets.form.TextArea;
import com.gwtext.client.widgets.form.TextField;
import com.gwtext.client.widgets.form.event.FieldListener;
import com.gwtext.client.widgets.form.event.FieldListenerAdapter;
import com.gwtext.client.widgets.grid.GridPanel;
import com.gwtext.client.widgets.grid.GridView;
import com.gwtext.client.widgets.grid.PropertyGridPanel;
import com.gwtext.client.widgets.grid.event.GridCellListenerAdapter;
import com.gwtext.client.widgets.layout.FitLayout;
import com.gwtext.client.widgets.layout.RowLayout;
import com.gwtext.client.widgets.layout.RowLayoutData;
import com.gwtext.client.widgets.layout.VerticalLayout;
 
/**
89,6 → 100,11
private DateField dateImage = null;
/**
* La barre de recherche rapide des taxons
*/
private RechercheFiltreTaxonVue rechercheFiltreTaxonVue = null;
/**
* La mini liste des observations
*/
private MiniListeObservationVue miniListeObservation = null ;
106,6 → 122,8
* Booleen d'instanciation
*/
boolean estInstancie = false;
Timer timerRedimensionnement = null;
 
/**
* Constructeur sans argument (privé car ne doit pas être utilisé)
160,12 → 178,29
validerInfo = new Button("OK");
 
noteVue = new BarreNotationVue(im, 5);
panneauMiniListeObservation = new Panel("Observations") ;
panneauMiniListeObservation = new Panel("Observations") ;
panneauMiniListeObservation.setLayout(new FitLayout()) ;
panneauMiniListeObservation.setHeight(800) ;
miniListeObservation = new MiniListeObservationVue(im) ;
panneauMiniListeObservation.add(miniListeObservation) ;
if(!Ext.isIE()) {
panneauMiniListeObservation.setLayout(new RowLayout());
}
miniListeObservation = new MiniListeObservationVue(im);
rechercheFiltreTaxonVue = new RechercheFiltreTaxonVue(im);
rechercheFiltreTaxonVue.setTitle("Recherche dans les observations");
if(Ext.isIE()) {
panneauMiniListeObservation.add(rechercheFiltreTaxonVue);
rechercheFiltreTaxonVue.setHeight(90);
} else {
panneauMiniListeObservation.add(rechercheFiltreTaxonVue, new RowLayoutData(90));
}
rechercheFiltreTaxonVue.setWidth("100%") ;
rechercheFiltreTaxonVue.setBorder(false);
if(Ext.isIE()) {
panneauMiniListeObservation.add(miniListeObservation, new RowLayoutData(400)) ;
} else {
panneauMiniListeObservation.add(miniListeObservation, new RowLayoutData()) ;
}
 
sousPanneauInfosGenerales.add(labelComm);
sousPanneauInfosGenerales.add(commentaireGeneral);
182,6 → 217,7
 
panneauInfoGrid.add(sousPanneauInfosGenerales);
panneauInfoGrid.add(panneauMotsCles);
 
this.add(panneauMiniListeObservation) ;
this.add(panneauInfoGrid);
218,7 → 254,7
ajouterListeners();
 
// on effectue le rendu
this.doLayout(true);
//this.doLayout(true);
 
}
 
279,7 → 315,6
}
 
// lors d'un double clic d'une cellule
 
public void onCellDblClick(GridPanel grid, int rowIndex,
int colIndex, EventObject e) {
// on empeche l'édition
290,6 → 325,26
 
});
panneauMiniListeObservation.addListener(new ContainerListenerAdapter() {
public void onResize(BoxComponent component, int adjWidth, int adjHeight,
int rawWidth, int rawHeight) {
timerRedimensionnement = new Timer() {
public void run() {
int taille = 500;
if(Window.getClientHeight() > 800 ) {
taille = Window.getClientHeight() - 226;
}
panneauMiniListeObservation.setHeight(taille);
}
};
timerRedimensionnement.schedule(300);
}
});
}
 
/**
328,11 → 383,25
 
// si on reçoit un tableau d'objets
if (nouvelleDonnees instanceof Object[]) {
final Object ressourceObject = nouvelleDonnees;
if(!this.isRendered()) {
addListener(new PanelListenerAdapter() {
public void onRender(Component component) {
rafraichir(ressourceObject, false);
}
});
return ;
}
// extrait infos, exifs et iptc
Object meta[] = (Object[]) nouvelleDonnees;
String[][] exif = (String[][]) meta[0];
String[][] iptc = (String[][]) meta[1];
String[][] gen = (String[][]) meta[2];
final String[][] gen = (String[][]) meta[2];
 
NameValuePair[] exifSource = new NameValuePair[exif.length];
NameValuePair[] iptcSource = new NameValuePair[iptc.length];
356,8 → 425,8
 
// on met à jour les champs avec la bonne valeur
commentaireGeneral.setValue(gen[0][1]);
dateImage.setRawValue(gen[1][1]);
 
dateImage.setValue(gen[1][1]);
// et on met à jour les données pour l'affichage
ExifGrid.setSource(exifSource);
IptcGrid.setSource(iptcSource);
382,6 → 451,11
{
return miniListeObservation ;
}
public RechercheFiltreTaxonVue getRechercheFiltreTaxonVue()
{
return rechercheFiltreTaxonVue ;
}
 
public void redimensionner() {