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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
|
package org.litesoft.GWT.forms.client.nonpublic;
import java.util.*;
import org.litesoft.core.util.*;
import org.litesoft.ui.def.nonpublic.support.*;
public class ActionAdapterManager
{
private FormActionAdapter[] mAdapters = FormActionAdapter.EMPTY_ARRAY;
private Map mAdaptersByActionID = new HashMap();
private FormActionAdapter[] getFor( String pActionID )
{
Object o = mAdaptersByActionID.get( pActionID );
return (o == null) ? FormActionAdapter.EMPTY_ARRAY : (FormActionAdapter[]) o;
}
public void dispose()
{
mAdapters = FormActionAdapter.EMPTY_ARRAY;
mAdaptersByActionID.clear();
}
public void add( FormActionAdapter pActionAdapter )
{
if ( pActionAdapter != null )
{
mAdapters = FormActionAdapter.Helper.append( mAdapters, pActionAdapter );
String actionID = pActionAdapter.getActionID();
FormActionAdapter[] adapters = FormActionAdapter.Helper.append( getFor( actionID ), pActionAdapter );
mAdaptersByActionID.put( actionID, adapters );
}
}
public void apply( FormDataRowKey pFormDataRowKey, ActionUpdateFormData[] pActionUpdatesNonNullOrEmpty )
{
for ( int i = 0; i < pActionUpdatesNonNullOrEmpty.length; i++ )
{
ActionUpdateFormData update = pActionUpdatesNonNullOrEmpty[i];
if ( UtilsCommon.areNonArraysEqual( pFormDataRowKey, update.getFormDataRowKey() ) )
{
setActionDisabled( update.getActionID(), update.getDisabled() );
}
}
}
public void updateInputState( boolean pAnyChanged, boolean pAnyErrors )
{
for ( int i = 0; i < mAdapters.length; i++ )
{
FormActionAdapter adapter = mAdapters[i];
Boolean changeStateEnablement = adapter.getInputChangeStateEnablement();
Boolean errorStateEnablement = adapter.getInputErrorStateEnablement();
Boolean change = merge( null, changeStateEnablement, pAnyChanged );
change = merge( change, errorStateEnablement, pAnyErrors );
if ( change != null )
{
adapter.setEnabled( change.booleanValue() );
}
}
}
public boolean setActionDisabled( String pActionID, boolean pDisabled )
{
FormActionAdapter[] adapters = getFor( pActionID );
for ( int i = 0; i < adapters.length; i++ )
{
FormActionAdapter adapter = adapters[i];
adapter.setDisabled( pDisabled );
}
return (adapters.length != 0);
}
public boolean setFocus()
{
for ( int i = 0; i < mAdapters.length; i++ )
{
FormActionAdapter adapter = mAdapters[i];
if ( adapter.isVisible() && adapter.isEnabled() )
{
if ( adapter.setFocus() )
{
return true;
}
}
}
return false;
}
private Boolean merge( Boolean pExisting, Boolean pStateEnablement, boolean pState )
{
if ( Boolean.FALSE.equals( pExisting ) || (pStateEnablement == null) )
{
return pExisting;
}
return Boolean.valueOf( pState == pStateEnablement.booleanValue() );
}
}
|
Revision |
Author |
Commited |
Message |
2
|
GeorgeS
|
Sun 07 Feb, 2010 12:50:58 +0000 |
|