All Downloads are FREE. Search and download functionalities are using the official Maven repository.

tsd.client.EventsHandler Maven / Gradle / Ivy

Go to download

OpenTSDB is a distributed, scalable Time Series Database (TSDB) written on top of HBase. OpenTSDB was written to address a common need: store, index and serve metrics collected from computer systems (network gear, operating systems, applications) at a large scale, and make this data easily accessible and graphable.

There is a newer version: 2.4.1
Show newest version
// This file is part of OpenTSDB.
// Copyright (C) 2010-2012  The OpenTSDB Authors.
//
// This program is free software: you can redistribute it and/or modify it
// under the terms of the GNU Lesser General Public License as published by
// the Free Software Foundation, either version 2.1 of the License, or (at your
// option) any later version.  This program is distributed in the hope that it
// will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
// of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser
// General Public License for more details.  You should have received a copy
// of the GNU Lesser General Public License along with this program.  If not,
// see .
package tsd.client;

import com.google.gwt.event.dom.client.BlurEvent;
import com.google.gwt.event.dom.client.BlurHandler;
import com.google.gwt.event.dom.client.ChangeEvent;
import com.google.gwt.event.dom.client.ChangeHandler;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.event.dom.client.DomEvent;
import com.google.gwt.event.dom.client.KeyCodes;
import com.google.gwt.event.dom.client.KeyPressEvent;
import com.google.gwt.event.dom.client.KeyPressHandler;
import com.google.gwt.event.shared.EventHandler;
import com.google.gwt.user.client.Command;
import com.google.gwt.user.client.DeferredCommand;

/**
 * Handler for multiple events that indicate that the widget may have changed.
 * 

* This handler is just a convenient 4-in-1 handler that can be re-used on a * wide range of widgets such as {@code TextBox} and its derivative, * {@code CheckBox}, {@code ListBox} etc. */ abstract class EventsHandler implements BlurHandler, ChangeHandler, ClickHandler, KeyPressHandler { /** * Called after one of the events (click, blur, change or "enter" * is pressed) occurs. *

* This method is NOT called while the event is happening. It's invoked via * a {@link DeferredCommand deferred command}. This entails that the event * can't be cancelled as it has already executed. The reason the call is * deferred is that this way, things like {@code SuggestBox}s will have * already done their auto-completion by the time this method is called, and * thus the handler will see the suggested text instead of the partial input * being typed by the user. * @param event The event that occurred. */ protected abstract void onEvent(DomEvent event); public final void onClick(final ClickEvent event) { scheduleEvent(event); } public final void onBlur(final BlurEvent event) { scheduleEvent(event); } public final void onChange(final ChangeEvent event) { scheduleEvent(event); } public final void onKeyPress(final KeyPressEvent event) { if (event.getCharCode() == KeyCodes.KEY_ENTER) { scheduleEvent(event); } } /** Executes the event using a deferred command. */ private void scheduleEvent(final DomEvent event) { DeferredCommand.addCommand(new Command() { public void execute() { onEvent(event); } }); } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy