Subversion Repositories eFlore/Applications.coel

Compare Revisions

Ignore whitespace Rev 342 → Rev 343

/trunk/src/org/tela_botanica/client/composants/AideFenetre.java
9,10 → 9,6
import org.tela_botanica.client.modeles.Configuration;
import org.tela_botanica.client.modeles.Information;
import org.tela_botanica.client.modeles.Menu;
import org.tela_botanica.client.modeles.Structure;
import org.tela_botanica.client.modeles.StructureConservation;
import org.tela_botanica.client.modeles.StructureListe;
import org.tela_botanica.client.modeles.StructureValorisation;
import org.tela_botanica.client.util.Print;
 
import com.extjs.gxt.ui.client.Events;
20,25 → 16,30
import com.extjs.gxt.ui.client.Style.LayoutRegion;
import com.extjs.gxt.ui.client.Style.Scroll;
import com.extjs.gxt.ui.client.binder.TreeBinder;
import com.extjs.gxt.ui.client.data.BaseTreeModel;
import com.extjs.gxt.ui.client.event.BaseEvent;
import com.extjs.gxt.ui.client.event.ComponentEvent;
import com.extjs.gxt.ui.client.event.Listener;
import com.extjs.gxt.ui.client.event.SelectionListener;
import com.extjs.gxt.ui.client.event.TreeEvent;
import com.extjs.gxt.ui.client.js.JsArray;
import com.extjs.gxt.ui.client.store.Store;
import com.extjs.gxt.ui.client.store.TreeStore;
import com.extjs.gxt.ui.client.util.Margins;
import com.extjs.gxt.ui.client.widget.ContentPanel;
import com.extjs.gxt.ui.client.widget.Dialog;
import com.extjs.gxt.ui.client.widget.Html;
import com.extjs.gxt.ui.client.widget.HtmlContainer;
import com.extjs.gxt.ui.client.widget.Info;
import com.extjs.gxt.ui.client.widget.LayoutContainer;
import com.extjs.gxt.ui.client.widget.StoreFilterField;
import com.extjs.gxt.ui.client.widget.VerticalPanel;
import com.extjs.gxt.ui.client.widget.button.Button;
import com.extjs.gxt.ui.client.widget.form.FormPanel;
import com.extjs.gxt.ui.client.widget.layout.BorderLayout;
import com.extjs.gxt.ui.client.widget.layout.BorderLayoutData;
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.FormData;
import com.extjs.gxt.ui.client.widget.layout.FormLayout;
import com.extjs.gxt.ui.client.widget.toolbar.TextToolItem;
import com.extjs.gxt.ui.client.widget.toolbar.ToolBar;
import com.extjs.gxt.ui.client.widget.tree.Tree;
import com.extjs.gxt.ui.client.widget.tree.TreeItem;
import com.google.gwt.core.client.GWT;
65,9 → 66,10
private TreeBinder<Menu> binder = null;
private StoreFilterField<Menu> filtre = null;
private Menu sommaire = null;
private VerticalPanel sommairePanneau = null;
private ContentPanel sommairePanneau = null;
private ContentPanel contenuPanneau = null;
private HtmlContainer conteneurDuHtml;
private LayoutContainer entetePanneau;
public AideFenetre() {
setBodyBorder(false);
79,17 → 81,39
setHideOnButtonClick(true);
setLayout(new BorderLayout());
// Panneau Nord : entête
entetePanneau = new LayoutContainer();
entetePanneau.setLayout(new FlowLayout());
BorderLayoutData enteteDisposition = new BorderLayoutData(LayoutRegion.NORTH, 30);
add(entetePanneau, enteteDisposition);
inititialiserSommaireArbreFiltre();
// Panneau Ouest : sommaire
sommairePanneau = new VerticalPanel();
sommairePanneau.setSpacing(5);
sommairePanneau = new ContentPanel();
sommairePanneau.setScrollMode(Scroll.AUTO);
// FIXME : plutôt que d'utiliser ce style propre à GXT faudrait utiliser une méthode...
sommairePanneau.setStyleName("x-panel-body");
BorderLayoutData sommaireDisposition = new BorderLayoutData(LayoutRegion.WEST, 200, 175, 350);
sommaireDisposition.setMargins(new Margins(0, 5, 0, 0));
sommaireDisposition.setSplit(true);
sommaireDisposition.setCollapsible(true);
sommaireDisposition.setFloatable(true);
Button plierDeplierToutBtn = new Button(null, new SelectionListener<ComponentEvent>() {
public void componentSelected(ComponentEvent ce) {
Button boutonPlierDeplierTout = (Button) ce.source;
String styleIcone = boutonPlierDeplierTout.getIconStyle();
if (styleIcone.equals(ComposantClass.ICONE_DEPLIER_TOUT)) {
boutonPlierDeplierTout.setIconStyle(ComposantClass.ICONE_REPLIER_TOUT);
arbre.expandAll();
} else if (styleIcone.equals(ComposantClass.ICONE_REPLIER_TOUT)) {
boutonPlierDeplierTout.setIconStyle(ComposantClass.ICONE_DEPLIER_TOUT);
arbre.collapseAll();
}
}
});
plierDeplierToutBtn.setIconStyle(ComposantClass.ICONE_DEPLIER_TOUT);
plierDeplierToutBtn.setToolTip("Étendre le sommaire");
sommairePanneau.getHeader().insertTool(plierDeplierToutBtn, 0);
add(sommairePanneau, sommaireDisposition);
// Chargement de l'arbre du sommaire et de son filtre
130,8 → 154,7
binder.init();
filtre.bind(magazin);
filtre.setWidth(200);
filtre.setToolTip("Filtrer le sommaire");
arbre.addListener(Events.OnClick, new Listener<TreeEvent>(){
 
public void handleEvent(TreeEvent be) {
235,9 → 258,23
if (nomMenuMinuscule.matches(".*"+nomFiltreMinuscule+".*")) {
retour = true;
}
return retour;
return retour;
}
};
filtre.setFieldLabel("Chercher");
filtre.setLabelStyle("font-weight:normal;");
filtre.setToolTip("Filtrer le sommaire");
filtre.setWidth(200);
FormLayout fl = new FormLayout();
fl.setLabelWidth(55);
fl.setPadding(5);
ContentPanel fp = new ContentPanel();
fp.setHeaderVisible(false);
fp.setLayout(fl);
fp.add(filtre);
entetePanneau.add(fp);
}
public void getSommaireArbreModele() {
276,12 → 313,11
magazin = new TreeStore<Menu>();
magazin.add(sommaire, true);
inititialiserSommaireArbreFiltre();
chargerSommaireArbre();
attribuerIdAuxTreeItem();
sommairePanneau.add(filtre);
sommairePanneau.add(arbre);
sommairePanneau.layout();
// Chargement de la page racine
selectionSommaire(pagePrincipale.getCode());