Rev 1415 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
package org.tela_botanica.client.vues.accueil;
import org.tela_botanica.client.Mediateur;
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 {
protected Mediateur mediateur = null;
private ToolButton epingleBouton = null;
private ToolButton configurationBouton = null;
private ToolButton fermetureBouton = null;
protected void initialiserApplette(Mediateur mediateurCourrant) {
initialiserApplette(mediateurCourrant, null);
}
protected void initialiserApplette(Mediateur mediateurCourrant, String titre) {
mediateur = mediateurCourrant;
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) {
setHeadingHtml(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() = "+epingleBouton.getStyleName());
layout();
}
protected void ajouterConfigurationListener(SelectionListener<IconButtonEvent> configurationListener) {
configurationBouton.addSelectionListener(configurationListener);
}
}