package fr.lteconsulting.hexa.client.ui.containers; import com.google.gwt.event.dom.client.ClickEvent; import com.google.gwt.event.dom.client.ClickHandler; import com.google.gwt.resources.client.ImageResource; import com.google.gwt.user.client.ui.Composite; import fr.lteconsulting.hexa.client.ui.widget.ImageButton; public class AccordionHeaderSwitch extends Composite implements ClickHandler { Accordion.Item item; ImageButton image; private static ImageResource _openRsrc = null; private static ImageResource _closeRsrc = null; public static void setImages( ImageResource open, ImageResource close ) { _openRsrc = open; _closeRsrc = close; } public AccordionHeaderSwitch( Accordion.Item item ) { this.item = item; image = new ImageButton( _openRsrc, "" ); image.addClickHandler( this ); updateImage(); initWidget( image ); } @Override public void onClick( ClickEvent event ) { item.setExpanded( !item.getExpanded() ); updateImage(); } private void updateImage() { image.setResource( item.getExpanded() ? _openRsrc : _closeRsrc ); image.setTitle( item.getExpanded() ? "Reduire" : "Ouvrir" ); } }