litesoft
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
|
package org.litesoft.GWT.forms.client.nonpublic;
import com.google.gwt.user.client.ui.*;
import org.litesoft.GWT.client.widgets.*;
import org.litesoft.GWT.client.widgets.nonpublic.*;
import org.litesoft.GWT.forms.client.components.factories.*;
import org.litesoft.GWT.forms.client.components.nonpublic.*;
import org.litesoft.core.util.*;
import org.litesoft.ui.def.nonpublic.*;
import org.litesoft.ui.def.nonpublic.support.*;
public class RelSubFormRowInstanceRendererImpl extends AbstractFormComponentRenderer
{
private RelSubFormRowInstanceComponentHandler mRelSubFormRowInstanceComponentHandler;
public RelSubFormRowInstanceRendererImpl( FormComponentFactory pFormComponentFactory, FormMetaData pFormMetaData, //
RelSubFormRowInstanceComponentHandler pRelSubFormRowInstanceComponentHandler )
{
super( pFormComponentFactory, pFormMetaData, pRelSubFormRowInstanceComponentHandler );
mRelSubFormRowInstanceComponentHandler = pRelSubFormRowInstanceComponentHandler;
}
public Widget renderRow( UiRelSubFormDef pSubFormDef, boolean pNoRemoveRow, String pRowKey, int pAt )
{
UtilsCommon.assertNotNull( "UiRelSubFormDef", pSubFormDef );
Widget widget;
DefWidgetStruct[] zChildren = renderChildren( pSubFormDef );
switch ( zChildren.length )
{
case 0:
widget = new Label( "Row(" + pAt + "): " + pRowKey + (pNoRemoveRow ? " - No Remove Row" : "") );
break;
case 1:
widget = zChildren[0].getWidget();
break;
default:
throw new IllegalStateException( "RelSubForm did NOT have 1 child" );
}
boolean isVerticallyStretchable = (widget instanceof ISizeableWidget) && // First Left then Right
((ISizeableWidget) widget).getHeightHelper().isStretchable();
// SizeableBorderedSimplePanel zWrapperPanel = new SizeableBorderedSimplePanel( true );
SizeableSimplePanel zWrapperPanel = new SizeableSimplePanel( true );
zWrapperPanel.stretchableHorizontally().add( widget );
if ( isVerticallyStretchable )
{
zWrapperPanel.stretchableVertically();
}
if ( pNoRemoveRow )
{
return zWrapperPanel.style( SUB_FORM_ROW_ONLY_CONTAINER );
}
// SizeableBorderedHorizontalPanel zOuterPanel = new SizeableBorderedHorizontalPanel( true );
SizeableHorizontalPanel zOuterPanel = new SizeableHorizontalPanel( true );
if ( isVerticallyStretchable )
{
zOuterPanel.stretchableVertically();
}
zOuterPanel.stretchableHorizontally();
Widget zRemoveButton = createRowRemoveButton( "RemoveRow" );
zOuterPanel.add( zRemoveButton );
zOuterPanel.setCellVerticalAlignment( zRemoveButton, HasVerticalAlignment.ALIGN_MIDDLE );
zOuterPanel.add( zWrapperPanel );
zWrapperPanel.style( SUB_FORM_ROW_INNER_CONTAINER );
return zOuterPanel.style( SUB_FORM_ROW_OUTER_CONTAINER );
}
private Widget createRowRemoveButton( String pActionID )
{
return createImageFormButton( pActionID, SUB_FORM_REMOVE_ROW_BUTTON );
}
protected RelSubFormInstanceRenderer createRelSubFormInstanceRenderer( UiRelSubFormDef pSubFormDef,
FormMetaData pSubFormMetaData,
boolean pNoRemoveRow,
SubFormRowCarrier pRowCarrier )
{
RelSubFormInstanceComponentHandler zHandler =
mRelSubFormRowInstanceComponentHandler.createRelSubFormInstanceComponentHandler( pSubFormDef, //
pSubFormMetaData, //
pRowCarrier );
return new RelSubFormInstanceRendererImpl( mFormComponentFactory, pSubFormMetaData, pSubFormDef,
pNoRemoveRow, zHandler );
}
}
|
Revision |
Author |
Commited |
Message |
2
|
GeorgeS
|
Sun 07 Feb, 2010 12:50:58 +0000 |
|