mirror of
https://github.com/gnustep/libs-gsweb.git
synced 2025-02-24 12:11:18 +00:00
generates HTML that matches the code in WO
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gsweb/trunk@14469 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
e1105af397
commit
c6af3a1920
1 changed files with 128 additions and 126 deletions
|
@ -144,6 +144,22 @@ static char rcsId[] = "$Id$";
|
||||||
};
|
};
|
||||||
|
|
||||||
//====================================================================
|
//====================================================================
|
||||||
|
|
||||||
|
/*
|
||||||
|
|
||||||
|
On WO it looks like that:
|
||||||
|
|
||||||
|
<SELECT name="4.2.7">
|
||||||
|
<OPTION value="0">blau</OPTION>
|
||||||
|
<OPTION value="1">braun</OPTION>
|
||||||
|
<OPTION selected value="2">gruen</OPTION>
|
||||||
|
<OPTION value="3">marineblau</OPTION>
|
||||||
|
<OPTION value="4">schwarz</OPTION>
|
||||||
|
<OPTION value="5">silber</OPTION>
|
||||||
|
<OPTION value="6">weiss</OPTION></SELECT>
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
@implementation GSWPopUpButton (GSWPopUpButtonA)
|
@implementation GSWPopUpButton (GSWPopUpButtonA)
|
||||||
|
|
||||||
//#define ENABLE_OPTGROUP
|
//#define ENABLE_OPTGROUP
|
||||||
|
@ -165,6 +181,8 @@ static char rcsId[] = "$Id$";
|
||||||
id escapeHTMLValue=nil;
|
id escapeHTMLValue=nil;
|
||||||
int i=0;
|
int i=0;
|
||||||
BOOL inOptGroup=NO;
|
BOOL inOptGroup=NO;
|
||||||
|
NSString * popupName=nil;
|
||||||
|
|
||||||
#ifndef ENABLE_OPTGROUP
|
#ifndef ENABLE_OPTGROUP
|
||||||
BOOL optGroupLabel=NO;
|
BOOL optGroupLabel=NO;
|
||||||
#endif
|
#endif
|
||||||
|
@ -177,8 +195,13 @@ static char rcsId[] = "$Id$";
|
||||||
request=[context request];
|
request=[context request];
|
||||||
isFromClientComponent=[request isFromClientComponent];
|
isFromClientComponent=[request isFromClientComponent];
|
||||||
component=[context component];
|
component=[context component];
|
||||||
[super appendToResponse:response
|
popupName=[self nameInContext:context];
|
||||||
inContext:context];
|
|
||||||
|
//[super appendToResponse:response
|
||||||
|
// inContext:context];
|
||||||
|
[response _appendContentAsciiString:@"<SELECT"];
|
||||||
|
[response _appendContentAsciiString:[NSString stringWithFormat:@" NAME=\"%@\">",popupName]];
|
||||||
|
|
||||||
NSDebugMLLog(@"gswdync",@"_list=%@",_list);
|
NSDebugMLLog(@"gswdync",@"_list=%@",_list);
|
||||||
if (_list)
|
if (_list)
|
||||||
{
|
{
|
||||||
|
@ -191,6 +214,9 @@ static char rcsId[] = "$Id$";
|
||||||
[listValue class]);
|
[listValue class]);
|
||||||
countValue=[listValue count];
|
countValue=[listValue count];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// NSLog(@"listValue=%@",listValue);
|
||||||
|
|
||||||
NSDebugMLLog(@"gswdync",@"_count=%@",_count);
|
NSDebugMLLog(@"gswdync",@"_count=%@",_count);
|
||||||
if (_count)
|
if (_count)
|
||||||
{
|
{
|
||||||
|
@ -214,6 +240,7 @@ static char rcsId[] = "$Id$";
|
||||||
selectedValueValue=[_selectedValue valueInComponent:component];
|
selectedValueValue=[_selectedValue valueInComponent:component];
|
||||||
NSDebugMLLog(@"gswdync",@"selectedValue=%@",_selectedValue);
|
NSDebugMLLog(@"gswdync",@"selectedValue=%@",_selectedValue);
|
||||||
NSDebugMLLog(@"gswdync",@"selectedValueValue=%@",selectedValueValue);
|
NSDebugMLLog(@"gswdync",@"selectedValueValue=%@",selectedValueValue);
|
||||||
|
|
||||||
if (_escapeHTML)
|
if (_escapeHTML)
|
||||||
{
|
{
|
||||||
escapeHTMLValue=[_escapeHTML valueInComponent:component];
|
escapeHTMLValue=[_escapeHTML valueInComponent:component];
|
||||||
|
@ -274,14 +301,21 @@ static char rcsId[] = "$Id$";
|
||||||
{
|
{
|
||||||
if (_value)
|
if (_value)
|
||||||
{
|
{
|
||||||
|
//NSLog(@"%s:%d valueValue:%@ selectionValue:%@",__FILE__,__LINE__,valueValue,selectionValue);
|
||||||
isEqual=SBIsValueEqual(valueValue,selectionValue);
|
isEqual=SBIsValueEqual(valueValue,selectionValue);
|
||||||
|
// dave
|
||||||
|
// isEqual=[valueValue isEqual:selectionValue];
|
||||||
//We can have a value but want to compare on item/selection object
|
//We can have a value but want to compare on item/selection object
|
||||||
if (!isEqual)
|
if (!isEqual) {
|
||||||
isEqual=(itemValue && (itemValue==selectionValue));
|
// isEqual=(itemValue && (itemValue==selectionValue));
|
||||||
}
|
isEqual=(itemValue && ([itemValue isEqual:selectionValue]));
|
||||||
else
|
} // ??
|
||||||
|
} else {
|
||||||
|
//NSLog(@"%s:%d itemValue:%@ selectionValue:%@",__FILE__,__LINE__,itemValue,selectionValue);
|
||||||
|
|
||||||
isEqual=SBIsValueEqual(itemValue,selectionValue);
|
isEqual=SBIsValueEqual(itemValue,selectionValue);
|
||||||
|
|
||||||
|
}
|
||||||
NSDebugMLLog(@"gswdync",@"isEqual=%s",(isEqual ? "YES" : "NO"));
|
NSDebugMLLog(@"gswdync",@"isEqual=%s",(isEqual ? "YES" : "NO"));
|
||||||
if (isEqual)
|
if (isEqual)
|
||||||
{
|
{
|
||||||
|
@ -291,11 +325,13 @@ static char rcsId[] = "$Id$";
|
||||||
};
|
};
|
||||||
if (isEqual == NO && _selectedValue)
|
if (isEqual == NO && _selectedValue)
|
||||||
{
|
{
|
||||||
if(_value)
|
if(_value) {
|
||||||
|
//NSLog(@"%s:%d valueValue:%@ selectedValueValue:%@",__FILE__,__LINE__,valueValue,selectedValueValue);
|
||||||
isEqual=SBIsValueEqual(valueValue,selectedValueValue);
|
isEqual=SBIsValueEqual(valueValue,selectedValueValue);
|
||||||
else
|
} else {
|
||||||
|
//NSLog(@"%s:%d itemValue:%@ selectedValueValue:%@",__FILE__,__LINE__,itemValue,selectedValueValue);
|
||||||
isEqual=SBIsValueEqual(itemValue,selectedValueValue);
|
isEqual=SBIsValueEqual(itemValue,selectedValueValue);
|
||||||
|
}
|
||||||
NSDebugMLLog(@"gswdync",@"isEqual=%s",(isEqual ? "YES" : "NO"));
|
NSDebugMLLog(@"gswdync",@"isEqual=%s",(isEqual ? "YES" : "NO"));
|
||||||
if (isEqual)
|
if (isEqual)
|
||||||
{
|
{
|
||||||
|
@ -306,7 +342,8 @@ static char rcsId[] = "$Id$";
|
||||||
if (valueValue)
|
if (valueValue)
|
||||||
{
|
{
|
||||||
[response _appendContentAsciiString:@" value=\""];
|
[response _appendContentAsciiString:@" value=\""];
|
||||||
[response _appendContentAsciiString:valueValue];
|
//[response _appendContentAsciiString:valueValue];
|
||||||
|
[response _appendContentAsciiString:[NSString stringWithFormat:@"%d",i]];
|
||||||
[response appendContentCharacter:'"'];
|
[response appendContentCharacter:'"'];
|
||||||
};
|
};
|
||||||
[response appendContentCharacter:'>'];
|
[response appendContentCharacter:'>'];
|
||||||
|
@ -464,6 +501,7 @@ static char rcsId[] = "$Id$";
|
||||||
{
|
{
|
||||||
BOOL isEqual=NO;
|
BOOL isEqual=NO;
|
||||||
formValue=[formValues objectAtIndex:0];
|
formValue=[formValues objectAtIndex:0];
|
||||||
|
//NSLog(@"GSWPopUpButton formValue=%@",formValue);
|
||||||
NSDebugMLLog(@"gswdync",@"formValue=%@",formValue);
|
NSDebugMLLog(@"gswdync",@"formValue=%@",formValue);
|
||||||
if (_list)
|
if (_list)
|
||||||
{
|
{
|
||||||
|
@ -492,35 +530,18 @@ static char rcsId[] = "$Id$";
|
||||||
countValue=tmpCount;
|
countValue=tmpCount;
|
||||||
}
|
}
|
||||||
|
|
||||||
for(i=0;!found && i<countValue;i++)
|
for(i=0;!found && i<countValue;i++) {
|
||||||
{
|
|
||||||
if (listValue)
|
|
||||||
itemValue=[listValue objectAtIndex:i];
|
itemValue=[listValue objectAtIndex:i];
|
||||||
else
|
// NSDebugMLLog(@"gswdync",@"_itemValue=%@",itemValue);
|
||||||
itemValue=[NSNumber numberWithShort:i];
|
// NSDebugMLLog(@"gswdync",@"item=%@",_item);
|
||||||
NSDebugMLLog(@"gswdync",@"itemValue %p=%@ (class %@)",itemValue,itemValue,[itemValue class]);
|
|
||||||
NSDebugMLLog(@"gswdync",@"item=%@",_item);
|
|
||||||
if (_item)
|
if (_item)
|
||||||
[_item setValue:itemValue
|
[_item setValue:itemValue
|
||||||
inComponent:component];
|
inComponent:component];
|
||||||
if (_index)
|
//NSDebugMLLog(@"gswdync",@"value=%@",_value);
|
||||||
[_index setValue:[NSNumber numberWithShort:i]
|
if ([formValues containsObject:[NSString stringWithFormat:@"%d",i]])
|
||||||
inComponent:component];
|
|
||||||
NSDebugMLLog(@"gswdync",@"value=%@",_value);
|
|
||||||
if (_value)
|
|
||||||
valueValue=[self valueInContext:context];
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
_autoValue = YES;
|
found=YES;
|
||||||
valueValue=itemValue;
|
|
||||||
};
|
|
||||||
NSDebugMLLog(@"gswdync",@"valueValue=%@ [class=%@] formValue=%@ [class=%@]",
|
|
||||||
valueValue,[valueValue class],
|
|
||||||
formValue,[formValue class]);
|
|
||||||
isEqual=SBIsValueEqual(valueValue,formValue);
|
|
||||||
if (isEqual)
|
|
||||||
{
|
|
||||||
NSDebugMLLog(@"gswdync",@"selection=%@",_selection);
|
|
||||||
if (_selection)
|
if (_selection)
|
||||||
{
|
{
|
||||||
NS_DURING
|
NS_DURING
|
||||||
|
@ -545,29 +566,10 @@ static char rcsId[] = "$Id$";
|
||||||
}
|
}
|
||||||
NS_ENDHANDLER;
|
NS_ENDHANDLER;
|
||||||
};
|
};
|
||||||
if (!WOStrictFlag)
|
|
||||||
{
|
|
||||||
NSDebugMLLog(@"gswdync",@"selectionValue=%@",_selectionValue);
|
|
||||||
if (_selectionValue)
|
|
||||||
{
|
|
||||||
NS_DURING
|
|
||||||
{
|
|
||||||
[_selectionValue setValue:valueValue
|
|
||||||
inComponent:component];
|
|
||||||
}
|
|
||||||
NS_HANDLER
|
|
||||||
{
|
|
||||||
LOGException(@"GSWPopUpButton _selectionValue=%@ valueValue=%@ exception=%@",
|
|
||||||
_selectionValue,valueValue,localException);
|
|
||||||
[self handleValidationException:localException
|
|
||||||
inContext:context];
|
|
||||||
}
|
|
||||||
NS_ENDHANDLER;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
found=YES;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
};// for
|
||||||
|
|
||||||
};
|
};
|
||||||
NSDebugMLLog(@"gswdync",@"found=%s",(found ? "YES" : "NO"));
|
NSDebugMLLog(@"gswdync",@"found=%s",(found ? "YES" : "NO"));
|
||||||
if (!found)
|
if (!found)
|
||||||
|
|
Loading…
Reference in a new issue