2001-10-27 Manuel Guesdon <mguesdon@orange-concept.com>

Applied patch from Turbocat (www.turbocat.de): gsw_26_oct_2001.patch
		except
			o GDL2 ifdef in GSWDisplayGroup.h
			o Turbocat additions in GSWTextField.m
	* GSWAdaptors/Apache/GNUmakefile: changes in APXS
	* GSWAdaptors/common/GSWApp.c: in GSWAppInfo_MakeDictKeyName, take care of buffer overflow
	* GSWeb.framework/GSWComponent.m: implement validationFailedWithException:value:keyPath:
	* GSWeb.framework/GSWDeployedBundle.m: commented #include <pthread.h>
	* GSWeb.framework/GSWDisplayGroup.m: select after fetch in -fetch
		various changes
	* GSWeb.framework/GSWKeyValueAssociation.m: traces
	* GSWeb.framework/GSWApplication.m: Traces
	* GSWeb.framework/GSWAssociation: GDL2 changes
		o removed special case for returned value of type GSMutableArray
		o GDL2 value validation
	* GSWeb.framework/GSWImageButton.m: rewrite of invokeActionForRequest:inContext:
	* GSWeb.framework/GSWDefaultAdaptorThread.m: traces
	* GSWeb.framework/GSWTemplateParserXML.m: traces
	* GSWeb.framework/NSString+Trimming.m: Handle EONull/NSNull


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gsweb/trunk@11256 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Manuel Guesdon 2001-10-27 10:27:33 +00:00
parent ee56247d12
commit d6c8d24523
16 changed files with 338 additions and 79 deletions

View file

@ -314,7 +314,181 @@ static char rcsId[] = "$Id$";
LOGObjectFnStop();
};
//--------------------------------------------------------------------
-(GSWElement*)invokeActionForRequest:(GSWRequest*)request_
inContext:(GSWContext*)context_
{
GSWElement* _element=nil;
NSString* _senderID=nil;
NSString* _elementID=nil;
BOOL _disabledInContext=NO;
BOOL _isInForm=NO;
BOOL _XYValues=NO;
BOOL _thisOne=NO;
GSWComponent* _component=nil;
int _x=0;
int _y=0;
LOGObjectFnStart();
_component=[context_ component];
[context_ appendZeroElementIDComponent];
_senderID=[context_ senderID];
NSDebugMLog(@"_senderID=%@",_senderID);
_elementID=[context_ elementID];
NSDebugMLog(@"_elementID=%@",_elementID);
if ([_elementID isEqualToString:_senderID])
{
//TODO
};
[context_ deleteLastElementIDComponent];
_disabledInContext=[self disabledInContext:context_];
if (!_disabledInContext)
{
_isInForm=[context_ isInForm];
if (_isInForm)
{
BOOL _wasFormSubmitted=[context_ _wasFormSubmitted];
if (_wasFormSubmitted)
{
NSString* _nameInContext=[self nameInContext:context_];
NSString* _formValueX=[request_ formValueForKey:[NSString stringWithFormat:@"%@.x",
_nameInContext]];
NSString* _formValueY=[request_ formValueForKey:[NSString stringWithFormat:@"%@.y",
_nameInContext]];
NSDebugMLLog(@"gswdync",@"_formValueX=%@",_formValueX);
NSDebugMLLog(@"gswdync",@"_formValueY=%@",_formValueY);
if (_formValueX && _formValueY)
{
_x=[_formValueX intValue];
_y=[_formValueY intValue];
_XYValues=YES;
_thisOne=YES;
}
else
{
//TODO
};
};
}
else
{
_elementID=[context_ elementID];
NSDebugMLog(@"_elementID=%@",_elementID);
if ([_elementID isEqualToString:_senderID])
{
id _param=[request_ formValueForKey:GSWKey_IsmapCoords[GSWebNamingConv]];
NSDebugMLLog(@"gswdync",@"_param=%@",_param);
if (_param)
{
if ([_param ismapCoordx:&_x
y:&_y])
_XYValues=YES;
else
{
//TODO
};
};
_thisOne=YES;
};
};
if (_thisOne)
{
GSWAssociation* _actionAssociation=nil;
NSArray* _regions=nil;
if (imageMapFileName)
{
id _imageMapFileNameValue=[imageMapFileName valueInComponent:_component];
NSString* _imageMapFilePath=[[context_ component]
pathForResourceNamed:_imageMapFileNameValue
ofType:nil];
if (!_imageMapFilePath)
{
GSWResourceManager* _resourceManager=[[GSWApplication application]resourceManager];
NSArray* _languages=[context_ languages];
_imageMapFilePath=[_resourceManager pathForResourceNamed:_imageMapFileNameValue
inFramework:nil
languages:_languages];
};
if (_imageMapFilePath)
_regions=[GSWGeometricRegion geometricRegionsWithFile:_imageMapFilePath];
else
{
NSDebugMLLog0(@"gswdync",@"GSWActiveImage No image Map.");
};
}
else if (!WOStrictFlag && imageMapString)
{
id _imageMapValue=[imageMapString valueInComponent:_component];
_regions=[GSWGeometricRegion geometricRegionsWithString:_imageMapValue];
}
else if (!WOStrictFlag && imageMapRegions)
{
_regions=[imageMapRegions valueInComponent:_component];
};
if (xAssoc)
[xAssoc setValue:[NSNumber numberWithInt:_x]
inComponent:_component];
if (yAssoc)
[yAssoc setValue:[NSNumber numberWithInt:_y]
inComponent:_component];
_actionAssociation=[self hitTestX:_x
y:_y
inRegions:_regions];
if (_actionAssociation)
{
[context_ _setActionInvoked:YES];
_element=[_actionAssociation valueInComponent:_component];
if (_element && [_element isKindOfClass:[GSWComponent class]])
{
// call awakeInContext when _element is sleeping deeply
[_element ensureAwakeInContext:context_];
}
}
else
{
/* if (href)
{
[context_ _setActionInvoked:YES];
//TODO redirect to href
}
else*/ if (action)
{
[context_ _setActionInvoked:YES];
_element=[action valueInComponent:_component];
if (_element && [_element isKindOfClass:[GSWComponent class]])
{
// call awakeInContext when _element is sleeping deeply
[_element ensureAwakeInContext:context_];
}
}
else
{
NSDebugMLLog0(@"gswdync",@"GSWActiveImage Couldn't trigger action.");
};
};
if (!_element)
_element=[context_ page];
}
else
_element=[super invokeActionForRequest:request_
inContext:context_];
}
else
_element=[super invokeActionForRequest:request_
inContext:context_];
LOGObjectFnStop();
return _element;
};
//--------------------------------------------------------------------
/*
-(GSWElement*)invokeActionForRequest:(GSWRequest*)request_
inContext:(GSWContext*)context_
{
@ -411,12 +585,12 @@ static char rcsId[] = "$Id$";
} else {
// call awakeInContext when _element is sleeping deeply
[_element ensureAwakeInContext:context_];
/*
if (![_element context]) {
NSDebugMLLog(@"gswdync",@"_element sleeps, awake it = %@",_element);
[_element awakeInContext:context_];
}
*/
//
// if (![_element context]) {
// NSDebugMLLog(@"gswdync",@"_element sleeps, awake it = %@",_element);
// [_element awakeInContext:context_];
// }
}
}
}
@ -437,7 +611,7 @@ static char rcsId[] = "$Id$";
LOGObjectFnStop();
return _element;
};
*/
//--------------------------------------------------------------------
-(NSString*)frameworkNameInContext:(GSWContext*)context_
{