Subversion Repositories eFlore/Applications.coel

Rev

Rev 325 | Rev 358 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 325 Rev 343
Line 7... Line 7...
7
import org.tela_botanica.client.ComposantId;
7
import org.tela_botanica.client.ComposantId;
8
import org.tela_botanica.client.RegistreId;
8
import org.tela_botanica.client.RegistreId;
9
import org.tela_botanica.client.modeles.Configuration;
9
import org.tela_botanica.client.modeles.Configuration;
10
import org.tela_botanica.client.modeles.Information;
10
import org.tela_botanica.client.modeles.Information;
11
import org.tela_botanica.client.modeles.Menu;
11
import org.tela_botanica.client.modeles.Menu;
12
import org.tela_botanica.client.modeles.Structure;
-
 
13
import org.tela_botanica.client.modeles.StructureConservation;
-
 
14
import org.tela_botanica.client.modeles.StructureListe;
-
 
15
import org.tela_botanica.client.modeles.StructureValorisation;
-
 
16
import org.tela_botanica.client.util.Print;
12
import org.tela_botanica.client.util.Print;
Line 17... Line 13...
17
 
13
 
18
import com.extjs.gxt.ui.client.Events;
14
import com.extjs.gxt.ui.client.Events;
19
import com.extjs.gxt.ui.client.Registry;
15
import com.extjs.gxt.ui.client.Registry;
20
import com.extjs.gxt.ui.client.Style.LayoutRegion;
16
import com.extjs.gxt.ui.client.Style.LayoutRegion;
21
import com.extjs.gxt.ui.client.Style.Scroll;
17
import com.extjs.gxt.ui.client.Style.Scroll;
22
import com.extjs.gxt.ui.client.binder.TreeBinder;
18
import com.extjs.gxt.ui.client.binder.TreeBinder;
23
import com.extjs.gxt.ui.client.data.BaseTreeModel;
19
import com.extjs.gxt.ui.client.event.BaseEvent;
24
import com.extjs.gxt.ui.client.event.ComponentEvent;
20
import com.extjs.gxt.ui.client.event.ComponentEvent;
25
import com.extjs.gxt.ui.client.event.Listener;
21
import com.extjs.gxt.ui.client.event.Listener;
26
import com.extjs.gxt.ui.client.event.SelectionListener;
22
import com.extjs.gxt.ui.client.event.SelectionListener;
27
import com.extjs.gxt.ui.client.event.TreeEvent;
-
 
28
import com.extjs.gxt.ui.client.js.JsArray;
23
import com.extjs.gxt.ui.client.event.TreeEvent;
29
import com.extjs.gxt.ui.client.store.Store;
24
import com.extjs.gxt.ui.client.store.Store;
30
import com.extjs.gxt.ui.client.store.TreeStore;
25
import com.extjs.gxt.ui.client.store.TreeStore;
31
import com.extjs.gxt.ui.client.util.Margins;
26
import com.extjs.gxt.ui.client.util.Margins;
32
import com.extjs.gxt.ui.client.widget.ContentPanel;
27
import com.extjs.gxt.ui.client.widget.ContentPanel;
33
import com.extjs.gxt.ui.client.widget.Dialog;
-
 
34
import com.extjs.gxt.ui.client.widget.Html;
28
import com.extjs.gxt.ui.client.widget.Dialog;
35
import com.extjs.gxt.ui.client.widget.HtmlContainer;
29
import com.extjs.gxt.ui.client.widget.HtmlContainer;
-
 
30
import com.extjs.gxt.ui.client.widget.Info;
36
import com.extjs.gxt.ui.client.widget.Info;
31
import com.extjs.gxt.ui.client.widget.LayoutContainer;
37
import com.extjs.gxt.ui.client.widget.StoreFilterField;
-
 
38
import com.extjs.gxt.ui.client.widget.VerticalPanel;
32
import com.extjs.gxt.ui.client.widget.StoreFilterField;
-
 
33
import com.extjs.gxt.ui.client.widget.button.Button;
39
import com.extjs.gxt.ui.client.widget.button.Button;
34
import com.extjs.gxt.ui.client.widget.form.FormPanel;
40
import com.extjs.gxt.ui.client.widget.layout.BorderLayout;
35
import com.extjs.gxt.ui.client.widget.layout.BorderLayout;
-
 
36
import com.extjs.gxt.ui.client.widget.layout.BorderLayoutData;
-
 
37
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
-
 
38
import com.extjs.gxt.ui.client.widget.layout.FlowLayout;
-
 
