19,9 → 19,11 |
import org.tela_botanica.client.modeles.collection.UniteRangement; |
import org.tela_botanica.client.modeles.personne.Personne; |
import org.tela_botanica.client.modeles.personne.PersonneListe; |
import org.tela_botanica.client.modeles.projet.Projet; |
import org.tela_botanica.client.modeles.publication.Publication; |
import org.tela_botanica.client.modeles.structure.StructureAPersonne; |
import org.tela_botanica.client.util.Debug; |
import org.tela_botanica.client.util.UtilString; |
import org.tela_botanica.client.vues.FenetreForm; |
import org.tela_botanica.client.vues.Formulaire; |
import org.tela_botanica.client.vues.FormulaireBarreValidation; |
62,6 → 64,7 |
import com.extjs.gxt.ui.client.widget.toolbar.SeparatorToolItem; |
import com.extjs.gxt.ui.client.widget.toolbar.ToolBar; |
import com.google.gwt.core.client.GWT; |
import com.google.gwt.dom.client.Element; |
import com.google.gwt.event.dom.client.KeyCodes; |
|
public class CollectionFormPersonne extends FormulaireOnglet implements Rafraichissable { |
376,6 → 379,22 |
typeRelationCombo.setDisplayField("nom"); |
typeRelationCombo.setStore(new ListStore<Valeur>()); |
typeRelationCombo.setEditable(false); |
typeRelationCombo.addStyleName("obligatoire"); |
typeRelationCombo.addListener(Events.Select, new Listener<BaseEvent>() { |
@Override |
public void handleEvent(BaseEvent be) { |
Valeur valeur = typeRelationCombo.getValue(); |
|
// Gestion du style obligatoire |
typeRelationCombo.removeStyleName("obligatoire"); |
typeRelationCombo.removeStyleName("obligatoire-ok"); |
if (valeur != null) { |
typeRelationCombo.addStyleName("obligatoire-ok"); |
} else { |
typeRelationCombo.addStyleName("obligatoire"); |
} |
} |
}); |
|
CellEditor editeurRelation = new CellEditor(typeRelationCombo) { |
@Override |
409,12 → 428,14 |
|
GridCellRenderer<CollectionAPersonne> relationRendu = new GridCellRenderer<CollectionAPersonne>() { |
@Override |
public String render(CollectionAPersonne modele, String property, ColumnData config, int rowIndex, int colIndex, ListStore<CollectionAPersonne> store, Grid<CollectionAPersonne> grid) { |
public String render(CollectionAPersonne modele, String property, ColumnData config, int rowIndex, int colIndex, ListStore<CollectionAPersonne> store, Grid<CollectionAPersonne> grille) { |
// Gestion du texte afficher dans la cellule |
String role = modele.get("_role_"); |
if (typeRelationCombo.getStore() != null && role.matches("[0-9]+")) { |
role = typeRelationCombo.getStore().findModel("id_valeur", role).getNom(); |
} |
modele.set("_role_", role); |
|
return role; |
} |
}; |