litesoft
@ 939
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 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 |
// This Source Code is in the Public Domain per: http://litesoft.org/License.txt package org.litesoft.GWT.client.widgets; import org.litesoft.GWT.client.*; import org.litesoft.GWT.client.widgets.nonpublic.*; import org.litesoft.commonfoundation.typeutils.*; import org.litesoft.core.delayed.*; import org.litesoft.logger.*; import com.google.gwt.dom.client.*; import com.google.gwt.user.client.*; import com.google.gwt.user.client.ui.*; public class OurImage extends Image implements OnBrowserEventListenable { public static final Logger LOGGER = LoggerFactory.getLogger( OurImage.class ); private String mUrl; public OurImage() { } public OurImage( String pUrl ) { super( pUrl ); mUrl = pUrl; } public OurImage size( int pWidth, int pHeight ) { setWidth( pWidth ); setHeight( pHeight ); return this; } /** * Set Height of the image in pixels. * * @see <a href="http://www.w3.org/TR/1999/REC-html401-19991224/struct/objects.html#adef-height-IMG">W3C HTML Specification</a> */ public void setHeight( int pPixels ) { getImageElement().setHeight( pPixels ); } /** * Set Width of the image in pixels. * * @see <a href="http://www.w3.org/TR/1999/REC-html401-19991224/struct/objects.html#adef-width-IMG">W3C HTML Specification</a> */ public void setWidth( int pPixels ) { getImageElement().setWidth( pPixels ); } /** * This should have been protected in Image.java */ protected ImageElement getImageElement() { return getElement().cast(); } @Override public String getUrl() { return mUrl; } @Override public void setUrl( String pUrl ) { mUrl = Strings.deNull( pUrl ).trim(); // Stupid GWT & IE thing at: // ImageSrcIE6 // at line: 64 // todo: remove try/catch when Either GWT or IE is fixed try { super.setUrl( pUrl ); } catch ( Throwable e ) { LOGGER.warn.log( e, "OurImage.setUrl(), ignoring exception" ); } String zElementURL = DOM.getElementProperty( getElement(), "src" ); String zActualURL = super.getUrl(); if ( !Objects.areNonArraysEqual( zActualURL, zElementURL ) ) { LOGGER.warn.log( "OurImage.setUrl( '", mUrl, "' ), Actual ( '", zActualURL, "' ) , Element ( '", zElementURL, "' )" ); TimedRunnableManager.INSTANCE.runIn( new TimedRunnable() { @Override public Again runOnce() { setUrl( mUrl ); return null; } }, 100 ); } } private OnBrowserEventListener mListener = null; @Override public Widget getOnBrowserEventListenableWidget() { return this; } @Override public OnBrowserEventListener getOnBrowserEventListener() { return mListener; } @Override public void setOnBrowserEventListener( int pEventBitsToAdd, OnBrowserEventListener pListener ) { if ( null != (mListener = pListener) ) { sinkEvents( pEventBitsToAdd ); } } @Override public void clearOnBrowserEventListener() { mListener = null; } @Override public void onBrowserEvent( Event event ) { if ( mListener != null ) { if ( mListener.onBrowserEvent( event ) ) { return; } } super.onBrowserEvent( event ); } } |
Commits for litesoft/trunk/Java/GWT/Client/src/org/litesoft/GWT/client/widgets/OurImage.java
Revision | Author | Commited | Message |
---|---|---|---|
939 Diff | GeorgeS | Mon 02 Jun, 2014 21:30:31 +0000 | Extracting commonfoundation |
804 Diff | GeorgeS | Wed 15 Aug, 2012 12:48:51 +0000 | |
802 Diff | GeorgeS | Wed 15 Aug, 2012 04:04:47 +0000 | |
151 Diff | GeorgeS | Thu 17 Mar, 2011 04:16:22 +0000 | |
49 Diff | GeorgeS | Mon 12 Apr, 2010 02:59:10 +0000 | License Text |
23 Diff | GeorgeS | Wed 24 Feb, 2010 00:34:32 +0000 | |
2 | GeorgeS | Sun 07 Feb, 2010 12:50:58 +0000 |