Subversion Repositories eFlore/Applications.coel

Compare Revisions

Ignore whitespace Rev 788 → Rev 799

/trunk/src/org/tela_botanica/client/vues/CollectionFormPublication.java
11,6 → 11,8
import org.tela_botanica.client.modeles.PublicationListe;
import org.tela_botanica.client.modeles.ValeurListe;
 
import com.extjs.gxt.ui.client.Style.HorizontalAlignment;
import com.extjs.gxt.ui.client.core.XTemplate;
import com.extjs.gxt.ui.client.event.BaseEvent;
import com.extjs.gxt.ui.client.event.ButtonEvent;
import com.extjs.gxt.ui.client.event.ComponentEvent;
34,11 → 36,16
import com.extjs.gxt.ui.client.widget.grid.Grid;
import com.extjs.gxt.ui.client.widget.grid.GridCellRenderer;
import com.extjs.gxt.ui.client.widget.grid.GridSelectionModel;
import com.extjs.gxt.ui.client.widget.grid.HeaderGroupConfig;
import com.extjs.gxt.ui.client.widget.grid.RowExpander;
import com.extjs.gxt.ui.client.widget.grid.RowNumberer;
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
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.event.shared.GwtEvent;
import com.google.gwt.user.client.Event;
import com.google.gwt.user.client.ui.Image;
 