39
import com.extjs.gxt.ui.client.widget.layout.FormData;
-
 
40
import com.extjs.gxt.ui.client.widget.layout.FormLayout;
-
 
41
import com.extjs.gxt.ui.client.widget.toolbar.TextToolItem;
41
import com.extjs.gxt.ui.client.widget.layout.BorderLayoutData;
42
import com.extjs.gxt.ui.client.widget.toolbar.ToolBar;
42
import com.extjs.gxt.ui.client.widget.tree.Tree;
43
import com.extjs.gxt.ui.client.widget.tree.Tree;
43
import com.extjs.gxt.ui.client.widget.tree.TreeItem;
44
import com.extjs.gxt.ui.client.widget.tree.TreeItem;
44
import com.google.gwt.core.client.GWT;
45
import com.google.gwt.core.client.GWT;
45
import com.google.gwt.http.client.Request;
46
import com.google.gwt.http.client.Request;
Line 63... Line 64...
63
	private Tree arbre = null; 
64
	private Tree arbre = null; 
64
	private TreeStore<Menu> magazin = null;
65
	private TreeStore<Menu> magazin = null;
65
	private TreeBinder<Menu> binder = null;
66
	private TreeBinder<Menu> binder = null;
66
	private StoreFilterField<Menu> filtre = null;
67
	private StoreFilterField<Menu> filtre = null;
67
	private Menu sommaire = null;
68
	private Menu sommaire = null;
68
	private VerticalPanel sommairePanneau = null;
69
	private ContentPanel sommairePanneau = null;
69
	private ContentPanel contenuPanneau = null;
70
	private ContentPanel contenuPanneau = null;
70
	private HtmlContainer conteneurDuHtml;
71
	private HtmlContainer conteneurDuHtml;
-
 
72
	private LayoutContainer entetePanneau;
Line 71... Line 73...
71
		
73
		
