litesoft
@ 947
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
// This Source Code is in the Public Domain per: http://unlicense.org package org.litesoft.GWT.client.widgets; import com.google.gwt.event.dom.client.*; import com.google.gwt.event.shared.*; import com.google.gwt.user.client.*; import com.google.gwt.user.client.ui.*; public class ImprovedGrid extends Grid { public ImprovedGrid() { this( 0, 0 ); } public ImprovedGrid( int pRows, int pCols ) { super( pRows, pCols ); } public HandlerRegistration addMouseOverHandler( MouseOverHandler pHandler ) { return addDomHandler( pHandler, MouseOverEvent.getType() ); } public HandlerRegistration addMouseOutHandler( MouseOutHandler pHandler ) { return addDomHandler( pHandler, MouseOutEvent.getType() ); } public int getRowForEvent( DomEvent<?> pEvent ) { // System.out.println("ImprovedGrid.getRowForEvent(" + pEvent.getNativeEvent().getEventTarget() + ")"); Element td = getEventTargetCell( Event.as( pEvent.getNativeEvent() ) ); if ( td != null ) { Element tr = DOM.getParent( td ); Element body = DOM.getParent( tr ); return DOM.getChildIndex( body, tr ); } return -1; } @Override public Element getEventTargetCell( Event pEvent ) { return super.getEventTargetCell( pEvent ); } @Override public void onBrowserEvent( Event pEvent ) { switch ( pEvent.getTypeInt() ) { case Event.ONMOUSEOVER: case Event.ONMOUSEOUT: DomEvent.fireNativeEvent( pEvent, this, this.getElement() ); break; default: super.onBrowserEvent( pEvent ); break; } } } |