Subversion Repository Public Repository

litesoft

Diff Revisions 949 vs 950 for /trunk/Java/KeyHole/src/org/litesoft/aokeyhole/swing/SwingEditViewPanelFactory.java

Diff revisions: vs.
  @@ -1,202 +1,202 @@
1 - // This Source Code is in the Public Domain per: http://unlicense.org
2 - package org.litesoft.aokeyhole.swing;
3 -
4 - import org.litesoft.aokeyhole.objects.*;
5 - import org.litesoft.aokeyhole.objects.attributes.*;
6 - import org.litesoft.aokeyhole.objects.support.*;
7 - import org.litesoft.aokeyhole.swing.namevaluecomponents.*;
8 - import org.litesoft.aokeyhole.toolkit.*;
9 - import org.litesoft.aokeyhole.toolkit.editorviewer.*;
10 -
11 - import java.util.*;
12 -
13 - public class SwingEditViewPanelFactory implements EditViewPanelFactory,
14 - SwingObjectPropertyComponentFactory,
15 - SwingAttributePropertyComponentFactory {
16 - @Override
17 - public EditViewPanelController createEditViewPanelController( boolean pEditable, String pSubSystemName, ObjectSet[] pObjectSets,
18 - AttributeSet[] pAttributeSets, ActionsListener pActionsListener,
19 - NewObjectTypeSelectionListener pNewObjectTypeSelectionListener,
20 - NewAttributeTypeSelectionListener pNewAttributeTypeSelectionListener,
21 - NameValueChangedByUserListener pNameValueChangedByUserListener ) {
22 - SwingEditViewCardedJPanel carded = new SwingEditViewCardedJPanel( pActionsListener, pNameValueChangedByUserListener );
23 -
24 - if ( pEditable ) {
25 - List<ObjectSet> zObjectSets = new ArrayList<ObjectSet>();
26 - for ( ObjectSet zObjectSet : pObjectSets ) {
27 - if ( zObjectSet.acceptableForSubSystem( pSubSystemName ) ) {
28 - zObjectSets.add( zObjectSet );
29 - }
30 - }
31 - if ( zObjectSets.size() > 1 ) {
32 - carded.addNewObjectTypeSelector( new AddNewObjectTypeSelectorJPanel( zObjectSets, pActionsListener, pNewObjectTypeSelectionListener ) );
33 - } else {
34 - carded.addNewObjectTypeSelector( zObjectSets.get( 0 ), pNewObjectTypeSelectionListener );
35 - }
36 - carded.addNewAttributeTypeSelector( pAttributeSets, pActionsListener, pNewAttributeTypeSelectionListener );
37 - }
38 -
39 - carded.addObjects( this );
40 -
41 - carded.addAttributes( this );
42 -
43 - return carded;
44 - }
45 -
46 - @Override
47 - public VerticalGrowableIndicatingComponent[] createComponentsForObject( NameValueChangedByUserListener pNameValueChangedByUserListener, ObjectSet pObjectSet,
48 - SubSystemMetaData pSubSystemMetaData ) {
49 - NamedStringFieldComponent zNameComponent = createComponentName( pNameValueChangedByUserListener, false );
50 - List<VerticalGrowableIndicatingComponent> collector = init( zNameComponent );
51 - String zParentLabel = pObjectSet.getParentLabel( pSubSystemMetaData.getName() );
52 - if ( zParentLabel != null ) {
53 - collector.add( createComponentParent( pSubSystemMetaData, pObjectSet, pNameValueChangedByUserListener, zParentLabel, zNameComponent ) );
54 - }
55 - addToForObject( pNameValueChangedByUserListener, collector, pObjectSet.getPMDs() );
56 - return fini( pNameValueChangedByUserListener, collector );
57 - }
58 -
59 - @Override
60 - public VerticalGrowableIndicatingComponent[] createComponentsForAttribute( NameValueChangedByUserListener pNameValueChangedByUserListener, boolean pVirtual,
61 - AttributeSet pAttributeSet, ObjectMetaData pObjectMetaData ) {
62 - AttributeType zAttributeType = pAttributeSet.getType();
63 - List<VerticalGrowableIndicatingComponent> collector = init( createComponentName( pNameValueChangedByUserListener, pAttributeSet instanceof ID_Set ) );
64 - if ( (zAttributeType instanceof AbstractAttributeTypeRelated) && !(zAttributeType instanceof NoPeerAttribute) ) {
65 - collector.add( createComponentRelatedTo( pObjectMetaData, pAttributeSet, pVirtual, (AbstractAttributeTypeRelated) zAttributeType,
66 - pNameValueChangedByUserListener ) );
67 - if ( !pVirtual && !(pAttributeSet instanceof NoBackRefAttribute) && !(zAttributeType instanceof NoBackRefAttribute) ) {
68 - collector.add( createComponentBackRef( pObjectMetaData, pNameValueChangedByUserListener ) );
69 - }
70 - } else if ( zAttributeType instanceof AbstractValidOptionsAttributeTypeSimple ) {
71 - collector.add( createComponentValidOptions( pNameValueChangedByUserListener ) );
72 - }
73 - ObjectSet zObjectSet = pObjectMetaData.getObjectSet();
74 - addToForAttribute( pNameValueChangedByUserListener, collector, zObjectSet,
75 - (pVirtual ? pAttributeSet.getVirtual() : pAttributeSet.getPersisted()).getPMDs() );
76 - addToForAttribute( pNameValueChangedByUserListener, collector, zObjectSet, zObjectSet.getAdditionalAttributePMDs( zAttributeType ) );
77 - return fini( pNameValueChangedByUserListener, collector );
78 - }
79 -
80 - protected LabeledComponent createComponentRelatedTo( ObjectMetaData pObjectMetaData, AttributeSet pAttributeSet, boolean pVirtual,
81 - AbstractAttributeTypeRelated pTypeRelated,
82 - NameValueChangedByUserListener pNameValueChangedByUserListener ) {
83 -
84 - return new RelatedToSelectOptionComponent( pObjectMetaData, pAttributeSet, pVirtual, pTypeRelated, pNameValueChangedByUserListener ).initialize();
85 - }
86 -
87 - protected LabeledComponent createComponentBackRef( ObjectMetaData pObjectMetaData, NameValueChangedByUserListener pNameValueChangedByUserListener ) {
88 - return new BackRefComponent( pObjectMetaData, pNameValueChangedByUserListener ).initialize();
89 - }
90 -
91 - private List<VerticalGrowableIndicatingComponent> init( VerticalGrowableIndicatingComponent... pInitialComponents ) {
92 - List<VerticalGrowableIndicatingComponent> collector = new ArrayList<VerticalGrowableIndicatingComponent>();
93 - collector.addAll( Arrays.asList( pInitialComponents ) );
94 - return collector;
95 - }
96 -
97 - private VerticalGrowableIndicatingComponent[] fini( NameValueChangedByUserListener pNameValueChangedByUserListener,
98 - List<VerticalGrowableIndicatingComponent> pCollector ) {
99 - pCollector.add( createComponentNotes( pNameValueChangedByUserListener ) );
100 - return pCollector.toArray( new VerticalGrowableIndicatingComponent[pCollector.size()] );
101 - }
102 -
103 - private NamedStringFieldComponent createComponentName( NameValueChangedByUserListener pNameValueChangedByUserListener, boolean pPermDisabled ) {
104 - NameValueComponentParams params = new NameValueComponentParams( OABaseNames.NAME, Required.YES );
105 - params.setNameValueChangedByUserListener( pNameValueChangedByUserListener );
106 - params.setPermDisabled( pPermDisabled );
107 - NamedStringFieldComponent rv = new NamedStringFieldComponent( params );
108 - rv.initialize();
109 - return rv;
110 - }
111 -
112 - private LabeledComponent createComponentParent( SubSystemMetaData pSubSystemMetaData, ObjectSet pObjectSet,
113 - NameValueChangedByUserListener pNameValueChangedByUserListener, String pParentLabel,
114 - NamedStringFieldComponent pNameComponent ) {
115 - return new ParentSelectOptionComponent( pSubSystemMetaData, pObjectSet, pNameValueChangedByUserListener, pParentLabel, pNameComponent ).initialize();
116 - }
117 -
118 - private LabeledComponent createComponentNotes( NameValueChangedByUserListener pNameValueChangedByUserListener ) {
119 - return createStringLinesField( pNameValueChangedByUserListener, StringArrayValueStringConverter.TRIM_TRAILING,
120 - new NameValueComponentParams( OABaseNames.NOTES ).setWrapTextArea( true ) );
121 - }
122 -
123 - protected LabeledComponent createComponentValidOptions( NameValueChangedByUserListener pNameValueChangedByUserListener ) {
124 - return createStringLinesField( pNameValueChangedByUserListener, StringArrayValueStringConverter.TRIM_DROP_EMPTY,
125 - new NameValueComponentParams( AttribNames.VALID_OPTIONS, "Valid Options", Required.YES ) );
126 - }
127 -
128 - private LabeledComponent createStringLinesField( NameValueChangedByUserListener pNameValueChangedByUserListener, StringArrayValueStringConverter pConverter,
129 - NameValueComponentParams pBasicParams ) {
130 - return createStringLinesField( pBasicParams.setValidater( pConverter ).setNameValueChangedByUserListener( pNameValueChangedByUserListener ) );
131 - }
132 -
133 - private void addToForAttribute( NameValueChangedByUserListener pNameValueChangedByUserListener, List<VerticalGrowableIndicatingComponent> pCollector,
134 - ObjectSet pObjectSet, PropertyMetaData[] pProperties ) {
135 - if ( pProperties != null ) {
136 - for ( PropertyMetaData property : pProperties ) {
137 - if ( pObjectSet.acceptableAttributePMD( property ) ) {
138 - pCollector.add( createPropertyComponent( pNameValueChangedByUserListener, property ) );
139 - }
140 - }
141 - }
142 - }
143 -
144 - private void addToForObject( NameValueChangedByUserListener pNameValueChangedByUserListener, List<VerticalGrowableIndicatingComponent> pCollector,
145 - PropertyMetaData[] pProperties ) {
146 - for ( PropertyMetaData property : pProperties ) {
147 - pCollector.add( createPropertyComponent( pNameValueChangedByUserListener, property ) );
148 - }
149 - }
150 -
151 - protected LabeledComponent createPropertyComponent( NameValueChangedByUserListener pNameValueChangedByUserListener, PropertyMetaData pProperty ) {
152 - NameValueComponentParams params = new NameValueComponentParams( pProperty.getName(), pProperty.getDisplayLabel(), pProperty.getRequired() );
153 - params.setValidater( pProperty ).setNameValueChangedByUserListener( pNameValueChangedByUserListener );
154 - params.setInitialValue( pProperty.getInitialValue() );
155 - switch ( pProperty.getDataType() ) {
156 - case BOOLEAN:
157 - return createBooleanField( params );
158 - case STRING:
159 - return createStringField( params, pProperty.getValidOptions() );
160 - case INT_POSITIVE:
161 - return createPositiveIntegerField( params );
162 - case DATA_TYPE_CLASS:
163 - return createSelectorField( params, pProperty.getValidOptions() );
164 - case STRING_ARRAY:
165 - return createStringLinesField( params );
166 - default:
167 - return createStringFieldDisabled( params );
168 - }
169 - }
170 -
171 - protected LabeledComponent createBooleanField( NameValueComponentParams pParams ) {
172 - if ( pParams.isDataRequired() ) {
173 - return new NamedBooleanFieldComponent( pParams ).initialize();
174 - }
175 -
176 - return new NamedSelectOptionComponent( pParams.setValidater( ValueStringConverterOptionalBoolean.INSTANCE ), ValueStringConverterOptionalBoolean.OPTIONS )
177 - .initialize();
178 - }
179 -
180 - protected LabeledComponent createStringField( NameValueComponentParams pParams, String[] pValidOptions ) {
181 - if ( pValidOptions == null ) {
182 - return new NamedStringFieldComponent( pParams ).initialize();
183 - }
184 - return new NamedSelectOptionComponent( pParams, pValidOptions ).initialize();
185 - }
186 -
187 - protected LabeledComponent createPositiveIntegerField( NameValueComponentParams pParams ) {
188 - return new NamedPositiveIntegerFieldComponent( pParams ).initialize();
189 - }
190 -
191 - protected LabeledComponent createSelectorField( NameValueComponentParams pParams, String[] pValidOptions ) {
192 - return new NamedSelectOptionComponent( pParams, pValidOptions ).initialize();
193 - }
194 -
195 - protected LabeledComponent createStringLinesField( NameValueComponentParams pParams ) {
196 - return new NamedStringLinesFieldComponent( pParams ).initialize();
197 - }
198 -
199 - protected LabeledComponent createStringFieldDisabled( NameValueComponentParams pParams ) {
200 - return new NamedStringFieldComponent( pParams.setPermDisabled( true ) ).initialize();
201 - }
202 - }
1 + // This Source Code is in the Public Domain per: http://unlicense.org
2 + package org.litesoft.aokeyhole.swing;
3 +
4 + import org.litesoft.aokeyhole.objects.*;
5 + import org.litesoft.aokeyhole.objects.attributes.*;
6 + import org.litesoft.aokeyhole.objects.support.*;
7 + import org.litesoft.aokeyhole.swing.namevaluecomponents.*;
8 + import org.litesoft.aokeyhole.toolkit.*;
9 + import org.litesoft.aokeyhole.toolkit.editorviewer.*;
10 +
11 + import java.util.*;
12 +
13 + public class SwingEditViewPanelFactory implements EditViewPanelFactory,
14 + SwingObjectPropertyComponentFactory,
15 + SwingAttributePropertyComponentFactory {
16 + @Override
17 + public EditViewPanelController createEditViewPanelController( boolean pEditable, String pSubSystemName, ObjectSet[] pObjectSets,
18 + AttributeSet[] pAttributeSets, ActionsListener pActionsListener,
19 + NewObjectTypeSelectionListener pNewObjectTypeSelectionListener,
20 + NewAttributeTypeSelectionListener pNewAttributeTypeSelectionListener,
21 + NameValueChangedByUserListener pNameValueChangedByUserListener ) {
22 + SwingEditViewCardedJPanel carded = new SwingEditViewCardedJPanel( pActionsListener, pNameValueChangedByUserListener );
23 +
24 + if ( pEditable ) {
25 + List<ObjectSet> zObjectSets = new ArrayList<ObjectSet>();
26 + for ( ObjectSet zObjectSet : pObjectSets ) {
27 + if ( zObjectSet.acceptableForSubSystem( pSubSystemName ) ) {
28 + zObjectSets.add( zObjectSet );
29 + }
30 + }
31 + if ( zObjectSets.size() > 1 ) {
32 + carded.addNewObjectTypeSelector( new AddNewObjectTypeSelectorJPanel( zObjectSets, pActionsListener, pNewObjectTypeSelectionListener ) );
33 + } else {
34 + carded.addNewObjectTypeSelector( zObjectSets.get( 0 ), pNewObjectTypeSelectionListener );
35 + }
36 + carded.addNewAttributeTypeSelector( pAttributeSets, pActionsListener, pNewAttributeTypeSelectionListener );
37 + }
38 +
39 + carded.addObjects( this );
40 +
41 + carded.addAttributes( this );
42 +
43 + return carded;
44 + }
45 +
46 + @Override
47 + public VerticalGrowableIndicatingComponent[] createComponentsForObject( NameValueChangedByUserListener pNameValueChangedByUserListener, ObjectSet pObjectSet,
48 + SubSystemMetaData pSubSystemMetaData ) {
49 + NamedStringFieldComponent zNameComponent = createComponentName( pNameValueChangedByUserListener, false );
50 + List<VerticalGrowableIndicatingComponent> collector = init( zNameComponent );
51 + String zParentLabel = pObjectSet.getParentLabel( pSubSystemMetaData.getName() );
52 + if ( zParentLabel != null ) {
53 + collector.add( createComponentParent( pSubSystemMetaData, pObjectSet, pNameValueChangedByUserListener, zParentLabel, zNameComponent ) );
54 + }
55 + addToForObject( pNameValueChangedByUserListener, collector, pObjectSet.getPMDs() );
56 + return fini( pNameValueChangedByUserListener, collector );
57 + }
58 +
59 + @Override
60 + public VerticalGrowableIndicatingComponent[] createComponentsForAttribute( NameValueChangedByUserListener pNameValueChangedByUserListener, boolean pVirtual,
61 + AttributeSet pAttributeSet, ObjectMetaData pObjectMetaData ) {
62 + AttributeType zAttributeType = pAttributeSet.getType();
63 + List<VerticalGrowableIndicatingComponent> collector = init( createComponentName( pNameValueChangedByUserListener, pAttributeSet instanceof ID_Set ) );
64 + if ( (zAttributeType instanceof AbstractAttributeTypeRelated) && !(zAttributeType instanceof NoPeerAttribute) ) {
65 + collector.add( createComponentRelatedTo( pObjectMetaData, pAttributeSet, pVirtual, (AbstractAttributeTypeRelated) zAttributeType,
66 + pNameValueChangedByUserListener ) );
67 + if ( !pVirtual && !(pAttributeSet instanceof NoBackRefAttribute) && !(zAttributeType instanceof NoBackRefAttribute) ) {
68 + collector.add( createComponentBackRef( pObjectMetaData, pNameValueChangedByUserListener ) );
69 + }
70 + } else if ( zAttributeType instanceof AbstractValidOptionsAttributeTypeSimple ) {
71 + collector.add( createComponentValidOptions( pNameValueChangedByUserListener ) );
72 + }
73 + ObjectSet zObjectSet = pObjectMetaData.getObjectSet();
74 + addToForAttribute( pNameValueChangedByUserListener, collector, zObjectSet,
75 + (pVirtual ? pAttributeSet.getVirtual() : pAttributeSet.getPersisted()).getPMDs() );
76 + addToForAttribute( pNameValueChangedByUserListener, collector, zObjectSet, zObjectSet.getAdditionalAttributePMDs( zAttributeType ) );
77 + return fini( pNameValueChangedByUserListener, collector );
78 + }
79 +
80 + protected LabeledComponent createComponentRelatedTo( ObjectMetaData pObjectMetaData, AttributeSet pAttributeSet, boolean pVirtual,
81 + AbstractAttributeTypeRelated pTypeRelated,
82 + NameValueChangedByUserListener pNameValueChangedByUserListener ) {
83 +
84 + return new RelatedToSelectOptionComponent( pObjectMetaData, pAttributeSet, pVirtual, pTypeRelated, pNameValueChangedByUserListener ).initialize();
85 + }
86 +
87 + protected LabeledComponent createComponentBackRef( ObjectMetaData pObjectMetaData, NameValueChangedByUserListener pNameValueChangedByUserListener ) {
88 + return new BackRefComponent( pObjectMetaData, pNameValueChangedByUserListener ).initialize();
89 + }
90 +
91 + private List<VerticalGrowableIndicatingComponent> init( VerticalGrowableIndicatingComponent... pInitialComponents ) {
92 + List<VerticalGrowableIndicatingComponent> collector = new ArrayList<VerticalGrowableIndicatingComponent>();
93 + collector.addAll( Arrays.asList( pInitialComponents ) );
94 + return collector;
95 + }
96 +
97 + private VerticalGrowableIndicatingComponent[] fini( NameValueChangedByUserListener pNameValueChangedByUserListener,
98 + List<VerticalGrowableIndicatingComponent> pCollector ) {
99 + pCollector.add( createComponentNotes( pNameValueChangedByUserListener ) );
100 + return pCollector.toArray( new VerticalGrowableIndicatingComponent[pCollector.size()] );
101 + }
102 +
103 + private NamedStringFieldComponent createComponentName( NameValueChangedByUserListener pNameValueChangedByUserListener, boolean pPermDisabled ) {
104 + NameValueComponentParams params = new NameValueComponentParams( OABaseNames.NAME, Required.YES );
105 + params.setNameValueChangedByUserListener( pNameValueChangedByUserListener );
106 + params.setPermDisabled( pPermDisabled );
107 + NamedStringFieldComponent rv = new NamedStringFieldComponent( params );
108 + rv.initialize();
109 + return rv;
110 + }
111 +
112 + private LabeledComponent createComponentParent( SubSystemMetaData pSubSystemMetaData, ObjectSet pObjectSet,
113 + NameValueChangedByUserListener pNameValueChangedByUserListener, String pParentLabel,
114 + NamedStringFieldComponent pNameComponent ) {
115 + return new ParentSelectOptionComponent( pSubSystemMetaData, pObjectSet, pNameValueChangedByUserListener, pParentLabel, pNameComponent ).initialize();
116 + }
117 +
118 + private LabeledComponent createComponentNotes( NameValueChangedByUserListener pNameValueChangedByUserListener ) {
119 + return createStringLinesField( pNameValueChangedByUserListener, StringArrayValueStringConverter.TRIM_TRAILING,
120 + new NameValueComponentParams( OABaseNames.NOTES ).setWrapTextArea( true ) );
121 + }
122 +
123 + protected LabeledComponent createComponentValidOptions( NameValueChangedByUserListener pNameValueChangedByUserListener ) {
124 + return createStringLinesField( pNameValueChangedByUserListener, StringArrayValueStringConverter.TRIM_DROP_EMPTY,
125 + new NameValueComponentParams( AttribNames.VALID_OPTIONS, "Valid Options", Required.YES ) );
126 + }
127 +
128 + private LabeledComponent createStringLinesField( NameValueChangedByUserListener pNameValueChangedByUserListener, StringArrayValueStringConverter pConverter,
129 + NameValueComponentParams pBasicParams ) {
130 + return createStringLinesField( pBasicParams.setValidater( pConverter ).setNameValueChangedByUserListener( pNameValueChangedByUserListener ) );
131 + }
132 +
133 + private void addToForAttribute( NameValueChangedByUserListener pNameValueChangedByUserListener, List<VerticalGrowableIndicatingComponent> pCollector,
134 + ObjectSet pObjectSet, PropertyMetaData[] pProperties ) {
135 + if ( pProperties != null ) {
136 + for ( PropertyMetaData property : pProperties ) {
137 + if ( pObjectSet.acceptableAttributePMD( property ) ) {
138 + pCollector.add( createPropertyComponent( pNameValueChangedByUserListener, property ) );
139 + }
140 + }
141 + }
142 + }
143 +
144 + private void addToForObject( NameValueChangedByUserListener pNameValueChangedByUserListener, List<VerticalGrowableIndicatingComponent> pCollector,
145 + PropertyMetaData[] pProperties ) {
146 + for ( PropertyMetaData property : pProperties ) {
147 + pCollector.add( createPropertyComponent( pNameValueChangedByUserListener, property ) );
148 + }
149 + }
150 +
151 + protected LabeledComponent createPropertyComponent( NameValueChangedByUserListener pNameValueChangedByUserListener, PropertyMetaData pProperty ) {
152 + NameValueComponentParams params = new NameValueComponentParams( pProperty.getName(), pProperty.getDisplayLabel(), pProperty.getRequired() );
153 + params.setValidater( pProperty ).setNameValueChangedByUserListener( pNameValueChangedByUserListener );
154 + params.setInitialValue( pProperty.getInitialValue() );
155 + switch ( pProperty.getDataType() ) {
156 + case BOOLEAN:
157 + return createBooleanField( params );
158 + case STRING:
159 + return createStringField( params, pProperty.getValidOptions() );
160 + case INT_POSITIVE:
161 + return createPositiveIntegerField( params );
162 + case DATA_TYPE_CLASS:
163 + return createSelectorField( params, pProperty.getValidOptions() );
164 + case STRING_ARRAY:
165 + return createStringLinesField( params );
166 + default:
167 + return createStringFieldDisabled( params );
168 + }
169 + }
170 +
171 + protected LabeledComponent createBooleanField( NameValueComponentParams pParams ) {
172 + if ( pParams.isDataRequired() ) {
173 + return new NamedBooleanFieldComponent( pParams ).initialize();
174 + }
175 +
176 + return new NamedSelectOptionComponent( pParams.setValidater( ValueStringConverterOptionalBoolean.INSTANCE ), ValueStringConverterOptionalBoolean.OPTIONS )
177 + .initialize();
178 + }
179 +
180 + protected LabeledComponent createStringField( NameValueComponentParams pParams, String[] pValidOptions ) {
181 + if ( pValidOptions == null ) {
182 + return new NamedStringFieldComponent( pParams ).initialize();
183 + }
184 + return new NamedSelectOptionComponent( pParams, pValidOptions ).initialize();
185 + }
186 +
187 + protected LabeledComponent createPositiveIntegerField( NameValueComponentParams pParams ) {
188 + return new NamedPositiveIntegerFieldComponent( pParams ).initialize();
189 + }
190 +
191 + protected LabeledComponent createSelectorField( NameValueComponentParams pParams, String[] pValidOptions ) {
192 + return new NamedSelectOptionComponent( pParams, pValidOptions ).initialize();
193 + }
194 +
195 + protected LabeledComponent createStringLinesField( NameValueComponentParams pParams ) {
196 + return new NamedStringLinesFieldComponent( pParams ).initialize();
197 + }
198 +
199 + protected LabeledComponent createStringFieldDisabled( NameValueComponentParams pParams ) {
200 + return new NamedStringFieldComponent( pParams.setPermDisabled( true ) ).initialize();
201 + }
202 + }