Subversion Repositories eFlore/Archives.cel-v1

Rev

Rev 25 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
26 ddelon 1
/**
2
 David Delon david.delon@clapas.net 2007
3
 
4
 */
5
 
6
/*
7
 * Cel.java  (Point d'entree de l'application carnet en ligne)
8
 *
9
 * Cas d'utilisation :
10
 * Initialisation de l'application
11
 *
12
 * 1: Le programme initialise la classe intercesseur (mediator), classe ou sont decrites les actions de l'application.
13
 * 2: Le programme s'enregistre aupres de la classe intercesseur
14
 * 3: Le programme recherche les informations de connections (utilisateur ou anonyme)
15
 * 4: Le programme initialise les differents panneaux composant l'affichage
16
 *
17
 */
18
 
2 ddelon 19
package org.tela_botanica.client;
20
 
21
import com.google.gwt.core.client.EntryPoint;
13 ddelon 22
import com.google.gwt.user.client.Command;
23
import com.google.gwt.user.client.DeferredCommand;
2 ddelon 24
import com.google.gwt.user.client.Window;
13 ddelon 25
import com.google.gwt.user.client.WindowResizeListener;
2 ddelon 26
import com.google.gwt.user.client.ui.DockPanel;
27
import com.google.gwt.user.client.ui.RootPanel;
13 ddelon 28
import com.google.gwt.user.client.ui.VerticalPanel;
2 ddelon 29
 
30
 
31
 
32
/**
33
 * Entry point classes define <code>onModuleLoad()</code>.
34
 */
13 ddelon 35
public class Cel implements EntryPoint,  WindowResizeListener {
2 ddelon 36
 
26 ddelon 37
 
38
 
39
  private TopPanel topPanel = null;   // Identifiant de connexion et titre
40
  private CenterPanel centerPanel = null;  // Liste de releves
41
  private LeftPanel leftPanel = null; // Filtres sur liste de releves
42
  private EntryPanel entryPanel = null; // Saisie d'un releve
43
  private ActionPanel actionPanel = null; // Action sur les relevés saisis
44
  private SearchPanel searchPanel = null; // Recherche dans les relevés saisis
10 ddelon 45
 
26 ddelon 46
  private VerticalPanel rightPanel = null; // Container panneau précedents (sauf left et popup)
11 ddelon 47
 
26 ddelon 48
  private Mediator mediator = null; // Intermediaire entre les differents classes
10 ddelon 49
 
12 ddelon 50
 
2 ddelon 51
  /**
26 ddelon 52
   * Point d'entree : recherche du pres-requis : information de connection.
2 ddelon 53
   */
26 ddelon 54
 
2 ddelon 55
  public void onModuleLoad() {
56
 
10 ddelon 57
	 mediator= new Mediator();
26 ddelon 58
	 mediator.registerCel(this); // Declaration point d'entree aupres de la classe intercesseur
59
	 mediator.initUser(); // Initialisation environnement utilisateur (Cette methode appelle la methode initAsync() suivante)
14 ddelon 60
 
10 ddelon 61
  }
62
 
26 ddelon 63
 
64
  /**
65
   *  Fin de l'initialisation
66
   *
67
   */
68
 
10 ddelon 69
  public void initAsync() {
2 ddelon 70
 
10 ddelon 71
 
26 ddelon 72
	  centerPanel = new CenterPanel(mediator); // Liste de releves
13 ddelon 73
 
26 ddelon 74
	  topPanel = new TopPanel(mediator); // Identifiant de connection
75
 
76
	  leftPanel = new LeftPanel(mediator); // Filte de liste de releves
77
 
25 ddelon 78
 
26 ddelon 79
	  entryPanel = new EntryPanel(mediator); // Formulaire de saisie
12 ddelon 80
 
26 ddelon 81
	  actionPanel = new ActionPanel(mediator); // Action sur releves saisis
82
	  searchPanel = new SearchPanel(mediator); // Recherche dans releves
13 ddelon 83
 
26 ddelon 84
	  rightPanel = new VerticalPanel();  // Container des panneaux precedents
85
 
86
	  entryPanel.setStyleName("item-Input");
10 ddelon 87
 
88
 
26 ddelon 89
	  // Assemblage des differents panneaux
2 ddelon 90
 
13 ddelon 91
	  rightPanel.add(searchPanel);
14 ddelon 92
	  rightPanel.add(entryPanel);
93
	  rightPanel.add(centerPanel);
13 ddelon 94
	  rightPanel.add(actionPanel);
12 ddelon 95
 
13 ddelon 96
 
97
	  rightPanel.setWidth("100%");
98
	  centerPanel.setWidth("100%");
99
	  entryPanel.setWidth("100%");
100
	  topPanel.setWidth("100%");
2 ddelon 101
 
13 ddelon 102
	  rightPanel.setSpacing(2);
2 ddelon 103
 
26 ddelon 104
	 // Disposition générale :
13 ddelon 105
 
2 ddelon 106
	  DockPanel outer = new DockPanel();
107
	  outer.add(topPanel, DockPanel.NORTH);
13 ddelon 108
	  outer.add(rightPanel, DockPanel.CENTER);
10 ddelon 109
	  outer.add(leftPanel, DockPanel.WEST);
2 ddelon 110
 
111
	  outer.setWidth("100%");
112
 
14 ddelon 113
	  outer.setSpacing(2);
13 ddelon 114
	  outer.setCellWidth(rightPanel, "100%");
2 ddelon 115
 
116
//	  Window.enableScrolling(false);
117
	  Window.setMargin("0px");
118
 
26 ddelon 119
//    Initialisation des differents contenus ...
120
 
12 ddelon 121
	  mediator.onInit();
122
 
2 ddelon 123
	  RootPanel.get().add(outer);
124
 
25 ddelon 125
 
13 ddelon 126
	    // Call the window resized handler to get the initial sizes setup. Doing
127
	    // this in a deferred command causes it to occur after all widgets' sizes
128
	    // have been computed by the browser.
129
	    DeferredCommand.add(new Command() {
130
	      public void execute() {
131
	        onWindowResized(Window.getClientWidth(), Window.getClientHeight());
132
	      }
133
	    });
134
 
135
 
2 ddelon 136
  }
137
 
138
 
13 ddelon 139
  public void onWindowResized(int width, int height) {
140
	    // Adjust the shortcut panel and detail area to take up the available room
141
	    // in the window.
142
	    int shortcutHeight = height - leftPanel.getAbsoluteTop() - 8;
143
	    if (shortcutHeight < 1)
144
	      shortcutHeight = 1;
145
	    leftPanel.setHeight("" + shortcutHeight);
2 ddelon 146
 
13 ddelon 147
 
148
	  }
149
 
150
 
12 ddelon 151
 
4 ddelon 152
 
2 ddelon 153
}
26 ddelon 154
 
155
/* +--Fin du code ---------------------------------------------------------------------------------------+
156
* $Log$
157
*
158
*/