diff --git a/GSWeb.framework/GSWCheckBoxList.h b/GSWeb.framework/GSWCheckBoxList.h
index 5f477bc..064b542 100644
--- a/GSWeb.framework/GSWCheckBoxList.h
+++ b/GSWeb.framework/GSWCheckBoxList.h
@@ -48,6 +48,9 @@
GSWAssociation* _escapeHTML;
GSWAssociation* _itemDisabled;
BOOL _defaultEscapeHTML;
+//GSWeb Additions {
+ GSWAssociation* _isDisplayStringBefore;
+// }
};
-(id)initWithName:(NSString*)name
diff --git a/GSWeb.framework/GSWCheckBoxList.m b/GSWeb.framework/GSWCheckBoxList.m
index 22151ec..6ed72dc 100644
--- a/GSWeb.framework/GSWCheckBoxList.m
+++ b/GSWeb.framework/GSWCheckBoxList.m
@@ -61,6 +61,8 @@ Bindings
disabled If evaluated to yes, the check box appear inactivated.
escapeHTML If evaluated to yes, escape displayString
+
+ isDisplayStringBefore If evaluated to no, displayString is displayed after radio button.
**/
//====================================================================
@@ -144,6 +146,12 @@ Bindings
_escapeHTML = [[associations objectForKey:escapeHTML__Key
withDefaultObject:[_escapeHTML autorelease]] retain];
NSDebugMLLog(@"gswdync",@"escapeHTML=%@",_escapeHTML);
+
+ if (!WOStrictFlag)
+ {
+ _isDisplayStringBefore=[[associations objectForKey:isDisplayStringBefore__Key
+ withDefaultObject:[_isDisplayStringBefore autorelease]] retain];
+ };
};
LOGObjectFnStop();
return self;
@@ -162,6 +170,7 @@ Bindings
DESTROY(_displayString);
DESTROY(_itemDisabled);
DESTROY(_escapeHTML);
+ DESTROY(_isDisplayStringBefore);//GSWeb Only
[super dealloc];
}
@@ -390,6 +399,7 @@ Bindings
id valueValue=nil;
id itemValue=nil;
BOOL disabledInContext=NO;
+ BOOL isDisplayStringBefore=NO;
NSArray* listValue=[_list valueInComponent:component];
NSAssert3(!listValue || [listValue respondsToSelector:@selector(count)],
@@ -414,7 +424,14 @@ Bindings
[_index setValue:[NSNumber numberWithShort:i]
inComponent:component];
+ if (_isDisplayStringBefore)
+ isDisplayStringBefore=[self evaluateCondition:_isDisplayStringBefore
+ inContext:context];
+
displayStringValue=[_displayString valueInComponent:component];
+
+ if (isDisplayStringBefore)
+ [response appendContentHTMLString:displayStringValue];
[response appendContentString:@"'];
[response appendContentString:prefixValue];
- [response appendContentHTMLString:displayStringValue];
+ if (!isDisplayStringBefore)
+ [response appendContentHTMLString:displayStringValue];
[response appendContentString:suffixValue];
};
};
diff --git a/GSWeb.framework/GSWRadioButtonList.h b/GSWeb.framework/GSWRadioButtonList.h
index 1388a10..49b7f9a 100644
--- a/GSWeb.framework/GSWRadioButtonList.h
+++ b/GSWeb.framework/GSWRadioButtonList.h
@@ -45,6 +45,9 @@
GSWAssociation* _prefix;
GSWAssociation* _suffix;
GSWAssociation* _displayString;
+//GSWeb Additions {
+ GSWAssociation* _isDisplayStringBefore;
+// }
GSWAssociation* _escapeHTML;
BOOL _defaultEscapeHTML;
BOOL _autoValue;
diff --git a/GSWeb.framework/GSWRadioButtonList.m b/GSWeb.framework/GSWRadioButtonList.m
index a0a2388..fa53ab4 100644
--- a/GSWeb.framework/GSWRadioButtonList.m
+++ b/GSWeb.framework/GSWRadioButtonList.m
@@ -62,6 +62,7 @@ Bindings
escapeHTML If evaluated to yes, escape displayString
+ isDisplayStringBefore If evaluated to yes, displayString is displayed before radio button
**/
//====================================================================
@implementation GSWRadioButtonList
@@ -127,6 +128,12 @@ Bindings
withDefaultObject:[_suffix autorelease]] retain];
_displayString=[[associations objectForKey:displayString__Key
withDefaultObject:[_displayString autorelease]] retain];
+
+ if (!WOStrictFlag)
+ {
+ _isDisplayStringBefore=[[associations objectForKey:isDisplayStringBefore__Key
+ withDefaultObject:[_isDisplayStringBefore autorelease]] retain];
+ };
_escapeHTML=[[associations objectForKey:escapeHTML__Key
withDefaultObject:[_escapeHTML autorelease]] retain];
};
@@ -144,6 +151,7 @@ Bindings
DESTROY(_prefix);
DESTROY(_suffix);
DESTROY(_displayString);
+ DESTROY(_isDisplayStringBefore);//GSWeb Only
DESTROY(_escapeHTML);
[super dealloc];
}
@@ -330,6 +338,7 @@ Bindings
id selectionValueValue=nil;
int i=0;
id displayStringValue=nil;
+ BOOL isDisplayStringBefore=NO;
id prefixValue=nil;
id suffixValue=nil;
id valueValue=nil; // _value value (or auto value)
@@ -366,8 +375,15 @@ Bindings
[_index setValue:[NSNumber numberWithShort:i]
inComponent:component];
+ if (_isDisplayStringBefore)
+ isDisplayStringBefore=[self evaluateCondition:_isDisplayStringBefore
+ inContext:context];
+
displayStringValue=[_displayString valueInComponent:component];
+ if (isDisplayStringBefore)
+ [response appendContentHTMLString:displayStringValue];
+
[response appendContentString:@"'];
[response appendContentString:prefixValue];
- [response appendContentHTMLString:displayStringValue];
+ if (!isDisplayStringBefore)
+ [response appendContentHTMLString:displayStringValue];
[response appendContentString:suffixValue];
};
LOGObjectFnStopC("GSWRadioButtonList");