/trunk/src/org/tela_botanica/client/vues/accueil/Applette.java |
---|
New file |
0,0 → 1,81 |
package org.tela_botanica.client.vues.accueil; |
import org.tela_botanica.client.util.Debug; |
import com.extjs.gxt.ui.client.Style.Scroll; |
import com.extjs.gxt.ui.client.event.IconButtonEvent; |
import com.extjs.gxt.ui.client.event.SelectionListener; |
import com.extjs.gxt.ui.client.widget.button.ToolButton; |
import com.extjs.gxt.ui.client.widget.custom.Portlet; |
import com.extjs.gxt.ui.client.widget.layout.FitLayout; |
abstract public class Applette extends Portlet { |
private ToolButton epingleBouton = null; |
private ToolButton configurationBouton = null; |
private ToolButton fermetureBouton = null; |
protected void initialiserApplette() { |
initialiserApplette(null); |
} |
protected void initialiserApplette(String titre) { |
setLayout(new FitLayout()); |
setHeight(250); |
setCollapsible(true); |
setAnimCollapse(true); |
setScrollMode(Scroll.AUTO); |
setTitre(titre); |
configurationBouton = new ToolButton("x-tool-gear"); |
getHeader().addTool(configurationBouton); |
epingleBouton = getBoutonEpingle(); |
getHeader().addTool(epingleBouton); |
fermetureBouton = getBoutonFermeture(); |
getHeader().addTool(fermetureBouton); |
} |
private ToolButton getBoutonEpingle() { |
ToolButton bouton = new ToolButton("x-tool-pin", new SelectionListener<IconButtonEvent>() { |
@Override |
public void componentSelected(IconButtonEvent ce) { |
setEpingler(!isPinned()); |
} |
}); |
return bouton; |
} |
private ToolButton getBoutonFermeture() { |
ToolButton bouton = new ToolButton("x-tool-close", new SelectionListener<IconButtonEvent>() { |
@Override |
public void componentSelected(IconButtonEvent ce) { |
removeFromParent(); |
} |
}); |
return bouton; |
} |
public void setTitre(String titre) { |
if (titre != null) { |
setHeading(titre); |
} |
} |
public void setEpingler(boolean epingler) { |
if (epingler) { |
epingleBouton.setStyleName("x-tool-unpin x-tool"); |
setPinned(true); |
} else { |
epingleBouton.setStyleName("x-tool-pin x-tool"); |
setPinned(false); |
} |
Debug.log(epingleBouton.getStyleName()); |
layout(); |
} |
protected void ajouterConfigurationListener(SelectionListener<IconButtonEvent> configurationListener) { |
configurationBouton.addSelectionListener(configurationListener); |
} |
} |
/trunk/src/org/tela_botanica/client/vues/accueil/AppletteStatistique.java |
---|
3,12 → 3,9 |
import org.tela_botanica.client.RegistreId; |
import org.tela_botanica.client.configuration.Configuration; |
import org.tela_botanica.client.modeles.InterneValeur; |
import org.tela_botanica.client.util.Debug; |
import org.tela_botanica.client.vues.Formulaire; |
import com.extjs.gxt.ui.client.Registry; |
import com.extjs.gxt.ui.client.Style.Scroll; |
import com.extjs.gxt.ui.client.event.Events; |
import com.extjs.gxt.ui.client.event.IconButtonEvent; |
import com.extjs.gxt.ui.client.event.SelectionListener; |
import com.extjs.gxt.ui.client.event.WindowEvent; |
17,16 → 14,15 |
import com.extjs.gxt.ui.client.widget.ContentPanel; |
import com.extjs.gxt.ui.client.widget.Dialog; |
import com.extjs.gxt.ui.client.widget.HtmlContainer; |
import com.extjs.gxt.ui.client.widget.button.ToolButton; |
import com.extjs.gxt.ui.client.widget.custom.Portlet; |
import com.extjs.gxt.ui.client.widget.form.ComboBox; |
import com.extjs.gxt.ui.client.widget.form.ComboBox.TriggerAction; |
import com.extjs.gxt.ui.client.widget.form.FormPanel.LabelAlign; |
import com.extjs.gxt.ui.client.widget.layout.FitLayout; |
public class AppletteStatistique extends Portlet { |
public class AppletteStatistique extends Applette { |
private String baseUrl = ((Configuration) Registry.get(RegistreId.CONFIG)).getServiceBaseUrl(); |
public AppletteStatistique() { |
initialiserAppletteStatistique(null); |
37,16 → 33,10 |
} |
private void initialiserAppletteStatistique(String contenu) { |
setLayout(new FitLayout()); |
setHeading("Statistiques des collections"); |
setHeight(250); |
setCollapsible(true); |
setAnimCollapse(true); |
setScrollMode(Scroll.AUTO); |
String titre = "Statistiques des collections"; |
initialiserApplette(titre); |
attribuerContenu(contenu); |
getHeader().addTool(new ToolButton("x-tool-gear", new SelectionListener<IconButtonEvent>() { |
SelectionListener<IconButtonEvent> configurationListener = new SelectionListener<IconButtonEvent>() { |
@Override |
public void componentSelected(IconButtonEvent ce) { |
ContentPanel panneau = new ContentPanel(); |
87,31 → 77,12 |
configurationFenetre.add(panneau); |
configurationFenetre.show(); |
} |
})); |
}; |
ajouterConfigurationListener(configurationListener); |
getHeader().addTool(new ToolButton("x-tool-pin", new SelectionListener<IconButtonEvent>() { |
@Override |
public void componentSelected(IconButtonEvent ce) { |
if (isPinned()) { |
ce.getComponent().setStylePrimaryName("x-tool-pin"); |
setPinned(false); |
} else { |
ce.getComponent().setStylePrimaryName("x-tool-unpin"); |
setPinned(true); |
} |
layout(); |
} |
})); |
getHeader().addTool(new ToolButton("x-tool-close", new SelectionListener<IconButtonEvent>() { |
@Override |
public void componentSelected(IconButtonEvent ce) { |
removeFromParent(); |
} |
})); |
attribuerContenu(contenu); |
} |
private void attribuerContenu(String abreviation) { |
if (abreviation == null) { |
abreviation = "NombreDonnees"; |
/trunk/src/org/tela_botanica/client/vues/accueil/AccueilVue.java |
---|
116,6 → 116,8 |
int colonne = Integer.parseInt(appletteNoeud.getAttribute("colonne")); |
int index = Integer.parseInt(appletteNoeud.getAttribute("index")); |
HashMap<String, String> infoApplette = new HashMap<String, String>(); |
infoApplette.put("reduite", appletteNoeud.getAttribute("reduite")); |
infoApplette.put("epingle", appletteNoeud.getAttribute("epingle")); |
infoApplette.put("type", appletteNoeud.getAttribute("type")); |
infoApplette.put("colonne", appletteNoeud.getAttribute("colonne")); |
infoApplette.put("index", appletteNoeud.getAttribute("index")); |
126,7 → 128,11 |
while (it.hasNext()) { |
String id = it.next(); |
HashMap<String, String> infoApplette = tableApplettes.get(id); |
ajouterPortlet(infoApplette.get("type"), Integer.parseInt(infoApplette.get("colonne")), Integer.parseInt(infoApplette.get("index")), infoApplette.get("contenu")); |
boolean reduite = (infoApplette.get("reduite") != null && infoApplette.get("reduite").equals("true")) ? true : false; |
boolean epingle = (infoApplette.get("epingle") != null && infoApplette.get("epingle").equals("true")) ? true : false; |
int index = Integer.parseInt(infoApplette.get("index")); |
int colonne = Integer.parseInt(infoApplette.get("colonne")); |
ajouterPortlet(reduite, epingle, infoApplette.get("type"), colonne, index, infoApplette.get("contenu")); |
} |
} |
Debug.log("Nbre aplletes c0 :"+portail.getItem(0).getItemCount()); |
164,14 → 170,20 |
// Ajout des noeuds "applette" au noeud "accueil" |
while (it.hasNext()) { |
Portlet applette = it.next(); |
String reduite = (applette.isCollapsed() ? "true" : "false"); |
String epingle = (applette.isPinned() ? "true" : "false"); |
String index = Integer.toString(portail.getPortletIndex(applette)); |
String colonne = Integer.toString(portail.getPortletColumn(applette)); |
String contenu = applette.getData("contenu"); |
Element appletteElement = paramXml.createElement("applette"); |
appletteElement.setAttribute("reduite", reduite); |
appletteElement.setAttribute("epingle", epingle); |
appletteElement.setAttribute("type", "statistique"); |
appletteElement.setAttribute("colonne", colonne); |
appletteElement.setAttribute("index", index); |
appletteElement.setAttribute("contenu", contenu); |
accueilNoeud.appendChild(appletteElement); |
} |
194,16 → 206,21 |
} |
private void ajouterPortlet() { |
ajouterPortlet("statistique", 0, 0, null); |
ajouterPortlet(false, false, "statistique", 0, 0, null); |
} |
private void ajouterPortlet(String type, int colonne, int index, String contenu) { |
Debug.log("Ajout:"+type+"-"+colonne+"-"+index+"-"+contenu); |
Portlet portlet = null; |
private void ajouterPortlet(boolean reduite, boolean epingle, String type, int colonne, int index, String contenu) { |
Debug.log("Ajout:"+reduite+"-"+epingle+"-"+type+"-"+colonne+"-"+index+"-"+contenu); |
Applette applette = null; |
if (type.equals("statistique")) { |
portlet = new AppletteStatistique(contenu); |
applette = new AppletteStatistique(contenu); |
} |
portail.insert(portlet, index, colonne); |
if (reduite) { |
applette.collapse(); |
} |
portail.insert(applette, index, colonne); |
applette.setEpingler(epingle); |
layout(); |
} |