Subversion Repository Public Repository

litesoft

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

Diff revisions: vs.
  @@ -3,18 +3,17 @@
3 3
4 4 import org.litesoft.commonfoundation.typeutils.*;
5 5
6 - import java.util.*;
7 -
8 6 import com.google.gwt.core.client.*;
9 7 import com.google.gwt.user.client.*;
10 8 import com.google.gwt.user.client.ui.*;
11 9 import com.google.gwt.user.client.ui.impl.*;
12 10
11 + import java.util.*;
12 +
13 13 /**
14 14 * To be used in conjunction with AbstractSizeableWidget
15 15 */
16 - public class AbstractSizeableHelper extends CommonElementHelper
17 - {
16 + public class AbstractSizeableHelper extends CommonElementHelper {
18 17 private static final OuterSandwichHelper OUTER_SANDWICH_FACTORY = (OuterSandwichHelper) GWT.create( OuterSandwichHelper.class );
19 18 private static final FocusImpl FOCUS_PANEL_FACTORY = FocusImpl.getFocusImplForPanel();
20 19
  @@ -29,44 +28,36 @@
29 28 private static final String INNER_CONSTRAINER = "LayoutMinSizeConstrainer";
30 29 private static final String OUTER_CONSTRAINER = "LayoutDivConstrainer";
31 30
32 - public AbstractSizeableHelper( AbstractSizeableWidget pOurUIObject )
33 - {
31 + public AbstractSizeableHelper( AbstractSizeableWidget pOurUIObject ) {
34 32 // ***** may NOT do anything with the UiObject here, as it is not fully initialized yet!!!!!
35 33 mOurUIObject = pOurUIObject;
36 34 }
37 35
38 - public boolean isOverflowHidden()
39 - {
36 + public boolean isOverflowHidden() {
40 37 return mHidden;
41 38 }
42 39
43 - public Element getOuterElement()
44 - {
40 + public Element getOuterElement() {
45 41 return mOuterElement;
46 42 }
47 43
48 - public Element getStyleElement()
49 - {
44 + public Element getStyleElement() {
50 45 return mStyleElement;
51 46 }
52 47
53 - public Element getInnerElement()
54 - {
48 + public Element getInnerElement() {
55 49 return mInnerElement;
56 50 }
57 51
58 - public void setInnerElement( Element pInnerElement )
59 - {
52 + public void setInnerElement( Element pInnerElement ) {
60 53 mInnerElement = pInnerElement;
61 54 }
62 55
63 - public Element getFieldSetLegend()
64 - {
56 + public Element getFieldSetLegend() {
65 57 return mFieldSetLegend;
66 58 }
67 59
68 - public void setUpSpecialPart1( Element pDivSizeTable, Element pDiv, Element pInnerElement )
69 - {
60 + public void setUpSpecialPart1( Element pDivSizeTable, Element pDiv, Element pInnerElement ) {
70 61 mOuterElement = pDivSizeTable;
71 62 mStyleElement = pDiv;
72 63 mInnerElement = pInnerElement;
  @@ -75,8 +66,7 @@
75 66 /**
76 67 * @param pHidden true == Hidden / false == auto
77 68 */
78 - public String setUpSpecialPart2( boolean pHidden )
79 - {
69 + public String setUpSpecialPart2( boolean pHidden ) {
80 70 return determineOverflowClass( mHidden = pHidden );
81 71 }
82 72
  @@ -85,8 +75,7 @@
85 75 *
86 76 * @return pInnerElement
87 77 */
88 - public Element create_OeTable_SeDiv_IeGraph( boolean pHidden, Element pGraphRoot, Element pInnerElement )
89 - {
78 + public Element create_OeTable_SeDiv_IeGraph( boolean pHidden, Element pGraphRoot, Element pInnerElement ) {
90 79 mStyleElement = appendChild( createDiv( pHidden ), pGraphRoot );
91 80 mOuterElement = createTableDivConstrainer( mStyleElement );
92 81 return mInnerElement = pInnerElement;
  @@ -97,8 +86,7 @@
97 86 *
98 87 * @return Div
99 88 */
100 - public Element create_OeTable_SeDiv( boolean pHidden )
101 - {
89 + public Element create_OeTable_SeDiv( boolean pHidden ) {
102 90 mStyleElement = createDiv( pHidden );
103 91 mOuterElement = createTableDivConstrainer( mStyleElement );
104 92 return mStyleElement;
  @@ -107,16 +95,14 @@
107 95 /**
108 96 * @return Div
109 97 */
110 - public Element create_OeSeIeOverflowHiddenSingleDivSandwich()
111 - {
98 + public Element create_OeSeIeOverflowHiddenSingleDivSandwich() {
112 99 return mOuterElement = mStyleElement = mInnerElement = createDiv( true );
113 100 }
114 101
115 102 /**
116 103 * @return TBody
117 104 */
118 - public Element create_OeSeIeOverflowHiddenCommonDiv_TableToTBody()
119 - {
105 + public Element create_OeSeIeOverflowHiddenCommonDiv_TableToTBody() {
120 106 Element rv = DOM.createTBody();
121 107 appendChild( create_OeSeIeOverflowHiddenSingleDivSandwich(), //
122 108 createMinSizeConstrainingTableToTBody( rv ) );
  @@ -126,8 +112,7 @@
126 112 /**
127 113 * @return TBody
128 114 */
129 - public Element create_OeTable_SeIeTBody()
130 - {
115 + public Element create_OeTable_SeIeTBody() {
131 116 mHidden = true;
132 117 Element rv = mStyleElement = mInnerElement = DOM.createTBody();
133 118 mOuterElement = createMinSizeConstrainingTableToTBody( rv );
  @@ -139,8 +124,7 @@
139 124 *
140 125 * @return Div
141 126 */
142 - public Element create_OeTable_SeDiv_IeDiv( boolean pHidden )
143 - {
127 + public Element create_OeTable_SeDiv_IeDiv( boolean pHidden ) {
144 128 return create_OeTable_SeStyle_IeDiv( createDiv( pHidden ) );
145 129 }
146 130
  @@ -149,8 +133,7 @@
149 133 *
150 134 * @return Div
151 135 */
152 - public Element create_OeTable_SeDiv_IeFocusDiv( boolean pHidden )
153 - {
136 + public Element create_OeTable_SeDiv_IeFocusDiv( boolean pHidden ) {
154 137 return create_OeWidget_SeStyle_IeInner( createDiv( pHidden ), FOCUS_PANEL_FACTORY.createFocusable() );
155 138 }
156 139
  @@ -159,8 +142,7 @@
159 142 *
160 143 * @return Div
161 144 */
162 - public Element create_OeTable_SeFieldSet_IeDiv( boolean pHidden, String pTitle )
163 - {
145 + public Element create_OeTable_SeFieldSet_IeDiv( boolean pHidden, String pTitle ) {
164 146 return create_OeTable_SeStyle_IeDiv( createFieldSet( pHidden, pTitle ) );
165 147 }
166 148
  @@ -169,8 +151,7 @@
169 151 *
170 152 * @return TR
171 153 */
172 - public Element create_OeWidget_SeDiv_IeTableToTR( boolean pHidden )
173 - {
154 + public Element create_OeWidget_SeDiv_IeTableToTR( boolean pHidden ) {
174 155 return create_OeWidget_SeStyle_IeTableToTR( createDiv( pHidden ) );
175 156 }
176 157
  @@ -179,16 +160,14 @@
179 160 *
180 161 * @return TR
181 162 */
182 - public Element create_OeWidget_SeFieldSet_IeTableToTR( boolean pHidden, String pTitle )
183 - {
163 + public Element create_OeWidget_SeFieldSet_IeTableToTR( boolean pHidden, String pTitle ) {
184 164 return create_OeWidget_SeStyle_IeTableToTR( createFieldSet( pHidden, pTitle ) );
185 165 }
186 166
187 167 /**
188 168 * @return TR
189 169 */
190 - private Element create_OeWidget_SeStyle_IeTableToTR( Element pStyleElement )
191 - {
170 + private Element create_OeWidget_SeStyle_IeTableToTR( Element pStyleElement ) {
192 171 Element rv = DOM.createTR();
193 172 create_OeWidget_SeStyle_IeInner( pStyleElement, createMinSizeConstrainingTableToTR( rv ) );
194 173 return rv;
  @@ -199,8 +178,7 @@
199 178 *
200 179 * @return TBody
201 180 */
202 - public Element create_OeWidget_SeDiv_IeTableToTBody( boolean pHidden )
203 - {
181 + public Element create_OeWidget_SeDiv_IeTableToTBody( boolean pHidden ) {
204 182 return create_OeWidget_SeStyle_IeTableToTBody( createDiv( pHidden ) );
205 183 }
206 184
  @@ -209,23 +187,20 @@
209 187 *
210 188 * @return TBody
211 189 */
212 - public Element create_OeWidget_SeFieldSet_IeTableToTBody( boolean pHidden, String pTitle )
213 - {
190 + public Element create_OeWidget_SeFieldSet_IeTableToTBody( boolean pHidden, String pTitle ) {
214 191 return create_OeWidget_SeStyle_IeTableToTBody( createFieldSet( pHidden, pTitle ) );
215 192 }
216 193
217 194 /**
218 195 * @return TBody
219 196 */
220 - private Element create_OeWidget_SeStyle_IeTableToTBody( Element pStyleElement )
221 - {
197 + private Element create_OeWidget_SeStyle_IeTableToTBody( Element pStyleElement ) {
222 198 Element rv = DOM.createTBody();
223 199 create_OeWidget_SeStyle_IeInner( pStyleElement, createMinSizeConstrainingTableToTBody( rv ) );
224 200 return rv;
225 201 }
226 202
227 - private Element create_OeWidget_SeStyle_IeInner( Element pStyleElement, Element pInnerElement )
228 - {
203 + private Element create_OeWidget_SeStyle_IeInner( Element pStyleElement, Element pInnerElement ) {
229 204 mInnerElement = pInnerElement;
230 205 mStyleElement = appendChild( pStyleElement, mInnerElement );
231 206 mOuterElement = createOuterConstrainer( mStyleElement );
  @@ -235,8 +210,7 @@
235 210 /**
236 211 * @return Outer Widget
237 212 */
238 - private Element createOuterConstrainer( Element pStyleElement )
239 - {
213 + private Element createOuterConstrainer( Element pStyleElement ) {
240 214 Element[] zElements = OUTER_SANDWICH_FACTORY.create( OUTER_CONSTRAINER );
241 215 appendChild( zElements[1], pStyleElement );
242 216 return zElements[0];
  @@ -245,8 +219,7 @@
245 219 /**
246 220 * @return Div
247 221 */
248 - private Element create_OeTable_SeStyle_IeDiv( Element pStyleElement )
249 - {
222 + private Element create_OeTable_SeStyle_IeDiv( Element pStyleElement ) {
250 223 mInnerElement = DOM.createDiv();
251 224 mStyleElement = pStyleElement;
252 225 mOuterElement = createTableDivConstrainer( appendChild( mStyleElement, mInnerElement ) );
  @@ -256,48 +229,42 @@
256 229 /**
257 230 * @return Table
258 231 */
259 - private Element createMinSizeConstrainingTableToTR( Element pTR )
260 - {
232 + private Element createMinSizeConstrainingTableToTR( Element pTR ) {
261 233 return createMinSizeConstrainingTableToTBody( appendChild( DOM.createTBody(), pTR ) );
262 234 }
263 235
264 236 /**
265 237 * @return Table
266 238 */
267 - private Element createMinSizeConstrainingTableToTBody( Element pTBody )
268 - {
239 + private Element createMinSizeConstrainingTableToTBody( Element pTBody ) {
269 240 return appendChild( createMinSizeConstrainingTable(), pTBody );
270 241 }
271 242
272 243 /**
273 244 * @return Table
274 245 */
275 - public static Element createMinSizeConstrainingTable()
276 - {
246 + public static Element createMinSizeConstrainingTable() {
277 247 return createTable( INNER_CONSTRAINER );
278 248 }
279 249
280 250 /**
281 251 * @return Table
282 252 */
283 - public static Element createLayoutDivConstrainingTable()
284 - {
253 + public static Element createLayoutDivConstrainingTable() {
285 254 return createTable( OUTER_CONSTRAINER );
286 255 }
287 256
288 257 /**
289 258 * @return Div
290 259 */
291 - public static Element createLayoutDivConstrainingDiv()
292 - {
260 + public static Element createLayoutDivConstrainingDiv() {
293 261 return createDiv( OUTER_CONSTRAINER );
294 262 }
295 263
296 264 /**
297 265 * @return Table
298 266 */
299 - private Element createTableDivConstrainer( Element pDiv )
300 - {
267 + private Element createTableDivConstrainer( Element pDiv ) {
301 268 Element zTable = createLayoutDivConstrainingTable();
302 269 appendChild( finishTableNgetTD( zTable ), pDiv );
303 270 return zTable;
  @@ -308,8 +275,7 @@
308 275 *
309 276 * @return Div
310 277 */
311 - private Element createDiv( boolean pHidden )
312 - {
278 + private Element createDiv( boolean pHidden ) {
313 279 return setOverflowClass( DOM.createDiv(), mHidden = pHidden );
314 280 }
315 281
  @@ -318,11 +284,9 @@
318 284 *
319 285 * @return FieldSet
320 286 */
321 - private Element createFieldSet( boolean pHidden, String pLegend )
322 - {
287 + private Element createFieldSet( boolean pHidden, String pLegend ) {
323 288 Element zFieldSet = setOverflowClass( DOM.createFieldSet(), mHidden = pHidden );
324 - if ( null != (pLegend = Strings.noEmpty( pLegend )) )
325 - {
289 + if ( null != (pLegend = Strings.noEmpty( pLegend )) ) {
326 290 mFieldSetLegend = DOM.createLegend();
327 291 DOM.appendChild( zFieldSet, mFieldSetLegend );
328 292 DOM.setInnerText( mFieldSetLegend, pLegend );
  @@ -330,41 +294,32 @@
330 294 return zFieldSet;
331 295 }
332 296
333 - public ISizeableDimensionHelper getWidthHelper()
334 - {
297 + public ISizeableDimensionHelper getWidthHelper() {
335 298 return mWidthHelper;
336 299 }
337 300
338 - public ISizeableDimensionHelper getHeightHelper()
339 - {
301 + public ISizeableDimensionHelper getHeightHelper() {
340 302 return mHeightHelper;
341 303 }
342 304
343 - public int distributeDimensionOnChildren( IndexedPanel pIndexedPanel, ISizeableDimensionHelper pDimensionHelper )
344 - {
305 + public int distributeDimensionOnChildren( IndexedPanel pIndexedPanel, ISizeableDimensionHelper pDimensionHelper ) {
345 306 ChildCollector collector = new ChildCollector();
346 307 boolean anyToProcess = collector.process( pIndexedPanel, pDimensionHelper );
347 308 int newSize = collector.getNewSize();
348 - if ( anyToProcess )
349 - {
309 + if ( anyToProcess ) {
350 310 List<ISizeableDimensionHelper> adjustables = new ArrayList<ISizeableDimensionHelper>();
351 311 List<ChildStructure> zChildStructures = collector.getChildStructures();
352 - for ( ChildStructure zChildStructure : zChildStructures )
353 - {
312 + for ( ChildStructure zChildStructure : zChildStructures ) {
354 313 ISizeableDimensionHelper zChildHelper = zChildStructure.getHelper();
355 314 int zChildCurSize = zChildStructure.getCurSize();
356 - if ( zChildHelper.isStretchable() )
357 - {
315 + if ( zChildHelper.isStretchable() ) {
358 316 //noinspection unchecked
359 317 adjustables.add( zChildHelper );
360 - }
361 - else
362 - {
318 + } else {
363 319 zChildHelper.setDimension( zChildCurSize ); // Propagate Sizing...
364 320 }
365 321 }
366 - while ( !adjustables.isEmpty() )
367 - {
322 + while ( !adjustables.isEmpty() ) {
368 323 int delta = deltaPerAdjustable( adjustables.size(), newSize );
369 324 ISizeableDimensionHelper zChildHelper = adjustables.remove( 0 );
370 325 int curSize = zChildHelper.getDimension();
  @@ -376,56 +331,44 @@
376 331 return newSize;
377 332 }
378 333
379 - public int distributeDimensionToChild( IndexedPanel pIndexedPanel, ISizeableDimensionHelper pDimensionHelper, Widget pWidgetToAdjust )
380 - {
334 + public int distributeDimensionToChild( IndexedPanel pIndexedPanel, ISizeableDimensionHelper pDimensionHelper, Widget pWidgetToAdjust ) {
381 335 ChildCollector collector = new ChildCollector();
382 336 boolean anyToProcess = collector.process( pIndexedPanel, pDimensionHelper );
383 337 int newSize = collector.getNewSize();
384 - if ( anyToProcess )
385 - {
338 + if ( anyToProcess ) {
386 339 ISizeableDimensionHelper zChildHelperToBeAdjusted = null;
387 340 List<ChildStructure> zChildStructures = collector.getChildStructures();
388 - for ( ChildStructure zChildStructure : zChildStructures )
389 - {
341 + for ( ChildStructure zChildStructure : zChildStructures ) {
390 342 ISizeableDimensionHelper zChildHelper = zChildStructure.getHelper();
391 343 int zChildCurSize = zChildStructure.getCurSize();
392 - if ( zChildStructure.getWidget() == pWidgetToAdjust )
393 - {
344 + if ( zChildStructure.getWidget() == pWidgetToAdjust ) {
394 345 zChildHelperToBeAdjusted = zChildHelper;
395 - }
396 - else
397 - {
346 + } else {
398 347 zChildHelper.setDimension( zChildCurSize ); // Propagate Sizing...
399 348 }
400 349 }
401 - if ( zChildHelperToBeAdjusted != null )
402 - {
350 + if ( zChildHelperToBeAdjusted != null ) {
403 351 int delta = deltaPerAdjustable( 1, newSize );
404 352 int curSize = zChildHelperToBeAdjusted.getDimension();
405 353 zChildHelperToBeAdjusted.setDimension( curSize + delta );
406 354 int adjustedNewSize = zChildHelperToBeAdjusted.getDimension();
407 355 newSize -= adjustedNewSize - curSize;
408 356 }
409 - if ( newSize != 0 )
410 - {
357 + if ( newSize != 0 ) {
411 358 newSize = distributeDimensionOnChildren( pIndexedPanel, pDimensionHelper );
412 359 }
413 360 }
414 361 return newSize;
415 362 }
416 363
417 - public int applyChangedDimensionToChild( Widget pChildWidget, ISizeableDimensionHelper pDimensionHelper )
418 - {
364 + public int applyChangedDimensionToChild( Widget pChildWidget, ISizeableDimensionHelper pDimensionHelper ) {
419 365 Size_1DHelper zDimHelper = (Size_1DHelper) pDimensionHelper;
420 366 int newSize = zDimHelper.getOurInnerSizeWithAllowanceForScrollBars();
421 - if ( zDimHelper.isAdjustmentsDetermined() )
422 - {
367 + if ( zDimHelper.isAdjustmentsDetermined() ) {
423 368 ISizeableWidget zSizeableWidget = getVisableSizeableWidget( pChildWidget );
424 - if ( zSizeableWidget != null )
425 - {
369 + if ( zSizeableWidget != null ) {
426 370 ISizeableDimensionHelper zChildHelper = zDimHelper.getAppropriateManager( zSizeableWidget );
427 - if ( zChildHelper.isStretchable() )
428 - {
371 + if ( zChildHelper.isStretchable() ) {
429 372 zChildHelper.setDimension( pChildWidget, newSize );
430 373 }
431 374 }
  @@ -433,47 +376,38 @@
433 376 return newSize;
434 377 }
435 378
436 - public void applyChangedDimensionToChildren( IndexedPanel pIndexedPanel, ISizeableDimensionHelper pDimensionHelper )
437 - {
379 + public void applyChangedDimensionToChildren( IndexedPanel pIndexedPanel, ISizeableDimensionHelper pDimensionHelper ) {
438 380 Size_1DHelper zDimHelper = (Size_1DHelper) pDimensionHelper;
439 381 int newSize = zDimHelper.getOurInnerSizeWithAllowanceForScrollBars(); // todo: Resizing from Inner when it hasn't changed!
440 382 setDimensionOnChildren( pIndexedPanel, zDimHelper, newSize );
441 383 }
442 384
443 - public void forceAdjustDimensionOnChild( Widget pWidget, ISizeableDimensionHelper pDimensionHelper )
444 - {
385 + public void forceAdjustDimensionOnChild( Widget pWidget, ISizeableDimensionHelper pDimensionHelper ) {
445 386 Size_1DHelper zDimHelper = (Size_1DHelper) pDimensionHelper;
446 387 int newSize = zDimHelper.getOurInnerSizeWithAllowanceForScrollBars();
447 388 zDimHelper.setDimension( pWidget, newSize );
448 389 }
449 390
450 - public void forceAdjustDimensionOnChild( Element pElement, ISizeableDimensionHelper pDimensionHelper )
451 - {
391 + public void forceAdjustDimensionOnChild( Element pElement, ISizeableDimensionHelper pDimensionHelper ) {
452 392 Size_1DHelper zDimHelper = (Size_1DHelper) pDimensionHelper;
453 393 int newSize = zDimHelper.getOurInnerSizeWithAllowanceForScrollBars();
454 394 zDimHelper.setStyleDimension( pElement, newSize );
455 395 }
456 396
457 - public void setDimensionOnChildren( IndexedPanel pIndexedPanel, ISizeableDimensionHelper pDimensionHelper, int pNewSize )
458 - {
397 + public void setDimensionOnChildren( IndexedPanel pIndexedPanel, ISizeableDimensionHelper pDimensionHelper, int pNewSize ) {
459 398 Size_1DHelper zDimHelper = (Size_1DHelper) pDimensionHelper;
460 399 setDimensionOnChildren( pIndexedPanel, zDimHelper, pNewSize );
461 400 }
462 401
463 - private void setDimensionOnChildren( IndexedPanel pIndexedPanel, Size_1DHelper pDimHelper, int pNewSize )
464 - {
402 + private void setDimensionOnChildren( IndexedPanel pIndexedPanel, Size_1DHelper pDimHelper, int pNewSize ) {
465 403 int wc = pIndexedPanel.getWidgetCount();
466 - if ( (pNewSize > 0) && (wc != 0) )
467 - {
468 - for ( int i = 0; i < wc; i++ )
469 - {
404 + if ( (pNewSize > 0) && (wc != 0) ) {
405 + for ( int i = 0; i < wc; i++ ) {
470 406 Widget zChildWidget = pIndexedPanel.getWidget( i );
471 407 ISizeableWidget zSizeableWidget = getVisableSizeableWidget( zChildWidget );
472 - if ( zSizeableWidget != null )
473 - {
408 + if ( zSizeableWidget != null ) {
474 409 ISizeableDimensionHelper zChildHelper = pDimHelper.getAppropriateManager( zSizeableWidget );
475 - if ( zChildHelper.isStretchable() )
476 - {
410 + if ( zChildHelper.isStretchable() ) {
477 411 zChildHelper.setDimension( zChildWidget, pNewSize );
478 412 }
479 413 }
  @@ -481,147 +415,119 @@
481 415 }
482 416 }
483 417
484 - private static ISizeableWidget getVisableSizeableWidget( Widget pWidget )
485 - {
418 + private static ISizeableWidget getVisableSizeableWidget( Widget pWidget ) {
486 419 return (pWidget instanceof ISizeableWidget) && pWidget.isVisible() ? // Order does Null Check
487 420 (ISizeableWidget) pWidget : null;
488 421 }
489 422
490 - private static int deltaPerAdjustable( int pAdjustables, int pDelta )
491 - {
492 - if ( (pAdjustables == 0) || (pDelta == 0) )
493 - {
423 + private static int deltaPerAdjustable( int pAdjustables, int pDelta ) {
424 + if ( (pAdjustables == 0) || (pDelta == 0) ) {
494 425 return 0;
495 426 }
496 - if ( pAdjustables == 1 )
497 - {
427 + if ( pAdjustables == 1 ) {
498 428 return pDelta;
499 429 }
500 430 return ((pDelta < 0) ? pDelta - (pAdjustables - 1) : pDelta + (pAdjustables - 1)) / pAdjustables;
501 431 }
502 432
503 - private class WidthHelper extends Size_1DHelper
504 - {
505 - public WidthHelper()
506 - {
433 + private class WidthHelper extends Size_1DHelper {
434 + public WidthHelper() {
507 435 super( WidthDimensionHelper.INSTANCE );
508 436 }
509 437
510 438 @Override
511 - protected ISizeableDimensionHelper getAppropriateManager( ISizeableWidget pSizeableWidget )
512 - {
439 + protected ISizeableDimensionHelper getAppropriateManager( ISizeableWidget pSizeableWidget ) {
513 440 return pSizeableWidget.getWidthHelper();
514 441 }
515 442
516 443 @Override
517 - public boolean setPrefferredDimension()
518 - {
444 + public boolean setPrefferredDimension() {
519 445 return mOurUIObject.setPrefferredWidth();
520 446 }
521 447
522 448 @Override
523 - public boolean adjustSizeBy( int pDelta )
524 - {
449 + public boolean adjustSizeBy( int pDelta ) {
525 450 return mOurUIObject.adjustWidthBy( pDelta );
526 451 }
527 452
528 453 @Override
529 - public void distributeToChildrenChangedDimension()
530 - {
454 + public void distributeToChildrenChangedDimension() {
531 455 mOurUIObject.distributeToChildrenChangedWidth();
532 456 }
533 457 }
534 458
535 - private class HeightHelper extends Size_1DHelper
536 - {
537 - public HeightHelper()
538 - {
459 + private class HeightHelper extends Size_1DHelper {
460 + public HeightHelper() {
539 461 super( HeightDimensionHelper.INSTANCE );
540 462 }
541 463
542 464 @Override
543 - protected ISizeableDimensionHelper getAppropriateManager( ISizeableWidget pSizeableWidget )
544 - {
465 + protected ISizeableDimensionHelper getAppropriateManager( ISizeableWidget pSizeableWidget ) {
545 466 return pSizeableWidget.getHeightHelper();
546 467 }
547 468
548 469 @Override
549 - public boolean setPrefferredDimension()
550 - {
470 + public boolean setPrefferredDimension() {
551 471 return mOurUIObject.setPrefferredHeight();
552 472 }
553 473
554 474 @Override
555 - public boolean adjustSizeBy( int pDelta )
556 - {
475 + public boolean adjustSizeBy( int pDelta ) {
557 476 return mOurUIObject.adjustHeightBy( pDelta );
558 477 }
559 478
560 479 @Override
561 - public void distributeToChildrenChangedDimension()
562 - {
480 + public void distributeToChildrenChangedDimension() {
563 481 mOurUIObject.distributeToChildrenChangedHeight();
564 482 }
565 483 }
566 484
567 - private abstract class Size_1DHelper implements ISizeableDimensionHelper
568 - {
485 + private abstract class Size_1DHelper implements ISizeableDimensionHelper {
569 486 protected boolean mStretchable = false;
570 487 private IDimensionHelper mDimensionHelper;
571 488
572 - protected Size_1DHelper( IDimensionHelper pDimensionHelper )
573 - {
489 + protected Size_1DHelper( IDimensionHelper pDimensionHelper ) {
574 490 mDimensionHelper = pDimensionHelper;
575 491 }
576 492
577 493 @Override
578 - public boolean isStretchable()
579 - {
494 + public boolean isStretchable() {
580 495 return mStretchable;
581 496 }
582 497
583 498 @Override
584 - public void setStretchable( boolean pNewValue )
585 - {
499 + public void setStretchable( boolean pNewValue ) {
586 500 mStretchable = pNewValue;
587 501 }
588 502
589 503 @Override
590 - public int getDimension()
591 - {
504 + public int getDimension() {
592 505 return getDimension( mOurUIObject );
593 506 }
594 507
595 508 @Override
596 - public int getDimensionMaxShrinkability()
597 - {
509 + public int getDimensionMaxShrinkability() {
598 510 return getOurInnerSize();
599 511 }
600 512
601 513 @Override
602 - public int getDecorationSize()
603 - {
514 + public int getDecorationSize() {
604 515 return mDecorationSize;
605 516 }
606 517
607 518 @Override
608 - public void deligateSetDimensionFromWidget( int pDimension )
609 - {
610 - if ( setSizeableOuterIntDimension( pDimension ) )
611 - {
519 + public void deligateSetDimensionFromWidget( int pDimension ) {
520 + if ( setSizeableOuterIntDimension( pDimension ) ) {
612 521 mOurUIObject.resized();
613 522 distributeToChildrenChangedDimension(); // todo: Not Resizing
614 523 }
615 524 }
616 525
617 526 @Override
618 - public void contentChangedResizeToParent()
619 - {
620 - if ( isStretchable() )
621 - {
527 + public void contentChangedResizeToParent() {
528 + if ( isStretchable() ) {
622 529 ISizeableWidget zParentWidget = getVisableSizeableWidget( mOurUIObject.getParent() );
623 - if ( zParentWidget != null )
624 - {
530 + if ( zParentWidget != null ) {
625 531 ISizeableDimensionHelper zParentHelper = getAppropriateManager( zParentWidget );
626 532 int newSize = zParentHelper.getDimension() - zParentHelper.getDecorationSize();
627 533 setDimension( newSize );
  @@ -630,50 +536,42 @@
630 536 }
631 537
632 538 @Override
633 - public String getWhat()
634 - {
539 + public String getWhat() {
635 540 return mDimensionHelper.getWhat();
636 541 }
637 542
638 543 @Override
639 - public boolean isAdjustable()
640 - {
544 + public boolean isAdjustable() {
641 545 return mDimensionHelper.isAdjustable();
642 546 }
643 547
644 548 @Override
645 - public int getPosition( Widget pWidget )
646 - {
549 + public int getPosition( Widget pWidget ) {
647 550 return mDimensionHelper.getPosition( pWidget );
648 551 }
649 552
650 553 @Override
651 - public int getPosition( Element pElement )
652 - {
554 + public int getPosition( Element pElement ) {
653 555 return mDimensionHelper.getPosition( pElement );
654 556 }
655 557
656 558 @Override
657 - public void setStyleDimension( Element pElement, int pDimension )
658 - {
559 + public void setStyleDimension( Element pElement, int pDimension ) {
659 560 mDimensionHelper.setStyleDimension( pElement, pDimension );
660 561 }
661 562
662 563 @Override
663 - public int getDimension( Element pElement )
664 - {
564 + public int getDimension( Element pElement ) {
665 565 return mDimensionHelper.getDimension( pElement );
666 566 }
667 567
668 568 @Override
669 - public void setDimension( Widget pWidget, int pDimension )
670 - {
569 + public void setDimension( Widget pWidget, int pDimension ) {
671 570 mDimensionHelper.setDimension( pWidget, pDimension );
672 571 }
673 572
674 573 @Override
675 - public int getDimension( Widget pWidget )
676 - {
574 + public int getDimension( Widget pWidget ) {
677 575 return mDimensionHelper.getDimension( pWidget );
678 576 }
679 577
  @@ -686,27 +584,22 @@
686 584
687 585 ////////////////////////////////////////////////////////////////////////////////////////////////////////////
688 586
689 - public boolean isAdjustmentsDetermined()
690 - {
587 + public boolean isAdjustmentsDetermined() {
691 588 return mAdjustmentsDetermined;
692 589 }
693 590
694 - private int getOurInnerSize()
695 - {
591 + private int getOurInnerSize() {
696 592 int size = getDimension( mOuterElement );
697 593 size -= mDecorationSize;
698 594 return size;
699 595 }
700 596
701 - private boolean setSizeableOuterIntDimension( int pDimension )
702 - {
597 + private boolean setSizeableOuterIntDimension( int pDimension ) {
703 598 //System.out.println( GWT.getTypeName( mOurUIObject ) + "{" + mOurUIObject.hashCode() + "} " +
704 599 // getWhat() + " to " + pDimension );
705 - if ( (pDimension > 0) && determineAdjustments() )
706 - {
600 + if ( (pDimension > 0) && determineAdjustments() ) {
707 601 int size = pDimension + mAdjustDimensionBy;
708 - if ( 0 <= size )
709 - {
602 + if ( 0 <= size ) {
710 603 setStyleDimension( mStyleElement, size );
711 604 return true;
712 605 }
  @@ -714,15 +607,13 @@
714 607 return false;
715 608 }
716 609
717 - private int getOurInnerSizeWithAllowanceForScrollBars()
718 - {
610 + private int getOurInnerSizeWithAllowanceForScrollBars() {
719 611 int size = getOurInnerSize();
720 612 return mHidden ? size : size - 20;
721 613 }
722 614
723 615 @Override
724 - public void setDimension( int pDimension )
725 - {
616 + public void setDimension( int pDimension ) {
726 617 setDimension( mOurUIObject, pDimension );
727 618 }
728 619
  @@ -730,21 +621,17 @@
730 621 private int mAdjustDimensionBy = 0;
731 622 private int mDecorationSize = 0;
732 623
733 - private boolean determineAdjustments()
734 - {
735 - if ( mAdjustmentsDetermined )
736 - {
624 + private boolean determineAdjustments() {
625 + if ( mAdjustmentsDetermined ) {
737 626 return true;
738 627 }
739 - if ( !mOurUIObject.isVisible() )
740 - {
628 + if ( !mOurUIObject.isVisible() ) {
741 629 return false;
742 630 }
743 631 int dimOuter = getDimension( mOuterElement );
744 632 int dimInner = getDimension( mInnerElement );
745 633 mDecorationSize = dimOuter - dimInner;
746 - if ( mDecorationSize != 0 )
747 - {
634 + if ( mDecorationSize != 0 ) {
748 635 // Now determine if the Decoration is inside or outside of the set"Dimension" on the Style Element
749 636 Element element = mStyleElement;
750 637 setStyleDimension( element, dimOuter );
  @@ -752,13 +639,11 @@
752 639 if ( dimOuter == postSet_dimension ) // IE - growth (margins/borders/padding) is inside
753 640 { // . . . . . . . . . . . . . . . . . . . . . . . . . . or there is NO Growth
754 641 mAdjustDimensionBy = 0;
755 - }
756 - else // Firefox - growth (margins/borders/padding) is outside
642 + } else // Firefox - growth (margins/borders/padding) is outside
757 643 {
758 644 mAdjustDimensionBy = dimOuter - postSet_dimension;
759 645 setStyleDimension( element, dimOuter + mAdjustDimensionBy ); // put it back
760 - if ( dimOuter != getDimension( mOuterElement ) )
761 - {
646 + if ( dimOuter != getDimension( mOuterElement ) ) {
762 647 System.err.println( "Adjustment by " + mAdjustDimensionBy + " did NOT restore the " + getWhat() );
763 648 }
764 649 }
  @@ -774,24 +659,18 @@
774 659 /**
775 660 * @noinspection UnusedDeclaration
776 661 */
777 - private void sout( String pPrefix, Element pElement )
778 - {
662 + private void sout( String pPrefix, Element pElement ) {
779 663 String s = pElement.toString();
780 664 String toFind = "class=";
781 665 int at = s.indexOf( toFind );
782 - if ( at != -1 )
783 - {
666 + if ( at != -1 ) {
784 667 String t = s.substring( at + toFind.length() );
785 - if ( t.startsWith( toFind = "\"" ) )
786 - {
668 + if ( t.startsWith( toFind = "\"" ) ) {
787 669 t = t.substring( 1 );
788 - }
789 - else
790 - {
670 + } else {
791 671 toFind = " ";
792 672 }
793 - if ( -1 != (at = t.indexOf( toFind )) )
794 - {
673 + if ( -1 != (at = t.indexOf( toFind )) ) {
795 674 s = t.substring( 0, at );
796 675 }
797 676 }
  @@ -801,44 +680,36 @@
801 680 /**
802 681 * @noinspection UnusedDeclaration
803 682 */
804 - private void sout( String pPrefix, Widget pWidget )
805 - {
683 + private void sout( String pPrefix, Widget pWidget ) {
806 684 String s = pWidget.toString();
807 685 String toFind = "\n";
808 686 int at = s.indexOf( toFind );
809 - if ( at != -1 )
810 - {
687 + if ( at != -1 ) {
811 688 s = s.substring( 0, at ).trim();
812 689 }
813 690 System.out.println( pPrefix + ": " + s );
814 691 }
815 692
816 - private static class ChildCollector
817 - {
693 + private static class ChildCollector {
818 694 private int mNewSize = 0;
819 695 private List<ChildStructure> mChildStructures = Collections.emptyList();
820 696
821 - public boolean process( IndexedPanel pIndexedPanel, ISizeableDimensionHelper pDimensionHelper )
822 - {
697 + public boolean process( IndexedPanel pIndexedPanel, ISizeableDimensionHelper pDimensionHelper ) {
823 698 Size_1DHelper zDimHelper = (Size_1DHelper) pDimensionHelper;
824 699 mNewSize = zDimHelper.getOurInnerSizeWithAllowanceForScrollBars();
825 700 int wc = pIndexedPanel.getWidgetCount();
826 - if ( (mNewSize == 0) || (wc == 0) )
827 - {
701 + if ( (mNewSize == 0) || (wc == 0) ) {
828 702 return false;
829 703 }
830 - for ( int i = 0; i < wc; i++ )
831 - {
704 + for ( int i = 0; i < wc; i++ ) {
832 705 Widget zChildWidget = pIndexedPanel.getWidget( i );
833 706 int zChildCurSize = zDimHelper.getDimension( zChildWidget );
834 707 //noinspection UnnecessaryLocalVariable
835 708 int zChildStyledSize = zDimHelper.getDimension( DOM.getParent( zChildWidget.getElement() ) );
836 709 mNewSize -= zChildStyledSize;
837 710 ISizeableWidget zSizeableWidget = getVisableSizeableWidget( zChildWidget );
838 - if ( zSizeableWidget != null )
839 - {
840 - if ( mChildStructures.isEmpty() )
841 - {
711 + if ( zSizeableWidget != null ) {
712 + if ( mChildStructures.isEmpty() ) {
842 713 mChildStructures = new ArrayList<ChildStructure>();
843 714 }
844 715 ISizeableDimensionHelper zChildHelper = zDimHelper.getAppropriateManager( zSizeableWidget );
  @@ -848,42 +719,35 @@
848 719 return !mChildStructures.isEmpty();
849 720 }
850 721
851 - public int getNewSize()
852 - {
722 + public int getNewSize() {
853 723 return mNewSize;
854 724 }
855 725
856 - public List<ChildStructure> getChildStructures()
857 - {
726 + public List<ChildStructure> getChildStructures() {
858 727 return mChildStructures;
859 728 }
860 729 }
861 730
862 - private static class ChildStructure
863 - {
731 + private static class ChildStructure {
864 732 private Widget mWidget;
865 733 private int mCurSize;
866 734 private ISizeableDimensionHelper mHelper;
867 735
868 - public ChildStructure( Widget pWidget, int pCurSize, ISizeableDimensionHelper pHelper )
869 - {
736 + public ChildStructure( Widget pWidget, int pCurSize, ISizeableDimensionHelper pHelper ) {
870 737 mWidget = pWidget;
871 738 mCurSize = pCurSize;
872 739 mHelper = pHelper;
873 740 }
874 741
875 - public Widget getWidget()
876 - {
742 + public Widget getWidget() {
877 743 return mWidget;
878 744 }
879 745
880 - public int getCurSize()
881 - {
746 + public int getCurSize() {
882 747 return mCurSize;
883 748 }
884 749
885 - public ISizeableDimensionHelper getHelper()
886 - {
750 + public ISizeableDimensionHelper getHelper() {
887 751 return mHelper;
888 752 }
889 753 }