/* * Copyright 2014 cruxframework.org. * * 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 org.cruxframework.crux.core.client.select; import org.cruxframework.crux.core.client.event.SelectEndEvent; import org.cruxframework.crux.core.client.event.SelectEvent; import org.cruxframework.crux.core.client.event.SelectStartEvent; import com.google.gwt.event.dom.client.ClickEvent; import com.google.gwt.event.dom.client.ClickHandler; import com.google.gwt.event.dom.client.MouseDownEvent; import com.google.gwt.event.dom.client.MouseDownHandler; import com.google.gwt.event.dom.client.MouseUpEvent; import com.google.gwt.event.dom.client.MouseUpHandler; /** * SelectEventsHanler Implementation for non touch devices * @author Thiago da Rosa de Bustamante * */ public class SelectEventsHandlerNoTouchImpl extends SelectEventsHandler { @Override public void handleWidget() { selectableWidget.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { if (isEnabled()) { SelectEvent selectEvent = SelectEvent.fire(selectableWidget); if (selectEvent.isCanceled()) { event.preventDefault(); } if (selectEvent.isStopped()) { event.stopPropagation(); } } } }); selectableWidget.addMouseDownHandler(new MouseDownHandler() { @Override public void onMouseDown(MouseDownEvent event) { SelectStartEvent.fire(selectableWidget); } }); selectableWidget.addMouseUpHandler(new MouseUpHandler() { @Override public void onMouseUp(MouseUpEvent event) { SelectEndEvent.fire(selectableWidget); } }); } @Override public void setTapEventThreshold(int tapEventThreshold) { //Do nothing. } }