*/
package fr.gouv.finances.dgfip.xemelios.web2.gwt.client.widgets.common;
+import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.event.shared.HandlerRegistration;
import com.google.gwt.resources.client.ImageResource;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.Image;
-import java.util.ArrayList;
-import java.util.List;
/**
* An image that can be enabled / disabled
+ *
* @author cmarchand
*/
public class DisableImage extends Composite {
- private ImageResource enabledImage;
- private ImageResource disabledImage;
- private boolean enabled = true;
- private Image image;
-// private List<ClickHandler> clickHandlers;
-// private List<HandlerRegistration> registers;
+ private ImageResource enabledImage;
+ private ImageResource disabledImage;
+ private boolean enabled = true;
+ private Image image;
- public DisableImage(ImageResource enabledImage, ImageResource disabledImage, String title) {
- super();
- this.enabledImage = enabledImage;
- this.disabledImage = disabledImage;
- image = new Image(enabledImage);
- image.setTitle(title);
-// clickHandlers = new ArrayList<ClickHandler>();
-// registers = new ArrayList<HandlerRegistration>();
- initWidget(image);
- }
- public void setEnabled(boolean enable) {
- this.enabled = enable;
- refreshImage();
-// if(enable) {
-// for(ClickHandler ch:clickHandlers) {
-// registers.add(image.addClickHandler(ch));
-// }
-// } else {
-// for(HandlerRegistration hr:registers) {
-// hr.removeHandler();
-// }
-// registers.clear();
-// }
- }
+ public DisableImage(ImageResource enabledImage, ImageResource disabledImage, String title) {
+ super();
+ this.enabledImage = enabledImage;
+ this.disabledImage = disabledImage;
+ image = new Image(enabledImage);
+ image.setTitle(title);
+ initWidget(image);
+ }
- private void refreshImage() {
- image.setResource(enabled ? enabledImage : disabledImage);
- }
+ public void setEnabled(boolean enable) {
+ this.enabled = enable;
+ refreshImage();
+ }
- public HandlerRegistration addClickHandler(ClickHandler handler) {
- HandlerRegistration ret = image.addClickHandler(handler);
-// clickHandlers.add(handler);
-// registers.add(ret);
- return ret;
- }
- public boolean isEnabled() { return enabled; }
+ private void refreshImage() {
+ image.setResource(enabled ? enabledImage : disabledImage);
+ }
+
+ public HandlerRegistration addClickHandler(final ClickHandler handler) {
+ HandlerRegistration ret = image.addClickHandler(new ClickHandler() {
+
+ @Override
+ public void onClick(ClickEvent event) {
+ if (enabled) {
+ handler.onClick(event);
+ }
+ }
+ });
+
+ return ret;
+ }
+
+ public boolean isEnabled() {
+ return enabled;
+ }
}