diff options
author | Artur Signell <artur.signell@itmill.com> | 2009-10-06 05:55:46 +0000 |
---|---|---|
committer | Artur Signell <artur.signell@itmill.com> | 2009-10-06 05:55:46 +0000 |
commit | c949237cd6a33cf3e7b1bf856cb78fac7ba6e7e9 (patch) | |
tree | a1f4640ea708bf4c9f89b0b42ee8f32162b0cf4d | |
parent | d1bf0de1161299f7211af688917c00b95b8ca7f4 (diff) | |
download | vaadin-framework-c949237cd6a33cf3e7b1bf856cb78fac7ba6e7e9.tar.gz vaadin-framework-c949237cd6a33cf3e7b1bf856cb78fac7ba6e7e9.zip |
Merged: Fix for #3377 - VButton clicklistener should be overridable
svn changeset:9091/svn branch:6.2
-rw-r--r-- | src/com/vaadin/terminal/gwt/client/ui/VButton.java | 41 |
1 files changed, 26 insertions, 15 deletions
diff --git a/src/com/vaadin/terminal/gwt/client/ui/VButton.java b/src/com/vaadin/terminal/gwt/client/ui/VButton.java index 93f06f9954..decf262a17 100644 --- a/src/com/vaadin/terminal/gwt/client/ui/VButton.java +++ b/src/com/vaadin/terminal/gwt/client/ui/VButton.java @@ -20,7 +20,7 @@ import com.vaadin.terminal.gwt.client.UIDL; import com.vaadin.terminal.gwt.client.Util; import com.vaadin.terminal.gwt.client.VTooltip; -public class VButton extends FocusWidget implements Paintable { +public class VButton extends FocusWidget implements Paintable, ClickHandler { public static final String CLASSNAME = "v-button"; private static final String CLASSNAME_PRESSED = "v-pressed"; @@ -86,18 +86,7 @@ public class VButton extends FocusWidget implements Paintable { captionElement.setClassName(CLASSNAME + "-caption"); wrapper.appendChild(captionElement); - addClickHandler(new ClickHandler() { - public void onClick(ClickEvent event) { - if (id == null || client == null) { - return; - } - if (BrowserInfo.get().isSafari()) { - VButton.this.setFocus(true); - } - client.updateVariable(id, "state", true, true); - clickPending = false; - } - }); + addClickHandler(this); } public void updateFromUIDL(UIDL uidl, ApplicationConnection client) { @@ -301,14 +290,36 @@ public class VButton extends FocusWidget implements Paintable { } /* + * (non-Javadoc) + * + * @see + * com.google.gwt.event.dom.client.ClickHandler#onClick(com.google.gwt.event + * .dom.client.ClickEvent) + */ + public void onClick(ClickEvent event) { + if (id == null || client == null) { + return; + } + if (BrowserInfo.get().isSafari()) { + VButton.this.setFocus(true); + } + client.updateVariable(id, "state", true, true); + + clickPending = false; + } + + /* * ALL BELOW COPY-PASTED FROM GWT CustomButton */ /** - * Called when the user finishes clicking on this button. The default - * behavior is to fire the click event to listeners. Subclasses that + * Called internally when the user finishes clicking on this button. The + * default behavior is to fire the click event to listeners. Subclasses that * override {@link #onClickStart()} should override this method to restore * the normal widget display. + * <p> + * To add custom code for a click event, override + * {@link #onClick(ClickEvent)} instead of this. */ protected void onClick() { // Allow the click we're about to synthesize to pass through to the |