package com.iambookmaster.client.iphone; import com.google.gwt.event.dom.client.ClickEvent; import com.google.gwt.event.dom.client.ClickHandler; import com.google.gwt.user.client.ui.HasHorizontalAlignment; import com.google.gwt.user.client.ui.HasVerticalAlignment; import com.google.gwt.user.client.ui.HorizontalPanel; import com.google.gwt.user.client.ui.Image; import com.iambookmaster.client.iphone.images.IPhoneImages; import com.iambookmaster.client.iphone.images.IPhoneStyles; public class IPhoneAudioState extends HorizontalPanel{ private static final IPhoneStyles css = IPhoneImages.INSTANCE.css(); private Image audio; private Image noAudio; private boolean enabled; public IPhoneAudioState(boolean enabled,IPhoneCanvas canvas) { audio = new Image(IPhoneImages.INSTANCE.audioOn()); noAudio = new Image(IPhoneImages.INSTANCE.audioOff()); setWidth("100%"); setHorizontalAlignment(HasHorizontalAlignment.ALIGN_CENTER); setVerticalAlignment(HasVerticalAlignment.ALIGN_MIDDLE); add(audio); ClickHandler handler = new ClickHandler() { public void onClick(ClickEvent event) { setEnabled(true); } }; audio.addClickHandler(handler); canvas.addClickHandler(audio, handler); add(noAudio); handler = new ClickHandler() { public void onClick(ClickEvent event) { setEnabled(false); } }; noAudio.addClickHandler(handler); canvas.addClickHandler(noAudio, handler); setCellWidth(audio, "50%"); setCellWidth(noAudio, "50%"); setSpacing(10); setEnabled(enabled); } protected void setEnabled(boolean enabled) { this.enabled = enabled; if (enabled) { audio.setStyleName(css.audioStateSelected()); noAudio.setStyleName(css.audioStateNonSelected()); } else { noAudio.setStyleName(css.audioStateSelected()); audio.setStyleName(css.audioStateNonSelected()); } } public boolean isEnabled() { return enabled; } }