72
	public AideFenetre() {
74
	public AideFenetre() {
73
		setBodyBorder(false);  
75
		setBodyBorder(false);  
74
		setButtons(Dialog.OK);
76
		setButtons(Dialog.OK);
Line 77... Line 79...
77
		setWidth(675);
79
		setWidth(675);
78
		setHeight(400);
80
		setHeight(400);
79
		setHideOnButtonClick(true);  
81
		setHideOnButtonClick(true);  
80
		setLayout(new BorderLayout());
82
		setLayout(new BorderLayout());
Line -... Line 83...
-
 
83
		
-
 
84
		// Panneau Nord : entête
-
 
85
		entetePanneau = new LayoutContainer();
-
 
86
		entetePanneau.setLayout(new FlowLayout());
-
 
87
		BorderLayoutData enteteDisposition = new BorderLayoutData(LayoutRegion.NORTH, 30);
-
 
88
		add(entetePanneau, enteteDisposition);
-
 
89
		
-
 
90
		inititialiserSommaireArbreFiltre();
81
		
91
		
82
		// Panneau Ouest : sommaire
92
		// Panneau Ouest : sommaire
83
		sommairePanneau = new VerticalPanel();  
-
 
84
		sommairePanneau.setSpacing(5);
93
		sommairePanneau = new ContentPanel();
85
		sommairePanneau.setScrollMode(Scroll.AUTO);
-
 
86
		// FIXME : plutôt que d'utiliser ce style propre à GXT faudrait utiliser une méthode...
-
 
87
		sommairePanneau.setStyleName("x-panel-body");
94
		sommairePanneau.setScrollMode(Scroll.AUTO);
88
		BorderLayoutData sommaireDisposition = new BorderLayoutData(LayoutRegion.WEST, 200, 175, 350);  
95
		BorderLayoutData sommaireDisposition = new BorderLayoutData(LayoutRegion.WEST, 200, 175, 350);  
89
		sommaireDisposition.setMargins(new Margins(0, 5, 0, 0));  
96
		sommaireDisposition.setMargins(new Margins(0, 5, 0, 0));  
90
		sommaireDisposition.setSplit(true);  
-
 
91
		sommaireDisposition.setCollapsible(true);  
97
		sommaireDisposition.setSplit(true);  
-
 
98
		sommaireDisposition.setFloatable(true);
-
 
99
		
-
 
100
		Button plierDeplierToutBtn = new Button(null, new SelectionListener<ComponentEvent>() {  
-
 
101
			public void componentSelected(ComponentEvent ce) {  
-
 
102
				Button boutonPlierDeplierTout = (Button) ce.source;
-
 
103
				String styleIcone = boutonPlierDeplierTout.getIconStyle();
-
 
104
				if (styleIcone.equals(ComposantClass.ICONE_DEPLIER_TOUT)) {
-
 
105
					boutonPlierDeplierTout.setIconStyle(ComposantClass.ICONE_REPLIER_TOUT);
-
 
106
					arbre.expandAll();
-
 
107
				} else if (styleIcone.equals(ComposantClass.ICONE_REPLIER_TOUT)) {
-
 
108
					boutonPlierDeplierTout.setIconStyle(ComposantClass.ICONE_DEPLIER_TOUT);
-
 
109
					arbre.collapseAll();
-
 
110
				}
-
 
111
			}
-
 
112
		});
-
 
113
		plierDeplierToutBtn.setIconStyle(ComposantClass.ICONE_DEPLIER_TOUT);
-
 
114
		plierDeplierToutBtn.setToolTip("Étendre le sommaire");
-
 
115
		sommairePanneau.getHeader().insertTool(plierDeplierToutBtn, 0);
92
		sommaireDisposition.setFloatable(true);
116
		
Line 93... Line 117...
93
		add(sommairePanneau, sommaireDisposition);  
117
		add(sommairePanneau, sommaireDisposition);  
94
		
118
		
Line 128... Line 152...
128
		binder.setAutoLoad(true);
152
		binder.setAutoLoad(true);
129
		binder.setDisplayProperty("nom");
153
		binder.setDisplayProperty("nom");
130
		binder.init();
154
		binder.init();
Line 131... Line 155...
131
		
155
		
132
		filtre.bind(magazin);
-
 
133
		filtre.setWidth(200);
-
 
-
 
156
		filtre.bind(magazin);
134
		filtre.setToolTip("Filtrer le sommaire");
157
		
Line 135... Line 158...
135
		arbre.addListener(Events.OnClick, new Listener<TreeEvent>(){
158
		arbre.addListener(Events.OnClick, new Listener<TreeEvent>(){
136
 
159
 
137
			public void handleEvent(TreeEvent be) {
160
			public void handleEvent(TreeEvent be) {
Line 236... Line 259...
236
					retour = true;  
259
					retour = true;  
237
				}
260
				}
238
				return retour;  
261
				return retour;
239
			}
262
			}
240
		};
263
		};
-
 
264
		filtre.setFieldLabel("Chercher");
-
 
265
		filtre.setLabelStyle("font-weight:normal;");
-
 
266
		filtre.setToolTip("Filtrer le sommaire");
-
 
267
		filtre.setWidth(200);
-
 
268
		
-
 
269
		FormLayout fl = new FormLayout();
-
 
270
		fl.setLabelWidth(55);
-
 
271
		fl.setPadding(5);
-
 
272
		
-
 
273
		ContentPanel fp = new ContentPanel();
-
 
274
		fp.setHeaderVisible(false);
-
 
275
		fp.setLayout(fl);
-
 
276
		fp.add(filtre);
-
 
277
		entetePanneau.add(fp);
241
	}
278
	}
Line 242... Line 279...
242
	
279
	
243
	public void getSommaireArbreModele() {
280
	public void getSommaireArbreModele() {
244
		String serviceUrl = ((Configuration) Registry.get(RegistreId.CONFIG)).getServiceBaseUrl();
281
		String serviceUrl = ((Configuration) Registry.get(RegistreId.CONFIG)).getServiceBaseUrl();
Line 274... Line 311...
274
								ajouterMenuRecursivement(sommaire, jsonArray);
311
								ajouterMenuRecursivement(sommaire, jsonArray);
Line 275... Line 312...
275
 
312
 
276
								magazin = new TreeStore<Menu>();
313
								magazin = new TreeStore<Menu>();
Line 277... Line -...
277
								magazin.add(sommaire, true);
-
 
278
								
314
								magazin.add(sommaire, true);
279
								inititialiserSommaireArbreFiltre();
315
								
Line 280... Line -...
280
								chargerSommaireArbre();
-
 
281
								attribuerIdAuxTreeItem();
316
								chargerSommaireArbre();
-
 
317
								attribuerIdAuxTreeItem();
282
								
318
								
283
								sommairePanneau.add(filtre);
319
								sommairePanneau.add(arbre);
284
								sommairePanneau.add(arbre);
320
								
285
								sommairePanneau.layout();
321
								sommairePanneau.layout();
286
								// Chargement de la page racine
322
								// Chargement de la page racine