public class CollectionFormPublication extends FormulaireOnglet implements Rafraichissable {
private ContentPanel panneauPrincipal = null;
293,7 → 300,8
publication.set("etat", ETAT_AJOUTE);
// Ajout à la grille
grille.getStore().insert(publication, 0);
grille.getStore().insert(publication, 0);
grille.getSelectionModel().select(0, false);
}
}
322,27 → 330,26
}
});
RowNumberer pluginLigneNumero = new RowNumberer();
RowNumberer numeroPlugin = new RowNumberer();
numeroPlugin.setHeader("#");
GridCellRenderer<Publication> infoBulle = new GridCellRenderer<Publication>() {
@Override
public String render(Publication model, String property, ColumnData config, int rowIndex, int colIndex, ListStore<Publication> store, Grid<Publication> grid) {
String valeur = (String) model.get(property);
return "<span title='"+valeur+"'>" + valeur + "</span>";
}
};
XTemplate infoTpl = XTemplate.create("<p>"+
"<span style='font-weight:bold;'>"+i18nC.publicationAuteurs()+" :</span> {fmt_auteur}<br />"+
"<span style='font-weight:bold;'>"+i18nC.publicationTitre()+" :</span> {titre}<br />"+
"<span style='font-weight:bold;'>"+i18nC.publicationRevueCollection()+" :</span> {collection}<br />"+
"<span style='font-weight:bold;'>"+i18nC.publicationEditeur()+" :</span> {_editeur_}"+
"</p>");
RowExpander expansionPlugin = new RowExpander();
expansionPlugin.setTemplate(infoTpl);
List<ColumnConfig> colonnes = new ArrayList<ColumnConfig>();
colonnes.add(pluginLigneNumero);
ColumnConfig fmtAuteurColonne = new ColumnConfig("fmt_auteur", i18nC.publicationAuteurs(), 150);
fmtAuteurColonne.setRenderer(infoBulle);
colonnes.add(fmtAuteurColonne);
ColumnConfig titreColonne = new ColumnConfig("titre", i18nC.publicationTitre(), 150);
titreColonne.setRenderer(infoBulle);
colonnes.add(titreColonne);
colonnes.add(expansionPlugin);
colonnes.add(numeroPlugin);
colonnes.add(new ColumnConfig("fmt_auteur", i18nC.publicationAuteurs(), 150));
colonnes.add(new ColumnConfig("titre", i18nC.publicationTitre(), 150));
colonnes.add(new ColumnConfig("collection", i18nC.publicationRevueCollection(), 75));
colonnes.add(new ColumnConfig("editeur", i18nC.publicationEditeur(), 75));
colonnes.add(new ColumnConfig("date_parution", i18nC.publicationDateParution(), 75));
colonnes.add(creerColonneEditeur());
colonnes.add(creerColonneAnneePublication());
colonnes.add(new ColumnConfig("indication_nvt", i18nC.publicationNvt(), 75));
colonnes.add(new ColumnConfig("fascicule", i18nC.publicationFascicule(), 75));
colonnes.add(new ColumnConfig("truk_pages", i18nC.publicationPage(), 50));
350,13 → 357,17
GridSelectionModel<Publication> modeleDeSelection = new GridSelectionModel<Publication>();
ColumnModel modeleDeColonnes = new ColumnModel(colonnes);
modeleDeColonnes.getColumn(0).setWidget(Images.ICONES.aide().createImage(), "Info");
//modeleDeColonnes.addHeaderGroup(0, 0, new HeaderGroupConfig(Images.ICONES.aide().createImage(), 1, 1));
Grid<Publication> grillePublications = new Grid<Publication>(storeGrille, modeleDeColonnes);
grillePublications.setHeight("100%");
grillePublications.setBorders(true);
grillePublications.setSelectionModel(modeleDeSelection);
grillePublications.addPlugin(pluginLigneNumero);
grillePublications.addPlugin(expansionPlugin);
grillePublications.addPlugin(numeroPlugin);
grillePublications.getView().setForceFit(true);
grillePublications.getView().setAutoFill(true);
grillePublications.setAutoExpandColumn("titre");
grillePublications.setStripeRows(true);
grillePublications.setTrackMouseOver(true);
364,6 → 375,34
return grillePublications;
}
private ColumnConfig creerColonneEditeur() {
GridCellRenderer<Publication> editeurRendu = new GridCellRenderer<Publication>() {
@Override
public String render(Publication model, String property, ColumnData config, int rowIndex, int colIndex, ListStore<Publication> store, Grid<Publication> grid) {
String editeur = model.getNomEditeur();
model.set("_editeur_", editeur);
return editeur;
}
};
ColumnConfig editeurColonne = new ColumnConfig("_editeur_", i18nC.publicationEditeur(), 75);
editeurColonne.setRenderer(editeurRendu);
return editeurColonne;
}
private ColumnConfig creerColonneAnneePublication() {
GridCellRenderer<Publication> datePublicationRendu = new GridCellRenderer<Publication>() {
@Override
public String render(Publication model, String property, ColumnData config, int rowIndex, int colIndex, ListStore<Publication> store, Grid<Publication> grid) {
String annee = model.getAnneeParution();
model.set("_annee_", annee);
return annee;
}
};
ColumnConfig datePublicationColonne = new ColumnConfig("_annee_", i18nC.publicationDateParution(), 75);
datePublicationColonne.setRenderer(datePublicationRendu);
return datePublicationColonne;
}
 
public void actualiserEtatBoutonsBarreOutils() {
// Activation des boutons si la grille contient un élément
if (grille.getStore().getCount() > 0) {
424,10 → 463,17
if (info.getDonnee(0) != null) {
Publication publication = (Publication) info.getDonnee(0);
Publication publicationDansGrille = grille.getStore().findModel("id_publication", publication.getId());
publicationDansGrille.mettreAJour(publication);
grille.getStore().update(publicationDansGrille);
int index = grille.getStore().indexOf(publicationDansGrille);
grille.getStore().remove(publicationDansGrille);
grille.getStore().insert(publication, index);
grille.getStore().commitChanges();
}
} else if (type.equals("publication_ajoutee")) {
if (info.getDonnee(0) != null) {
Publication publication = (Publication) info.getDonnee(0);
grille.getStore().add(publication);
grille.getStore().commitChanges();
}
} else {
GWT.log(Mediateur.i18nM.erreurRafraichir(info.getClass(), this.getClass()), null);
}