001    /**
002     * Copyright 2010 The Kuali Foundation Licensed under the
003     * Educational Community License, Version 2.0 (the "License"); you may
004     * not use this file except in compliance with the License. You may
005     * obtain a copy of the License at
006     *
007     * http://www.osedu.org/licenses/ECL-2.0
008     *
009     * Unless required by applicable law or agreed to in writing,
010     * software distributed under the License is distributed on an "AS IS"
011     * BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
012     * or implied. See the License for the specific language governing
013     * permissions and limitations under the License.
014     */
015    
016    package org.kuali.student.common.ui.client.widgets;
017    
018    import com.google.gwt.event.dom.client.BlurEvent;
019    import com.google.gwt.event.dom.client.BlurHandler;
020    import com.google.gwt.event.dom.client.ClickEvent;
021    import com.google.gwt.event.dom.client.ClickHandler;
022    import com.google.gwt.event.dom.client.FocusEvent;
023    import com.google.gwt.event.dom.client.FocusHandler;
024    import com.google.gwt.event.dom.client.HasAllFocusHandlers;
025    import com.google.gwt.event.dom.client.HasAllKeyHandlers;
026    import com.google.gwt.event.dom.client.HasAllMouseHandlers;
027    import com.google.gwt.event.dom.client.HasClickHandlers;
028    import com.google.gwt.event.dom.client.KeyDownEvent;
029    import com.google.gwt.event.dom.client.KeyDownHandler;
030    import com.google.gwt.event.dom.client.KeyPressEvent;
031    import com.google.gwt.event.dom.client.KeyPressHandler;
032    import com.google.gwt.event.dom.client.KeyUpEvent;
033    import com.google.gwt.event.dom.client.KeyUpHandler;
034    import com.google.gwt.event.dom.client.MouseDownEvent;
035    import com.google.gwt.event.dom.client.MouseDownHandler;
036    import com.google.gwt.event.dom.client.MouseMoveEvent;
037    import com.google.gwt.event.dom.client.MouseMoveHandler;
038    import com.google.gwt.event.dom.client.MouseOutEvent;
039    import com.google.gwt.event.dom.client.MouseOutHandler;
040    import com.google.gwt.event.dom.client.MouseOverEvent;
041    import com.google.gwt.event.dom.client.MouseOverHandler;
042    import com.google.gwt.event.dom.client.MouseUpEvent;
043    import com.google.gwt.event.dom.client.MouseUpHandler;
044    import com.google.gwt.event.dom.client.MouseWheelEvent;
045    import com.google.gwt.event.dom.client.MouseWheelHandler;
046    import com.google.gwt.event.shared.HandlerRegistration;
047    import com.google.gwt.user.client.ui.FocusPanel;
048    import com.google.gwt.user.client.ui.Widget;
049    
050    /**
051     * A panel that handles all click, key, and mouse events
052     * @author Kuali Student Team
053     *
054     */
055    public class ClickablePanel extends FocusPanel implements HasAllMouseHandlers, HasClickHandlers, HasAllKeyHandlers, HasAllFocusHandlers{
056              
057            public ClickablePanel(Widget child){
058                      this();
059                      setWidget(child);
060              }
061            
062              public ClickablePanel() {
063                      super();
064              }
065    
066              public HandlerRegistration addClickHandler(ClickHandler handler) {
067                        return addDomHandler(handler, ClickEvent.getType());
068              }
069              
070              public HandlerRegistration addKeyDownHandler(KeyDownHandler handler) {
071                return addDomHandler(handler, KeyDownEvent.getType());
072              }
073    
074              public HandlerRegistration addKeyPressHandler(KeyPressHandler handler) {
075                return addDomHandler(handler, KeyPressEvent.getType());
076              }
077    
078              public HandlerRegistration addKeyUpHandler(KeyUpHandler handler) {
079                return addDomHandler(handler, KeyUpEvent.getType());
080              }
081    
082              public HandlerRegistration addMouseDownHandler(MouseDownHandler handler) {
083                return addDomHandler(handler, MouseDownEvent.getType());
084              }
085              
086              public HandlerRegistration addMouseMoveHandler(MouseMoveHandler handler) {
087                return addDomHandler(handler, MouseMoveEvent.getType());
088              }
089    
090              public HandlerRegistration addMouseOutHandler(MouseOutHandler handler) {
091                return addDomHandler(handler, MouseOutEvent.getType());
092              }
093    
094              public HandlerRegistration addMouseOverHandler(MouseOverHandler handler) {
095                return addDomHandler(handler, MouseOverEvent.getType());
096              }
097    
098              public HandlerRegistration addMouseUpHandler(MouseUpHandler handler) {
099                return addDomHandler(handler, MouseUpEvent.getType());
100              }
101    
102              public HandlerRegistration addMouseWheelHandler(MouseWheelHandler handler) {
103                return addDomHandler(handler, MouseWheelEvent.getType());
104              }
105              
106              public HandlerRegistration addFocusHandler(FocusHandler handler) {
107                        return addDomHandler(handler, FocusEvent.getType());
108              }
109              
110              public HandlerRegistration addBlurHandler(BlurHandler handler) {
111                        return addDomHandler(handler, BlurEvent.getType());
112              }
113                      
114    }