Subversion Repository Public Repository

litesoft

Diff Revisions 947 vs 948 for /trunk/Java/GWT/Client/src/org/litesoft/GWT/client/widgets/SizeableDualImage.java

Diff revisions: vs.
  @@ -13,54 +13,46 @@
13 13
14 14 public class SizeableDualImage extends AbstractSizeableComposite implements SourcesClickEvents,
15 15 SourcesMouseEvents,
16 - SourcesLoadEvents
17 - {
16 + SourcesLoadEvents {
18 17 public static final String IMAGE_LOAD_ERROR = "common/images/misc/NotFound.gif";
19 18
20 19 private static final Logger LOGGER = LoggerFactory.getLogger( SizeableDualImage.class );
21 20
22 21 private MyHtmlPanel mHtmlPanel = new MyHtmlPanel( StaticSimpleIdSource.getNext() );
23 22
24 - public SizeableDualImage( String pUrl )
25 - {
23 + public SizeableDualImage( String pUrl ) {
26 24 initWidget( new ConstrainingSizeableOuterLayers( mHtmlPanel, "litesoft-DualImage", true, mHtmlPanel.getInnerTD() ) );
27 25
28 26 setUrl( pUrl );
29 27 setImageSize( 100, 100 );
30 28 }
31 29
32 - public SizeableDualImage()
33 - {
30 + public SizeableDualImage() {
34 31 this( null );
35 32 }
36 33
37 - public SizeableDualImage style( String pStyleName )
38 - {
34 + public SizeableDualImage style( String pStyleName ) {
39 35 addStyleName( pStyleName );
40 36 return this;
41 37 }
42 38
43 - public SizeableDualImage imageSize( int pWidthPixels, int pHeightPixels )
44 - {
39 + public SizeableDualImage imageSize( int pWidthPixels, int pHeightPixels ) {
45 40 setImageSize( pWidthPixels, pHeightPixels );
46 41 return this;
47 42 }
48 43
49 - public void setImageSize( int pWidthPixels, int pHeightPixels )
50 - {
44 + public void setImageSize( int pWidthPixels, int pHeightPixels ) {
51 45 Integers.assertPositive( "Width", pWidthPixels );
52 46 Integers.assertPositive( "Height", pHeightPixels );
53 47 mHtmlPanel.setImageSize( pWidthPixels, pHeightPixels );
54 48 }
55 49
56 - public void setImageWidth( int pWidthPixels )
57 - {
50 + public void setImageWidth( int pWidthPixels ) {
58 51 Integers.assertPositive( "Width", pWidthPixels );
59 52 mHtmlPanel.setContainerWidth( pWidthPixels );
60 53 }
61 54
62 - public void setImageHeight( int pHeightPixels )
63 - {
55 + public void setImageHeight( int pHeightPixels ) {
64 56 Integers.assertPositive( "Height", pHeightPixels );
65 57 mHtmlPanel.setContainerHeight( pHeightPixels );
66 58 }
  @@ -70,8 +62,7 @@
70 62 *
71 63 * @return the image URL
72 64 */
73 - public String getUrl()
74 - {
65 + public String getUrl() {
75 66 return mHtmlPanel.getHiddenImage().getUrl();
76 67 }
77 68
  @@ -80,13 +71,11 @@
80 71 *
81 72 * @param pUrl the image URL
82 73 */
83 - public void setUrl( String pUrl )
84 - {
74 + public void setUrl( String pUrl ) {
85 75 setUrl( pUrl, pUrl, null );
86 76 }
87 77
88 - public void setUrl( String pUrl, String pTitle, Command pClickCommand )
89 - {
78 + public void setUrl( String pUrl, String pTitle, Command pClickCommand ) {
90 79 mHtmlPanel.setUrl( pUrl, pTitle, pClickCommand );
91 80 }
92 81
  @@ -97,12 +86,9 @@
97 86 private DelegatingLoadListenerCollection mLoadListeners;
98 87
99 88 @Override
100 - public void addClickListener( ClickListener listener )
101 - {
102 - if ( listener != null )
103 - {
104 - if ( mClickListeners == null )
105 - {
89 + public void addClickListener( ClickListener listener ) {
90 + if ( listener != null ) {
91 + if ( mClickListeners == null ) {
106 92 mClickListeners = new DelegatingClickListenerCollection( this, mHtmlPanel.getDisplayImage() );
107 93 }
108 94 mClickListeners.add( listener );
  @@ -110,23 +96,18 @@
110 96 }
111 97
112 98 @Override
113 - public void removeClickListener( ClickListener listener )
114 - {
99 + public void removeClickListener( ClickListener listener ) {
115 100 if ( (listener != null) && (mClickListeners != null) && //
116 - mClickListeners.remove( listener ) && mClickListeners.isEmpty() )
117 - {
101 + mClickListeners.remove( listener ) && mClickListeners.isEmpty() ) {
118 102 mHtmlPanel.getDisplayImage().removeClickListener( mClickListeners );
119 103 mClickListeners = null;
120 104 }
121 105 }
122 106
123 107 @Override
124 - public void addMouseListener( MouseListener listener )
125 - {
126 - if ( listener != null )
127 - {
128 - if ( mMouseListeners == null )
129 - {
108 + public void addMouseListener( MouseListener listener ) {
109 + if ( listener != null ) {
110 + if ( mMouseListeners == null ) {
130 111 mMouseListeners = new DelegatingMouseListenerCollection( this, mHtmlPanel.getDisplayImage() );
131 112 }
132 113 mMouseListeners.add( listener );
  @@ -134,23 +115,18 @@
134 115 }
135 116
136 117 @Override
137 - public void removeMouseListener( MouseListener listener )
138 - {
118 + public void removeMouseListener( MouseListener listener ) {
139 119 if ( (listener != null) && (mMouseListeners != null) && //
140 - mMouseListeners.remove( listener ) && mMouseListeners.isEmpty() )
141 - {
120 + mMouseListeners.remove( listener ) && mMouseListeners.isEmpty() ) {
142 121 mHtmlPanel.getDisplayImage().removeMouseListener( mMouseListeners );
143 122 mMouseListeners = null;
144 123 }
145 124 }
146 125
147 126 @Override
148 - public void addLoadListener( LoadListener listener )
149 - {
150 - if ( listener != null )
151 - {
152 - if ( mLoadListeners == null )
153 - {
127 + public void addLoadListener( LoadListener listener ) {
128 + if ( listener != null ) {
129 + if ( mLoadListeners == null ) {
154 130 mLoadListeners = new DelegatingLoadListenerCollection( this, mHtmlPanel.getDisplayImage() );
155 131 }
156 132 mLoadListeners.add( listener );
  @@ -158,11 +134,9 @@
158 134 }
159 135
160 136 @Override
161 - public void removeLoadListener( LoadListener listener )
162 - {
137 + public void removeLoadListener( LoadListener listener ) {
163 138 if ( (listener != null) && (mLoadListeners != null) && //
164 - mLoadListeners.remove( listener ) && mLoadListeners.isEmpty() )
165 - {
139 + mLoadListeners.remove( listener ) && mLoadListeners.isEmpty() ) {
166 140 mHtmlPanel.getDisplayImage().removeLoadListener( mLoadListeners );
167 141 mLoadListeners = null;
168 142 }
  @@ -170,8 +144,7 @@
170 144
171 145 //****** Implementation Code Block to support delegation to AbsoluteSizeHelper
172 146
173 - public SizeableDualImage stretchable()
174 - {
147 + public SizeableDualImage stretchable() {
175 148 LLstretchable();
176 149 return this;
177 150 }
  @@ -179,19 +152,16 @@
179 152 // private implementation
180 153
181 154 @Override
182 - public void setWidth( String width )
183 - {
155 + public void setWidth( String width ) {
184 156 super.setWidth( width );
185 157 }
186 158
187 159 @Override
188 - public void setHeight( String height )
189 - {
160 + public void setHeight( String height ) {
190 161 super.setHeight( height );
191 162 }
192 163
193 - public static class DelegatingLoadListenerCollection extends LoadListenerCollection implements LoadListener
194 - {
164 + public static class DelegatingLoadListenerCollection extends LoadListenerCollection implements LoadListener {
195 165 @SuppressWarnings({"GwtInconsistentSerializableClass"})
196 166 private final Widget owner;
197 167
  @@ -201,28 +171,24 @@
201 171 * @param owner owner of listeners
202 172 * @param delegatedTo source of events
203 173 */
204 - public DelegatingLoadListenerCollection( Widget owner, SourcesLoadEvents delegatedTo )
205 - {
174 + public DelegatingLoadListenerCollection( Widget owner, SourcesLoadEvents delegatedTo ) {
206 175 this.owner = owner;
207 176 delegatedTo.addLoadListener( this );
208 177 }
209 178
210 179 @Override
211 - public void onError( Widget sender )
212 - {
180 + public void onError( Widget sender ) {
213 181 fireError( owner );
214 182 }
215 183
216 184 @Override
217 - public void onLoad( Widget sender )
218 - {
185 + public void onLoad( Widget sender ) {
219 186 fireLoad( owner );
220 187 }
221 188 }
222 189
223 190 private static class MyHtmlPanel extends HTMLPanel implements LoadListener,
224 - ClickListener
225 - {
191 + ClickListener {
226 192 private static final String HIDDEN_PARENT_ID_PREFIX = "DIHI_";
227 193 private static final String DISPLAY_PARENT_ID_PREFIX = "DIVI_";
228 194
  @@ -235,8 +201,7 @@
235 201 private Command mClickCommand = null;
236 202 private String mPendingURL = null;
237 203
238 - public MyHtmlPanel( int zUniqueID )
239 - {
204 + public MyHtmlPanel( int zUniqueID ) {
240 205 super( "<table cellpadding='0' cellspacing='0' border='0'>" + //
241 206 /**/"<tr>" + //
242 207 /* */"<td colspan='3' class='litesoft-DualImageInnerBorder'>" + //
  @@ -265,65 +230,50 @@
265 230 }
266 231
267 232 @Override
268 - public void onClick( Widget sender )
269 - {
270 - if ( mClickCommand != null )
271 - {
233 + public void onClick( Widget sender ) {
234 + if ( mClickCommand != null ) {
272 235 mClickCommand.execute();
273 236 }
274 237 }
275 238
276 - public Element getInnerTD()
277 - {
239 + public Element getInnerTD() {
278 240 return mInnerTD;
279 241 }
280 242
281 - public Image getHiddenImage()
282 - {
243 + public Image getHiddenImage() {
283 244 return mHiddenImage;
284 245 }
285 246
286 - public Image getDisplayImage()
287 - {
247 + public Image getDisplayImage() {
288 248 return mDisplayImage;
289 249 }
290 250
291 - public void setUrl( String pUrl, String pTitle, Command pClickCommand )
292 - {
293 - if ( null != (pUrl = Strings.noEmpty( pUrl )) )
294 - {
251 + public void setUrl( String pUrl, String pTitle, Command pClickCommand ) {
252 + if ( null != (pUrl = Strings.noEmpty( pUrl )) ) {
295 253 mTitle = Strings.deNull( pTitle );
296 254 mClickCommand = pClickCommand;
297 255 String zCurrentHiddenUrl = mHiddenImage.getUrl();
298 - if ( pUrl.equals( zCurrentHiddenUrl ) )
299 - {
256 + if ( pUrl.equals( zCurrentHiddenUrl ) ) {
300 257 mDisplayImage.setTitle( mTitle );
301 - }
302 - else if ( isAttached() )
303 - {
258 + } else if ( isAttached() ) {
304 259 LLsetURL( pUrl );
305 - }
306 - else
307 - {
260 + } else {
308 261 mPendingURL = pUrl;
309 262 }
310 263 }
311 264 }
312 265
313 266 @Override
314 - protected void onAttach()
315 - {
267 + protected void onAttach() {
316 268 super.onAttach();
317 - if ( mPendingURL != null )
318 - {
269 + if ( mPendingURL != null ) {
319 270 String zURL = mPendingURL;
320 271 mPendingURL = null;
321 272 LLsetURL( zURL );
322 273 }
323 274 }
324 275
325 - private void LLsetURL( String pUrl )
326 - {
276 + private void LLsetURL( String pUrl ) {
327 277 LOGGER.info.log( "Loading: ", pUrl );
328 278 setLoading();
329 279 // Eliminate the "magic" width & height that IE somehow added!
  @@ -332,42 +282,34 @@
332 282 mHiddenImage.setUrl( pUrl );
333 283 }
334 284
335 - public void setImageSize( int pWidthPixels, int pHeightPixels )
336 - {
285 + public void setImageSize( int pWidthPixels, int pHeightPixels ) {
337 286 setContainerWidth( pWidthPixels );
338 287 setContainerHeight( pHeightPixels );
339 288 }
340 289
341 - private int getContainerHeight()
342 - {
290 + private int getContainerHeight() {
343 291 return DOM.getElementPropertyInt( mInnerTD, "height" );
344 292 }
345 293
346 - public void setContainerHeight( int pHeightPixels )
347 - {
294 + public void setContainerHeight( int pHeightPixels ) {
348 295 DOM.setElementPropertyInt( mInnerTD, "height", pHeightPixels );
349 296 }
350 297
351 - private int getContainerWidth()
352 - {
298 + private int getContainerWidth() {
353 299 return DOM.getElementPropertyInt( mInnerTD, "width" );
354 300 }
355 301
356 - public void setContainerWidth( int pWidthPixels )
357 - {
302 + public void setContainerWidth( int pWidthPixels ) {
358 303 DOM.setElementPropertyInt( mInnerTD, "width", pWidthPixels );
359 304 }
360 305
361 306 @Override
362 - public void setWidth( String pWidth )
363 - {
307 + public void setWidth( String pWidth ) {
364 308 int zNewSize = parse( "Width", pWidth );
365 309 int zCurImageSize = mDisplayImage.getWidth();
366 310 int zCurContainerSize = getContainerWidth();
367 - if ( zNewSize != zCurContainerSize )
368 - {
369 - if ( zNewSize < zCurImageSize )
370 - {
311 + if ( zNewSize != zCurContainerSize ) {
312 + if ( zNewSize < zCurImageSize ) {
371 313 mDisplayImage.setWidth( zNewSize );
372 314 }
373 315 setContainerWidth( zNewSize );
  @@ -376,15 +318,12 @@
376 318 }
377 319
378 320 @Override
379 - public void setHeight( String pHeight )
380 - {
321 + public void setHeight( String pHeight ) {
381 322 int zNewSize = parse( "Height", pHeight );
382 323 int zCurImageSize = mDisplayImage.getHeight();
383 324 int zCurContainerSize = getContainerHeight();
384 - if ( zNewSize != zCurContainerSize )
385 - {
386 - if ( zNewSize < zCurImageSize )
387 - {
325 + if ( zNewSize != zCurContainerSize ) {
326 + if ( zNewSize < zCurImageSize ) {
388 327 mDisplayImage.setHeight( zNewSize );
389 328 }
390 329 setContainerHeight( zNewSize );
  @@ -392,33 +331,25 @@
392 331 }
393 332 }
394 333
395 - private int parse( String pWhat, String pValue )
396 - {
397 - try
398 - {
334 + private int parse( String pWhat, String pValue ) {
335 + try {
399 336 return AbstractSizeableWidget.parse( pValue );
400 337 }
401 - catch ( NumberFormatException e )
402 - {
338 + catch ( NumberFormatException e ) {
403 339 throw new IllegalArgumentException( "Attempt to set" + pWhat + "( \"" + pValue + "\" ) on " + getClass().getName() );
404 340 }
405 341 }
406 342
407 - private void reScale()
408 - {
409 - if ( mLoaded )
410 - {
343 + private void reScale() {
344 + if ( mLoaded ) {
411 345 int zCurImageWidth = mHiddenImage.getOffsetWidth();
412 346 int zCurImageHeight = mHiddenImage.getOffsetHeight();
413 347
414 - if ( (zCurImageHeight == 1) && (zCurImageWidth == 1) )
415 - {
348 + if ( (zCurImageHeight == 1) && (zCurImageWidth == 1) ) {
416 349 LOGGER.warn.log( "Hidden Image still reporting 1x1" );
417 - TimedRunnableManager.INSTANCE.runIn( new TimedRunnable()
418 - {
350 + TimedRunnableManager.INSTANCE.runIn( new TimedRunnable() {
419 351 @Override
420 - public Again runOnce()
421 - {
352 + public Again runOnce() {
422 353 reScale();
423 354 return null;
424 355 }
  @@ -454,8 +385,7 @@
454 385 // "" );
455 386
456 387 String zHiddenUrl = mHiddenImage.getUrl();
457 - if ( !Objects.areNonArraysEqual( zHiddenUrl, mDisplayImage.getUrl() ) )
458 - {
388 + if ( !Objects.areNonArraysEqual( zHiddenUrl, mDisplayImage.getUrl() ) ) {
459 389 mDisplayImage.setUrl( zHiddenUrl );
460 390 }
461 391 }
  @@ -463,15 +393,12 @@
463 393
464 394 private boolean mLoaded = false;
465 395
466 - private void setLoading()
467 - {
396 + private void setLoading() {
468 397 mLoaded = false;
469 398 }
470 399
471 - private void setLoaded()
472 - {
473 - if ( !mLoaded )
474 - {
400 + private void setLoaded() {
401 + if ( !mLoaded ) {
475 402 mLoaded = true;
476 403 reScale();
477 404 mDisplayImage.setTitle( mTitle );
  @@ -479,16 +406,14 @@
479 406 }
480 407
481 408 @Override
482 - public void onError( Widget sender )
483 - {
409 + public void onError( Widget sender ) {
484 410 String zNotFound = "Not found: " + mHiddenImage.getUrl();
485 411 LOGGER.error.log( zNotFound );
486 412 setUrl( IMAGE_LOAD_ERROR, zNotFound, null );
487 413 }
488 414
489 415 @Override
490 - public void onLoad( Widget sender )
491 - {
416 + public void onLoad( Widget sender ) {
492 417 LOGGER.info.log( "Loaded: ", mHiddenImage.getUrl() );
493 418 setLoaded();
494 419 }