diff options
Diffstat (limited to 'client/src/com/vaadin/client/ui/ClickEventHandler.java')
-rw-r--r-- | client/src/com/vaadin/client/ui/ClickEventHandler.java | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/client/src/com/vaadin/client/ui/ClickEventHandler.java b/client/src/com/vaadin/client/ui/ClickEventHandler.java new file mode 100644 index 0000000000..7252e6bb13 --- /dev/null +++ b/client/src/com/vaadin/client/ui/ClickEventHandler.java @@ -0,0 +1,62 @@ +/* + * Copyright 2011 Vaadin Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ +package com.vaadin.client.ui; + +import com.google.gwt.dom.client.NativeEvent; +import com.vaadin.client.ComponentConnector; +import com.vaadin.client.MouseEventDetailsBuilder; +import com.vaadin.shared.EventId; +import com.vaadin.shared.MouseEventDetails; + +public abstract class ClickEventHandler extends AbstractClickEventHandler { + + public ClickEventHandler(ComponentConnector connector) { + this(connector, EventId.CLICK_EVENT_IDENTIFIER); + } + + public ClickEventHandler(ComponentConnector connector, + String clickEventIdentifier) { + super(connector, clickEventIdentifier); + } + + /** + * Sends the click event based on the given native event. Delegates actual + * sending to {@link #fireClick(MouseEventDetails)}. + * + * @param event + * The native event that caused this click event + */ + @Override + protected void fireClick(NativeEvent event) { + MouseEventDetails mouseDetails = MouseEventDetailsBuilder + .buildMouseEventDetails(event, getRelativeToElement()); + fireClick(event, mouseDetails); + } + + /** + * Sends the click event to the server. Must be implemented by sub classes, + * typically by calling an RPC method. + * + * @param event + * The event that caused this click to be fired + * + * @param mouseDetails + * The mouse details for the event + */ + protected abstract void fireClick(NativeEvent event, + MouseEventDetails mouseDetails); + +}
\ No newline at end of file |