4,10 → 4,12 |
|
|
|
import java.util.ArrayList; |
import java.util.Collection; |
import java.util.HashMap; |
import java.util.Iterator; |
import java.util.LinkedList; |
import java.util.List; |
import java.util.MissingResourceException; |
|
|
16,6 → 18,7 |
import org.tela_botanica.client.interfaces.Rafraichissable; |
import org.tela_botanica.client.modeles.Personne; |
import org.tela_botanica.client.modeles.PersonneListe; |
import org.tela_botanica.client.modeles.PersonneRecolte; |
import org.tela_botanica.client.util.UtilTruk; |
|
import com.extjs.gxt.ui.client.Registry; |
24,23 → 27,32 |
import com.extjs.gxt.ui.client.Style.Scroll; |
import com.extjs.gxt.ui.client.Style.VerticalAlignment; |
|
import com.extjs.gxt.ui.client.store.ListStore; |
import com.extjs.gxt.ui.client.widget.ContentPanel; |
import com.extjs.gxt.ui.client.widget.LayoutContainer; |
import com.extjs.gxt.ui.client.widget.TabItem; |
import com.extjs.gxt.ui.client.widget.TabPanel; |
import com.extjs.gxt.ui.client.widget.form.FieldSet; |
import com.extjs.gxt.ui.client.widget.form.LabelField; |
import com.extjs.gxt.ui.client.widget.grid.ColumnConfig; |
import com.extjs.gxt.ui.client.widget.grid.ColumnModel; |
import com.extjs.gxt.ui.client.widget.grid.Grid; |
import com.extjs.gxt.ui.client.widget.layout.FitLayout; |
import com.extjs.gxt.ui.client.widget.layout.FlowLayout; |
import com.extjs.gxt.ui.client.widget.layout.FormLayout; |
import com.extjs.gxt.ui.client.widget.layout.TableData; |
import com.extjs.gxt.ui.client.widget.layout.TableLayout; |
import com.extjs.gxt.ui.client.widget.table.Table; |
import com.extjs.gxt.ui.client.widget.table.TableColumn; |
import com.extjs.gxt.ui.client.widget.table.TableColumnModel; |
import com.google.gwt.core.client.GWT; |
import com.google.gwt.user.client.Window; |
import com.google.gwt.user.client.ui.Image; |
|
public class PersonneDetailPanneauVue extends TabPanel implements Rafraichissable { |
public class PersonneDetailPanneauVue extends LayoutContainer implements Rafraichissable { |
|
// Le panneau détail se compose de formulaires tabulés |
private TabPanel tabPanel; |
|
// Onglet 1 : identite & contact |
private TabItem tabIdentite; |
58,11 → 70,14 |
|
// Onglet 3 : Informations naturalistes |
private TabItem tabInfosNat; |
private FieldSet fsInfosNat; |
private FieldSet fsSpec; |
|
|
public PersonneDetailPanneauVue() { |
|
tabPanel = new TabPanel(); |
this.add(tabPanel); |
|
//Constructeur de la classe |
Registry.register(RegistreId.PANNEAU_PERSONNE_DETAIL, this); |
setLayout(new FitLayout()); |
99,7 → 114,7 |
fsContact = new FieldSet(); |
fsContact.setLayout(new FormLayout()); |
|
this.add(tabIdentite); |
tabPanel.add(tabIdentite); |
|
//Onglet Adresse: |
tabAdresse = new TabItem("Adresses"); |
106,14 → 121,14 |
fsAdressePerso = new FieldSet(); |
fsAdressePerso.setLayout(new FormLayout()); |
|
this.add(tabAdresse); |
tabPanel.add(tabAdresse); |
|
//Onglet info naturalistes |
tabInfosNat = new TabItem("Informations naturalistes"); |
fsInfosNat = new FieldSet(); |
fsInfosNat.setLayout(new FormLayout()); |
fsSpec = new FieldSet(); |
fsSpec.setLayout(new FormLayout()); |
|
this.add(tabInfosNat); |
tabPanel.add(tabInfosNat); |
|
} |
|
164,7 → 179,7 |
fsIdentite.removeAll(); |
fsContact.removeAll(); |
fsAdressePerso.removeAll(); |
fsInfosNat.removeAll(); |
fsSpec.removeAll(); |
//Ajout des champs Identité |
|
|
380,8 → 395,8 |
// Biographie |
// Spécialité (typé) |
|
fsInfosNat.setHeading("Infos..."); |
tabInfosNat.add(fsInfosNat); |
fsSpec.setHeading("Spécialités"); |
tabInfosNat.add(fsSpec); |
|
HashMap hmSpecialite = (HashMap) personne.getChaineDenormaliseAsMapOrList("ce_truk_specialite"); |
if ((hmSpecialite != null)&&(hmSpecialite.size() > 0)) { |
404,10 → 419,43 |
|
specLabel.setValue(hmSpecialite.get(key)); |
|
fsInfosNat.add(specLabel); |
fsSpec.add(specLabel); |
} |
} |
// Recolte |
|
// Récolte |
|
|
|
LinkedList<String> lstRecolte = (LinkedList) personne.getChaineDenormaliseAsMapOrList("truk_recolte"); |
if ((lstRecolte!=null)&&(lstRecolte.size()>0)) { |
FieldSet fsRecolte = new FieldSet(); |
fsRecolte.setHeading("Récoltes"); |
fsRecolte.setLayout(new FormLayout()); |
|
Iterator<String> itRecolte = lstRecolte.iterator(); |
while (itRecolte.hasNext()) { |
|
String recolteCourante = itRecolte.next(); |
LabelField lfRecolte = new LabelField(); |
String[] splitRecolte = recolteCourante.split("\\|"); |
|
String labelRecolte = ""; |
if (splitRecolte.length > 1) { |
|
lfRecolte.setFieldLabel(splitRecolte[1]); |
} |
|
lfRecolte.setValue(splitRecolte[0]); |
|
// TODO : lier avec BDD ISO-3166-2 |
|
fsRecolte.add(lfRecolte); |
|
} |
|
tabInfosNat.add(fsRecolte); |
} |
// tabInfosNat |
layout(); |
} |