2000-01-22 12:49:49 +00:00
|
|
|
/* GSWDisplayGroup.m - GSWeb: Class GSWDisplayGroup
|
|
|
|
Copyright (C) 1999 Free Software Foundation, Inc.
|
|
|
|
|
|
|
|
Written by: Manuel Guesdon <mguesdon@sbuilders.com>
|
2000-07-27 21:53:39 +00:00
|
|
|
Mirko Viviani <mirko.viviani@rccr.cremona.it>
|
2000-01-22 12:49:49 +00:00
|
|
|
Date: Jan 1999
|
|
|
|
|
|
|
|
This file is part of the GNUstep Web Library.
|
|
|
|
|
|
|
|
This library is free software; you can redistribute it and/or
|
|
|
|
modify it under the terms of the GNU Library General Public
|
|
|
|
License as published by the Free Software Foundation; either
|
|
|
|
version 2 of the License, or (at your option) any later version.
|
|
|
|
|
|
|
|
This library is distributed in the hope that it will be useful,
|
|
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
|
|
Library General Public License for more details.
|
|
|
|
|
|
|
|
You should have received a copy of the GNU Library General Public
|
|
|
|
License along with this library; if not, write to the Free
|
|
|
|
Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
|
|
|
*/
|
|
|
|
|
|
|
|
static char rcsId[] = "$Id$";
|
|
|
|
|
2000-10-30 15:36:50 +00:00
|
|
|
#include <GSWeb/GSWeb.h>
|
2000-01-22 12:49:49 +00:00
|
|
|
|
|
|
|
|
|
|
|
//====================================================================
|
|
|
|
@implementation GSWDisplayGroup
|
|
|
|
|
2000-10-04 22:19:43 +00:00
|
|
|
#if GDL2 // GDL2 implementation
|
2000-01-22 12:49:49 +00:00
|
|
|
|
|
|
|
//--------------------------------------------------------------------
|
2000-10-04 22:19:43 +00:00
|
|
|
// init
|
2000-01-22 12:49:49 +00:00
|
|
|
|
2000-10-04 22:19:43 +00:00
|
|
|
- init
|
2000-01-22 12:49:49 +00:00
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
if ((self = [super init]))
|
|
|
|
{
|
|
|
|
_allObjects = [[NSMutableArray alloc] initWithCapacity:16];
|
|
|
|
_displayedObjects = [[NSMutableArray alloc] initWithCapacity:16];
|
|
|
|
_selectedObjects = [[NSMutableArray alloc] initWithCapacity:8];
|
|
|
|
|
|
|
|
_queryMatch = [[NSMutableDictionary alloc] initWithCapacity:8];
|
|
|
|
_queryMin = [[NSMutableDictionary alloc] initWithCapacity:8];
|
|
|
|
_queryMax = [[NSMutableDictionary alloc] initWithCapacity:8];
|
|
|
|
_queryOperator = [[NSMutableDictionary alloc] initWithCapacity:8];
|
|
|
|
|
|
|
|
_queryBindings = [[NSMutableDictionary alloc] initWithCapacity:8];
|
|
|
|
|
|
|
|
// _selection = 1; //????
|
2001-10-25 Manuel Guesdon <mguesdon@orange-concept.com>
Applied patch from Turbocat (www.turbocat.de): GSWPatch_04-JUL_2001.diff
except GSWeb.framework/GSWInput.m/.h one (have to verify coherence of it)
* GSWAdaptors/common/GSWApp.c/.h: Added GSWAppInfo
* GSWAdaptors/common/GSWAppConnectNSSocket.c: Changes on includes
* GSWAdaptors/common/GSWLoadBalancing.h: Added parameter to GSWLoadBalancing_Find*
* GSWAdaptors/common/GSWLoadBalancing.c: added p_pURLComponents parameter,
o management of AppInfo
* GSWAdaptors/common/GSWAppRequest.c: managing refused connections
* GSWExtensions.framework/GSWStatsPage.gswc/GSWStatsPage.gswd: misspelling correction
* GSWExtensions.framework/GSWStatsPage.gswc/GSWStatsPage.html: Various Changes
* GSWExtensions.framework/GSWStatsPage.m: changes in login/password validation
o -awake added
* GSWeb.framework/GSWApplication.m/.h: Manage refusing new sessions
* GSWeb.framework/GSWBundle.m: debug traces commented
* GSWeb.framework/GSWComponent.m: implementation of ensureAwakeInContext:
* GSWeb.framework/GSWAssociation.m: special case for returned value of type GSMutableArray (Why ?)
* GSWeb.framework/GSWComponentRequestHandler.m: comments added
* GSWeb.framework/GSWDefaultAdaptorThread.m: added debug traces
* GSWeb.framework/GSWDirectActionRequestHandler.m: replaced GSWDirectAction by DirectAction
* GSWeb.framework/GSWDisplayGroup.m: initialize _baseIndex,
o correct misspelled names,
o added -description,
o use delegate in _changedInEditingContext:, _invalidatedAllObjectsInStore:,
o changes in -deleteObjectAtIndex:,
* GSWeb.framework/GSWFileUpload.m: different handling of _fileDatasCount,
handle bug in omniweb-browser
* GSWeb.framework/GSWHyperlink.m: added ensureAwakeInContext: call
* GSWeb.framework/GSWImageButton.m: added ensureAwakeInContext: call
* GSWeb.framework/GSWPopUpButton.m:
o use [response_ appendContentString:_noSelectionStringValue] instead of
[response_ appendContentHTMLString:_noSelectionStringValue]
o handle no displayString case
o use [response_ appendContentString:_displayStringValue] instead of
[response_ appendContentHTMLString:_displayStringValue]
* GSWeb.framework/GSWConfig.h: set GSWOPTVALUE_AutoOpenInBrowser to NO
* GSWeb.framework/GSWElementIDString.m: comment some debug traces
* GSWeb.framework/GSWHTMLStaticGroup.m/.h: added support of documentType
* GSWeb.framework/GSWHTMLURLValuedElement.m: addeded debug trace
* GSWeb.framework/GSWKeyValueAssociation.m: use NSStringFromClass([retValue class])
instead of [retValue class] for log
* GSWeb.framework/GSWRequest.m/.h: added -(NSDictionary*)headers;
o added test on _contentType in _contentType
o autorelease _dict in -uriElements
* GSWeb.framework/GSWResponse.m/.h: added -setHeaders: and -headers
o Added GSWResponse (GSWResponseRefused)
o return self in -generateResponse
* GSWeb.framework/GSWServerSessionStore.m/.h: added @interface GSWServerSessionStore (GSWServerSessionStoreInfo)
o added refusing session management
* GSWeb.framework/GSWSession.m:
o in -terminate forces to call removeSessionWithID in GSWServerSessionStore to dealloc it
* GSWeb.framework/GSWSessionTimeOutManager.m/.h: replace NSMutableOrderedArray* sessionOrderedTimeOuts;
by NSMutableArray* sessionOrderedTimeOuts;
o added traces
o added GSWSessionTimeOutManager (GSWSessionRefused)
* GSWeb.framework/GSWSubmitButton.m: raise exception if no element is returned
* GSWeb.framework/GSWTemplateParser.m: added doctype management
* GSWeb.framework/GSWUtils.h: added if defined for __NetBSD__
* GSWeb.framework/GSWWOCompatibility.m/.h: added WOGenericContainer, WOImageButton, WOHyperlink
* GSWeb.framework/attach.m: added if defined for __NetBSD__
* GSWeb.framework/stacktrace.m: added if defined for __NetBSD__
* GSWeb.framework/GSWTemplateParserXML.m: traces commented
o test XML node content before adding it
* GSWeb.framework/NSObject+IVarAccess+PerformSel.m
o changes in -getIVarNamed: and in setIVarNamed:withValue: (use of sel+imp, tests on parameters)
* GSWAdaptors/common/GSWHTTPResponse.c: change in GSWHTTPResponse_GetResponse()
o debug traces removed
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gsweb/trunk@11251 72102866-910b-0410-8b05-ffd578937521
2001-10-26 08:50:52 +00:00
|
|
|
_batchIndex = 1;
|
2000-10-04 22:19:43 +00:00
|
|
|
|
|
|
|
[[NSNotificationCenter defaultCenter]
|
|
|
|
addObserver:self
|
|
|
|
selector:@selector(_changedInEditingContext:)
|
|
|
|
name:EOObjectsChangedInEditingContextNotification
|
|
|
|
object:nil];
|
|
|
|
|
|
|
|
[[NSNotificationCenter defaultCenter]
|
|
|
|
addObserver:self
|
|
|
|
selector:@selector(_invalidatedAllObjectsInStore:)
|
|
|
|
name:EOInvalidatedAllObjectsInStoreNotification
|
|
|
|
object:nil];
|
|
|
|
|
|
|
|
//_selection=NSArray * object:0xf78b80 Description:()
|
|
|
|
//_insertedObjectDefaultValues=NSDictionary * object:0xf78b60 Description:{}
|
|
|
|
ASSIGN(_defaultStringMatchOperator,@"caseInsensitiveLike");
|
|
|
|
ASSIGN(_defaultStringMatchFormat,@"%@");
|
|
|
|
|
|
|
|
[self setSelectsFirstObjectAfterFetch:YES];
|
|
|
|
};
|
|
|
|
return self;
|
2000-01-22 12:49:49 +00:00
|
|
|
};
|
|
|
|
|
2000-10-04 22:19:43 +00:00
|
|
|
-(id)initWithKeyValueUnarchiver:(EOKeyValueUnarchiver*)unarchiver
|
|
|
|
{
|
|
|
|
/*
|
|
|
|
Description: <EOKeyValueUnarchiver: 0x1a84d20>
|
2000-11-24 09:32:34 +00:00
|
|
|
--[1] Dumping object 0x1a84d20 of Class EOKeyValueUnarchiver
|
|
|
|
_propertyList=NSDictionary * object:0x1057850 Description:{
|
2000-10-04 22:19:43 +00:00
|
|
|
class = WODisplayGroup;
|
|
|
|
dataSource = {
|
|
|
|
class = EODatabaseDataSource;
|
|
|
|
editingContext = session.defaultEditingContext;
|
|
|
|
fetchSpecification = {class = EOFetchSpecification; entityName = MovieMedia; isDeep = YES; };
|
|
|
|
};
|
|
|
|
formatForLikeQualifier = "%@*";
|
|
|
|
_numberOfObjectsPerBatch = 10;
|
|
|
|
selectsFirstObjectAfterFetch = YES;
|
|
|
|
}
|
2000-11-24 09:32:34 +00:00
|
|
|
_parent=id object:0x0 Description:*nil*
|
|
|
|
_nextParent=id object:0x0 Description:*nil*
|
|
|
|
_allUnarchivedObjects=NSMutableArray * object:0x1a85920 Description:()
|
|
|
|
_delegate=id object:0x1a84ff0 Description:<WOBundleUnarchiverDelegate: 0x1a84ff0>
|
|
|
|
_awakenedObjects=struct ? {...} * PTR
|
|
|
|
isa=Class Class:EOKeyValueUnarchiver
|
2000-01-22 12:49:49 +00:00
|
|
|
|
2000-10-04 22:19:43 +00:00
|
|
|
*/
|
|
|
|
if ((self=[self init]))
|
|
|
|
{
|
2001-10-25 Manuel Guesdon <mguesdon@orange-concept.com>
Applied patch from Turbocat (www.turbocat.de): GSWPatch_04-JUL_2001.diff
except GSWeb.framework/GSWInput.m/.h one (have to verify coherence of it)
* GSWAdaptors/common/GSWApp.c/.h: Added GSWAppInfo
* GSWAdaptors/common/GSWAppConnectNSSocket.c: Changes on includes
* GSWAdaptors/common/GSWLoadBalancing.h: Added parameter to GSWLoadBalancing_Find*
* GSWAdaptors/common/GSWLoadBalancing.c: added p_pURLComponents parameter,
o management of AppInfo
* GSWAdaptors/common/GSWAppRequest.c: managing refused connections
* GSWExtensions.framework/GSWStatsPage.gswc/GSWStatsPage.gswd: misspelling correction
* GSWExtensions.framework/GSWStatsPage.gswc/GSWStatsPage.html: Various Changes
* GSWExtensions.framework/GSWStatsPage.m: changes in login/password validation
o -awake added
* GSWeb.framework/GSWApplication.m/.h: Manage refusing new sessions
* GSWeb.framework/GSWBundle.m: debug traces commented
* GSWeb.framework/GSWComponent.m: implementation of ensureAwakeInContext:
* GSWeb.framework/GSWAssociation.m: special case for returned value of type GSMutableArray (Why ?)
* GSWeb.framework/GSWComponentRequestHandler.m: comments added
* GSWeb.framework/GSWDefaultAdaptorThread.m: added debug traces
* GSWeb.framework/GSWDirectActionRequestHandler.m: replaced GSWDirectAction by DirectAction
* GSWeb.framework/GSWDisplayGroup.m: initialize _baseIndex,
o correct misspelled names,
o added -description,
o use delegate in _changedInEditingContext:, _invalidatedAllObjectsInStore:,
o changes in -deleteObjectAtIndex:,
* GSWeb.framework/GSWFileUpload.m: different handling of _fileDatasCount,
handle bug in omniweb-browser
* GSWeb.framework/GSWHyperlink.m: added ensureAwakeInContext: call
* GSWeb.framework/GSWImageButton.m: added ensureAwakeInContext: call
* GSWeb.framework/GSWPopUpButton.m:
o use [response_ appendContentString:_noSelectionStringValue] instead of
[response_ appendContentHTMLString:_noSelectionStringValue]
o handle no displayString case
o use [response_ appendContentString:_displayStringValue] instead of
[response_ appendContentHTMLString:_displayStringValue]
* GSWeb.framework/GSWConfig.h: set GSWOPTVALUE_AutoOpenInBrowser to NO
* GSWeb.framework/GSWElementIDString.m: comment some debug traces
* GSWeb.framework/GSWHTMLStaticGroup.m/.h: added support of documentType
* GSWeb.framework/GSWHTMLURLValuedElement.m: addeded debug trace
* GSWeb.framework/GSWKeyValueAssociation.m: use NSStringFromClass([retValue class])
instead of [retValue class] for log
* GSWeb.framework/GSWRequest.m/.h: added -(NSDictionary*)headers;
o added test on _contentType in _contentType
o autorelease _dict in -uriElements
* GSWeb.framework/GSWResponse.m/.h: added -setHeaders: and -headers
o Added GSWResponse (GSWResponseRefused)
o return self in -generateResponse
* GSWeb.framework/GSWServerSessionStore.m/.h: added @interface GSWServerSessionStore (GSWServerSessionStoreInfo)
o added refusing session management
* GSWeb.framework/GSWSession.m:
o in -terminate forces to call removeSessionWithID in GSWServerSessionStore to dealloc it
* GSWeb.framework/GSWSessionTimeOutManager.m/.h: replace NSMutableOrderedArray* sessionOrderedTimeOuts;
by NSMutableArray* sessionOrderedTimeOuts;
o added traces
o added GSWSessionTimeOutManager (GSWSessionRefused)
* GSWeb.framework/GSWSubmitButton.m: raise exception if no element is returned
* GSWeb.framework/GSWTemplateParser.m: added doctype management
* GSWeb.framework/GSWUtils.h: added if defined for __NetBSD__
* GSWeb.framework/GSWWOCompatibility.m/.h: added WOGenericContainer, WOImageButton, WOHyperlink
* GSWeb.framework/attach.m: added if defined for __NetBSD__
* GSWeb.framework/stacktrace.m: added if defined for __NetBSD__
* GSWeb.framework/GSWTemplateParserXML.m: traces commented
o test XML node content before adding it
* GSWeb.framework/NSObject+IVarAccess+PerformSel.m
o changes in -getIVarNamed: and in setIVarNamed:withValue: (use of sel+imp, tests on parameters)
* GSWAdaptors/common/GSWHTTPResponse.c: change in GSWHTTPResponse_GetResponse()
o debug traces removed
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gsweb/trunk@11251 72102866-910b-0410-8b05-ffd578937521
2001-10-26 08:50:52 +00:00
|
|
|
LOGObjectFnStart();
|
2000-10-04 22:19:43 +00:00
|
|
|
[self setNumberOfObjectsPerBatch:
|
|
|
|
[unarchiver decodeIntForKey:@"numberOfObjectsPerBatch"]];
|
|
|
|
[self setFetchesOnLoad:
|
|
|
|
[unarchiver decodeBoolForKey:@"fetchesOnLoad"]];
|
|
|
|
[self setValidatesChangesImmediately:
|
|
|
|
[unarchiver decodeBoolForKey:@"validatesChangesImmediately"]];
|
|
|
|
[self setSelectsFirstObjectAfterFetch:
|
|
|
|
[unarchiver decodeBoolForKey:@"selectsFirstObjectAfterFetch"]];
|
|
|
|
[self setLocalKeys:
|
|
|
|
[unarchiver decodeObjectForKey:@"localKeys"]];
|
|
|
|
//Don't call setDataSource: because we're not ready !
|
|
|
|
ASSIGN(_dataSource,[unarchiver decodeObjectForKey:@"dataSource"]);
|
|
|
|
[self setSortOrderings:
|
2001-10-25 Manuel Guesdon <mguesdon@orange-concept.com>
Applied patch from Turbocat (www.turbocat.de): GSWPatch_04-JUL_2001.diff
except GSWeb.framework/GSWInput.m/.h one (have to verify coherence of it)
* GSWAdaptors/common/GSWApp.c/.h: Added GSWAppInfo
* GSWAdaptors/common/GSWAppConnectNSSocket.c: Changes on includes
* GSWAdaptors/common/GSWLoadBalancing.h: Added parameter to GSWLoadBalancing_Find*
* GSWAdaptors/common/GSWLoadBalancing.c: added p_pURLComponents parameter,
o management of AppInfo
* GSWAdaptors/common/GSWAppRequest.c: managing refused connections
* GSWExtensions.framework/GSWStatsPage.gswc/GSWStatsPage.gswd: misspelling correction
* GSWExtensions.framework/GSWStatsPage.gswc/GSWStatsPage.html: Various Changes
* GSWExtensions.framework/GSWStatsPage.m: changes in login/password validation
o -awake added
* GSWeb.framework/GSWApplication.m/.h: Manage refusing new sessions
* GSWeb.framework/GSWBundle.m: debug traces commented
* GSWeb.framework/GSWComponent.m: implementation of ensureAwakeInContext:
* GSWeb.framework/GSWAssociation.m: special case for returned value of type GSMutableArray (Why ?)
* GSWeb.framework/GSWComponentRequestHandler.m: comments added
* GSWeb.framework/GSWDefaultAdaptorThread.m: added debug traces
* GSWeb.framework/GSWDirectActionRequestHandler.m: replaced GSWDirectAction by DirectAction
* GSWeb.framework/GSWDisplayGroup.m: initialize _baseIndex,
o correct misspelled names,
o added -description,
o use delegate in _changedInEditingContext:, _invalidatedAllObjectsInStore:,
o changes in -deleteObjectAtIndex:,
* GSWeb.framework/GSWFileUpload.m: different handling of _fileDatasCount,
handle bug in omniweb-browser
* GSWeb.framework/GSWHyperlink.m: added ensureAwakeInContext: call
* GSWeb.framework/GSWImageButton.m: added ensureAwakeInContext: call
* GSWeb.framework/GSWPopUpButton.m:
o use [response_ appendContentString:_noSelectionStringValue] instead of
[response_ appendContentHTMLString:_noSelectionStringValue]
o handle no displayString case
o use [response_ appendContentString:_displayStringValue] instead of
[response_ appendContentHTMLString:_displayStringValue]
* GSWeb.framework/GSWConfig.h: set GSWOPTVALUE_AutoOpenInBrowser to NO
* GSWeb.framework/GSWElementIDString.m: comment some debug traces
* GSWeb.framework/GSWHTMLStaticGroup.m/.h: added support of documentType
* GSWeb.framework/GSWHTMLURLValuedElement.m: addeded debug trace
* GSWeb.framework/GSWKeyValueAssociation.m: use NSStringFromClass([retValue class])
instead of [retValue class] for log
* GSWeb.framework/GSWRequest.m/.h: added -(NSDictionary*)headers;
o added test on _contentType in _contentType
o autorelease _dict in -uriElements
* GSWeb.framework/GSWResponse.m/.h: added -setHeaders: and -headers
o Added GSWResponse (GSWResponseRefused)
o return self in -generateResponse
* GSWeb.framework/GSWServerSessionStore.m/.h: added @interface GSWServerSessionStore (GSWServerSessionStoreInfo)
o added refusing session management
* GSWeb.framework/GSWSession.m:
o in -terminate forces to call removeSessionWithID in GSWServerSessionStore to dealloc it
* GSWeb.framework/GSWSessionTimeOutManager.m/.h: replace NSMutableOrderedArray* sessionOrderedTimeOuts;
by NSMutableArray* sessionOrderedTimeOuts;
o added traces
o added GSWSessionTimeOutManager (GSWSessionRefused)
* GSWeb.framework/GSWSubmitButton.m: raise exception if no element is returned
* GSWeb.framework/GSWTemplateParser.m: added doctype management
* GSWeb.framework/GSWUtils.h: added if defined for __NetBSD__
* GSWeb.framework/GSWWOCompatibility.m/.h: added WOGenericContainer, WOImageButton, WOHyperlink
* GSWeb.framework/attach.m: added if defined for __NetBSD__
* GSWeb.framework/stacktrace.m: added if defined for __NetBSD__
* GSWeb.framework/GSWTemplateParserXML.m: traces commented
o test XML node content before adding it
* GSWeb.framework/NSObject+IVarAccess+PerformSel.m
o changes in -getIVarNamed: and in setIVarNamed:withValue: (use of sel+imp, tests on parameters)
* GSWAdaptors/common/GSWHTTPResponse.c: change in GSWHTTPResponse_GetResponse()
o debug traces removed
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gsweb/trunk@11251 72102866-910b-0410-8b05-ffd578937521
2001-10-26 08:50:52 +00:00
|
|
|
[unarchiver decodeObjectForKey:@"sortOrdering"]];
|
2000-10-04 22:19:43 +00:00
|
|
|
[self setQualifier:
|
|
|
|
[unarchiver decodeObjectForKey:@"qualifier"]];
|
|
|
|
[self setDefaultStringMatchFormat:
|
|
|
|
[unarchiver decodeObjectForKey:@"formatForLikeQualifier"]];
|
|
|
|
[self setInsertedObjectDefaultValues:
|
|
|
|
[unarchiver decodeObjectForKey:@"insertedObjectDefaultValues"]];
|
|
|
|
|
|
|
|
[self finishInitialization];
|
|
|
|
LOGObjectFnStop();
|
|
|
|
};
|
|
|
|
return self;
|
2000-01-22 12:49:49 +00:00
|
|
|
};
|
|
|
|
|
2001-10-25 Manuel Guesdon <mguesdon@orange-concept.com>
Applied patch from Turbocat (www.turbocat.de): GSWPatch_04-JUL_2001.diff
except GSWeb.framework/GSWInput.m/.h one (have to verify coherence of it)
* GSWAdaptors/common/GSWApp.c/.h: Added GSWAppInfo
* GSWAdaptors/common/GSWAppConnectNSSocket.c: Changes on includes
* GSWAdaptors/common/GSWLoadBalancing.h: Added parameter to GSWLoadBalancing_Find*
* GSWAdaptors/common/GSWLoadBalancing.c: added p_pURLComponents parameter,
o management of AppInfo
* GSWAdaptors/common/GSWAppRequest.c: managing refused connections
* GSWExtensions.framework/GSWStatsPage.gswc/GSWStatsPage.gswd: misspelling correction
* GSWExtensions.framework/GSWStatsPage.gswc/GSWStatsPage.html: Various Changes
* GSWExtensions.framework/GSWStatsPage.m: changes in login/password validation
o -awake added
* GSWeb.framework/GSWApplication.m/.h: Manage refusing new sessions
* GSWeb.framework/GSWBundle.m: debug traces commented
* GSWeb.framework/GSWComponent.m: implementation of ensureAwakeInContext:
* GSWeb.framework/GSWAssociation.m: special case for returned value of type GSMutableArray (Why ?)
* GSWeb.framework/GSWComponentRequestHandler.m: comments added
* GSWeb.framework/GSWDefaultAdaptorThread.m: added debug traces
* GSWeb.framework/GSWDirectActionRequestHandler.m: replaced GSWDirectAction by DirectAction
* GSWeb.framework/GSWDisplayGroup.m: initialize _baseIndex,
o correct misspelled names,
o added -description,
o use delegate in _changedInEditingContext:, _invalidatedAllObjectsInStore:,
o changes in -deleteObjectAtIndex:,
* GSWeb.framework/GSWFileUpload.m: different handling of _fileDatasCount,
handle bug in omniweb-browser
* GSWeb.framework/GSWHyperlink.m: added ensureAwakeInContext: call
* GSWeb.framework/GSWImageButton.m: added ensureAwakeInContext: call
* GSWeb.framework/GSWPopUpButton.m:
o use [response_ appendContentString:_noSelectionStringValue] instead of
[response_ appendContentHTMLString:_noSelectionStringValue]
o handle no displayString case
o use [response_ appendContentString:_displayStringValue] instead of
[response_ appendContentHTMLString:_displayStringValue]
* GSWeb.framework/GSWConfig.h: set GSWOPTVALUE_AutoOpenInBrowser to NO
* GSWeb.framework/GSWElementIDString.m: comment some debug traces
* GSWeb.framework/GSWHTMLStaticGroup.m/.h: added support of documentType
* GSWeb.framework/GSWHTMLURLValuedElement.m: addeded debug trace
* GSWeb.framework/GSWKeyValueAssociation.m: use NSStringFromClass([retValue class])
instead of [retValue class] for log
* GSWeb.framework/GSWRequest.m/.h: added -(NSDictionary*)headers;
o added test on _contentType in _contentType
o autorelease _dict in -uriElements
* GSWeb.framework/GSWResponse.m/.h: added -setHeaders: and -headers
o Added GSWResponse (GSWResponseRefused)
o return self in -generateResponse
* GSWeb.framework/GSWServerSessionStore.m/.h: added @interface GSWServerSessionStore (GSWServerSessionStoreInfo)
o added refusing session management
* GSWeb.framework/GSWSession.m:
o in -terminate forces to call removeSessionWithID in GSWServerSessionStore to dealloc it
* GSWeb.framework/GSWSessionTimeOutManager.m/.h: replace NSMutableOrderedArray* sessionOrderedTimeOuts;
by NSMutableArray* sessionOrderedTimeOuts;
o added traces
o added GSWSessionTimeOutManager (GSWSessionRefused)
* GSWeb.framework/GSWSubmitButton.m: raise exception if no element is returned
* GSWeb.framework/GSWTemplateParser.m: added doctype management
* GSWeb.framework/GSWUtils.h: added if defined for __NetBSD__
* GSWeb.framework/GSWWOCompatibility.m/.h: added WOGenericContainer, WOImageButton, WOHyperlink
* GSWeb.framework/attach.m: added if defined for __NetBSD__
* GSWeb.framework/stacktrace.m: added if defined for __NetBSD__
* GSWeb.framework/GSWTemplateParserXML.m: traces commented
o test XML node content before adding it
* GSWeb.framework/NSObject+IVarAccess+PerformSel.m
o changes in -getIVarNamed: and in setIVarNamed:withValue: (use of sel+imp, tests on parameters)
* GSWAdaptors/common/GSWHTTPResponse.c: change in GSWHTTPResponse_GetResponse()
o debug traces removed
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gsweb/trunk@11251 72102866-910b-0410-8b05-ffd578937521
2001-10-26 08:50:52 +00:00
|
|
|
-(NSString*)description
|
|
|
|
{
|
|
|
|
NSString* _dscr=nil;
|
|
|
|
GSWLogAssertGood(self);
|
|
|
|
NSDebugMLLog(@"gswdisplaygroup",@"GSWDisplayGroup description Self=%p",self);
|
|
|
|
_dscr=[NSString stringWithFormat:@"<%s %p - \n",
|
|
|
|
object_get_class_name(self),
|
|
|
|
(void*)self];
|
|
|
|
|
|
|
|
_dscr=[_dscr stringByAppendingFormat:@"numberOfObjectsPerBatch:[%d]\n",
|
|
|
|
_numberOfObjectsPerBatch];
|
|
|
|
_dscr=[_dscr stringByAppendingFormat:@"fetchesOnLoad:[%s]\n",
|
|
|
|
_flags.autoFetch ? "YES" : "NO"];
|
|
|
|
_dscr=[_dscr stringByAppendingFormat:@"validatesChangesImmediately:[%s]\n",
|
|
|
|
_flags.validateImmediately ? "YES" : "NO"];
|
|
|
|
_dscr=[_dscr stringByAppendingFormat:@"selectsFirstObjectAfterFetch:[%s]\n",
|
|
|
|
_flags.selectFirstObject ? "YES" : "NO"];
|
|
|
|
_dscr=[_dscr stringByAppendingFormat:@"localKeys:[%@]\n",
|
|
|
|
_localKeys];
|
|
|
|
_dscr=[_dscr stringByAppendingFormat:@"dataSource:[%@]\n",
|
|
|
|
_dataSource];
|
|
|
|
_dscr=[_dscr stringByAppendingFormat:@"sortOrdering:[%@]\n",
|
|
|
|
_sortOrdering];
|
|
|
|
_dscr=[_dscr stringByAppendingFormat:@"qualifier:[%@]\n",
|
|
|
|
_qualifier];
|
|
|
|
_dscr=[_dscr stringByAppendingFormat:@"formatForLikeQualifier:[%@]\n",
|
|
|
|
_defaultStringMatchFormat];
|
|
|
|
_dscr=[_dscr stringByAppendingFormat:@"insertedObjectDefaultValues:[%@]\n",
|
|
|
|
_insertedObjectDefaultValues];
|
|
|
|
|
|
|
|
return _dscr;
|
|
|
|
};
|
|
|
|
|
2000-01-22 12:49:49 +00:00
|
|
|
|
2000-10-04 22:19:43 +00:00
|
|
|
-(void)awakeFromKeyValueUnarchiver:(EOKeyValueUnarchiver*)unarchiver
|
2000-01-22 12:49:49 +00:00
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
LOGObjectFnStart();
|
|
|
|
if (_dataSource)
|
|
|
|
[unarchiver ensureObjectAwake:_dataSource];
|
|
|
|
if ([self fetchesOnLoad])
|
|
|
|
{
|
2001-10-25 Manuel Guesdon <mguesdon@orange-concept.com>
Applied patch from Turbocat (www.turbocat.de): GSWPatch_04-JUL_2001.diff
except GSWeb.framework/GSWInput.m/.h one (have to verify coherence of it)
* GSWAdaptors/common/GSWApp.c/.h: Added GSWAppInfo
* GSWAdaptors/common/GSWAppConnectNSSocket.c: Changes on includes
* GSWAdaptors/common/GSWLoadBalancing.h: Added parameter to GSWLoadBalancing_Find*
* GSWAdaptors/common/GSWLoadBalancing.c: added p_pURLComponents parameter,
o management of AppInfo
* GSWAdaptors/common/GSWAppRequest.c: managing refused connections
* GSWExtensions.framework/GSWStatsPage.gswc/GSWStatsPage.gswd: misspelling correction
* GSWExtensions.framework/GSWStatsPage.gswc/GSWStatsPage.html: Various Changes
* GSWExtensions.framework/GSWStatsPage.m: changes in login/password validation
o -awake added
* GSWeb.framework/GSWApplication.m/.h: Manage refusing new sessions
* GSWeb.framework/GSWBundle.m: debug traces commented
* GSWeb.framework/GSWComponent.m: implementation of ensureAwakeInContext:
* GSWeb.framework/GSWAssociation.m: special case for returned value of type GSMutableArray (Why ?)
* GSWeb.framework/GSWComponentRequestHandler.m: comments added
* GSWeb.framework/GSWDefaultAdaptorThread.m: added debug traces
* GSWeb.framework/GSWDirectActionRequestHandler.m: replaced GSWDirectAction by DirectAction
* GSWeb.framework/GSWDisplayGroup.m: initialize _baseIndex,
o correct misspelled names,
o added -description,
o use delegate in _changedInEditingContext:, _invalidatedAllObjectsInStore:,
o changes in -deleteObjectAtIndex:,
* GSWeb.framework/GSWFileUpload.m: different handling of _fileDatasCount,
handle bug in omniweb-browser
* GSWeb.framework/GSWHyperlink.m: added ensureAwakeInContext: call
* GSWeb.framework/GSWImageButton.m: added ensureAwakeInContext: call
* GSWeb.framework/GSWPopUpButton.m:
o use [response_ appendContentString:_noSelectionStringValue] instead of
[response_ appendContentHTMLString:_noSelectionStringValue]
o handle no displayString case
o use [response_ appendContentString:_displayStringValue] instead of
[response_ appendContentHTMLString:_displayStringValue]
* GSWeb.framework/GSWConfig.h: set GSWOPTVALUE_AutoOpenInBrowser to NO
* GSWeb.framework/GSWElementIDString.m: comment some debug traces
* GSWeb.framework/GSWHTMLStaticGroup.m/.h: added support of documentType
* GSWeb.framework/GSWHTMLURLValuedElement.m: addeded debug trace
* GSWeb.framework/GSWKeyValueAssociation.m: use NSStringFromClass([retValue class])
instead of [retValue class] for log
* GSWeb.framework/GSWRequest.m/.h: added -(NSDictionary*)headers;
o added test on _contentType in _contentType
o autorelease _dict in -uriElements
* GSWeb.framework/GSWResponse.m/.h: added -setHeaders: and -headers
o Added GSWResponse (GSWResponseRefused)
o return self in -generateResponse
* GSWeb.framework/GSWServerSessionStore.m/.h: added @interface GSWServerSessionStore (GSWServerSessionStoreInfo)
o added refusing session management
* GSWeb.framework/GSWSession.m:
o in -terminate forces to call removeSessionWithID in GSWServerSessionStore to dealloc it
* GSWeb.framework/GSWSessionTimeOutManager.m/.h: replace NSMutableOrderedArray* sessionOrderedTimeOuts;
by NSMutableArray* sessionOrderedTimeOuts;
o added traces
o added GSWSessionTimeOutManager (GSWSessionRefused)
* GSWeb.framework/GSWSubmitButton.m: raise exception if no element is returned
* GSWeb.framework/GSWTemplateParser.m: added doctype management
* GSWeb.framework/GSWUtils.h: added if defined for __NetBSD__
* GSWeb.framework/GSWWOCompatibility.m/.h: added WOGenericContainer, WOImageButton, WOHyperlink
* GSWeb.framework/attach.m: added if defined for __NetBSD__
* GSWeb.framework/stacktrace.m: added if defined for __NetBSD__
* GSWeb.framework/GSWTemplateParserXML.m: traces commented
o test XML node content before adding it
* GSWeb.framework/NSObject+IVarAccess+PerformSel.m
o changes in -getIVarNamed: and in setIVarNamed:withValue: (use of sel+imp, tests on parameters)
* GSWAdaptors/common/GSWHTTPResponse.c: change in GSWHTTPResponse_GetResponse()
o debug traces removed
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gsweb/trunk@11251 72102866-910b-0410-8b05-ffd578937521
2001-10-26 08:50:52 +00:00
|
|
|
NSLog(@"***** awakeFromKeyValueUnarchiver in GSWDisplayGroup is called *****");
|
|
|
|
[self fetch];
|
2000-10-04 22:19:43 +00:00
|
|
|
// [self fetch];//?? NO: fetch "each time it is loaded in web browser"
|
|
|
|
};
|
|
|
|
LOGObjectFnStop();
|
2000-01-22 12:49:49 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
|
2000-10-04 22:19:43 +00:00
|
|
|
-(void)finishInitialization
|
2000-01-22 12:49:49 +00:00
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
LOGObjectFnStart();
|
|
|
|
[self _setUpForNewDataSource];
|
|
|
|
//Finished ?
|
2001-10-25 Manuel Guesdon <mguesdon@orange-concept.com>
Applied patch from Turbocat (www.turbocat.de): GSWPatch_04-JUL_2001.diff
except GSWeb.framework/GSWInput.m/.h one (have to verify coherence of it)
* GSWAdaptors/common/GSWApp.c/.h: Added GSWAppInfo
* GSWAdaptors/common/GSWAppConnectNSSocket.c: Changes on includes
* GSWAdaptors/common/GSWLoadBalancing.h: Added parameter to GSWLoadBalancing_Find*
* GSWAdaptors/common/GSWLoadBalancing.c: added p_pURLComponents parameter,
o management of AppInfo
* GSWAdaptors/common/GSWAppRequest.c: managing refused connections
* GSWExtensions.framework/GSWStatsPage.gswc/GSWStatsPage.gswd: misspelling correction
* GSWExtensions.framework/GSWStatsPage.gswc/GSWStatsPage.html: Various Changes
* GSWExtensions.framework/GSWStatsPage.m: changes in login/password validation
o -awake added
* GSWeb.framework/GSWApplication.m/.h: Manage refusing new sessions
* GSWeb.framework/GSWBundle.m: debug traces commented
* GSWeb.framework/GSWComponent.m: implementation of ensureAwakeInContext:
* GSWeb.framework/GSWAssociation.m: special case for returned value of type GSMutableArray (Why ?)
* GSWeb.framework/GSWComponentRequestHandler.m: comments added
* GSWeb.framework/GSWDefaultAdaptorThread.m: added debug traces
* GSWeb.framework/GSWDirectActionRequestHandler.m: replaced GSWDirectAction by DirectAction
* GSWeb.framework/GSWDisplayGroup.m: initialize _baseIndex,
o correct misspelled names,
o added -description,
o use delegate in _changedInEditingContext:, _invalidatedAllObjectsInStore:,
o changes in -deleteObjectAtIndex:,
* GSWeb.framework/GSWFileUpload.m: different handling of _fileDatasCount,
handle bug in omniweb-browser
* GSWeb.framework/GSWHyperlink.m: added ensureAwakeInContext: call
* GSWeb.framework/GSWImageButton.m: added ensureAwakeInContext: call
* GSWeb.framework/GSWPopUpButton.m:
o use [response_ appendContentString:_noSelectionStringValue] instead of
[response_ appendContentHTMLString:_noSelectionStringValue]
o handle no displayString case
o use [response_ appendContentString:_displayStringValue] instead of
[response_ appendContentHTMLString:_displayStringValue]
* GSWeb.framework/GSWConfig.h: set GSWOPTVALUE_AutoOpenInBrowser to NO
* GSWeb.framework/GSWElementIDString.m: comment some debug traces
* GSWeb.framework/GSWHTMLStaticGroup.m/.h: added support of documentType
* GSWeb.framework/GSWHTMLURLValuedElement.m: addeded debug trace
* GSWeb.framework/GSWKeyValueAssociation.m: use NSStringFromClass([retValue class])
instead of [retValue class] for log
* GSWeb.framework/GSWRequest.m/.h: added -(NSDictionary*)headers;
o added test on _contentType in _contentType
o autorelease _dict in -uriElements
* GSWeb.framework/GSWResponse.m/.h: added -setHeaders: and -headers
o Added GSWResponse (GSWResponseRefused)
o return self in -generateResponse
* GSWeb.framework/GSWServerSessionStore.m/.h: added @interface GSWServerSessionStore (GSWServerSessionStoreInfo)
o added refusing session management
* GSWeb.framework/GSWSession.m:
o in -terminate forces to call removeSessionWithID in GSWServerSessionStore to dealloc it
* GSWeb.framework/GSWSessionTimeOutManager.m/.h: replace NSMutableOrderedArray* sessionOrderedTimeOuts;
by NSMutableArray* sessionOrderedTimeOuts;
o added traces
o added GSWSessionTimeOutManager (GSWSessionRefused)
* GSWeb.framework/GSWSubmitButton.m: raise exception if no element is returned
* GSWeb.framework/GSWTemplateParser.m: added doctype management
* GSWeb.framework/GSWUtils.h: added if defined for __NetBSD__
* GSWeb.framework/GSWWOCompatibility.m/.h: added WOGenericContainer, WOImageButton, WOHyperlink
* GSWeb.framework/attach.m: added if defined for __NetBSD__
* GSWeb.framework/stacktrace.m: added if defined for __NetBSD__
* GSWeb.framework/GSWTemplateParserXML.m: traces commented
o test XML node content before adding it
* GSWeb.framework/NSObject+IVarAccess+PerformSel.m
o changes in -getIVarNamed: and in setIVarNamed:withValue: (use of sel+imp, tests on parameters)
* GSWAdaptors/common/GSWHTTPResponse.c: change in GSWHTTPResponse_GetResponse()
o debug traces removed
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gsweb/trunk@11251 72102866-910b-0410-8b05-ffd578937521
2001-10-26 08:50:52 +00:00
|
|
|
|
2000-10-04 22:19:43 +00:00
|
|
|
LOGObjectFnStop();
|
2000-01-22 12:49:49 +00:00
|
|
|
};
|
|
|
|
|
2000-10-04 22:19:43 +00:00
|
|
|
-(void)_setUpForNewDataSource
|
2000-01-22 12:49:49 +00:00
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
LOGObjectFnStart();
|
|
|
|
// call [_dataSource editingContext];
|
|
|
|
//Finished ?
|
|
|
|
LOGObjectFnStop();
|
2000-01-22 12:49:49 +00:00
|
|
|
};
|
2000-10-04 22:19:43 +00:00
|
|
|
|
|
|
|
-(void)encodeWithKeyValueArchiver:(id)object_
|
2000-01-22 12:49:49 +00:00
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
LOGObjectFnStart();
|
|
|
|
LOGObjectFnNotImplemented(); //TODOFN
|
|
|
|
LOGObjectFnStop();
|
2000-01-22 12:49:49 +00:00
|
|
|
};
|
|
|
|
|
2000-10-04 22:19:43 +00:00
|
|
|
-(void)_presentAlertWithTitle:(id)title
|
|
|
|
message:(id)msg
|
2000-01-22 12:49:49 +00:00
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
LOGObjectFnStart();
|
|
|
|
LOGObjectFnNotImplemented(); //TODOFN
|
|
|
|
LOGObjectFnStop();
|
2000-01-22 12:49:49 +00:00
|
|
|
};
|
|
|
|
|
2000-10-04 22:19:43 +00:00
|
|
|
-(void)_addQualifiersToArray:(id)array_
|
|
|
|
forValues:(id)values_
|
|
|
|
operatorSelector:(SEL)selector_
|
2000-01-22 12:49:49 +00:00
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
LOGObjectFnStart();
|
|
|
|
LOGObjectFnNotImplemented(); //TODOFN
|
|
|
|
LOGObjectFnStop();
|
2000-01-22 12:49:49 +00:00
|
|
|
};
|
|
|
|
|
2000-10-04 22:19:43 +00:00
|
|
|
-(id)_qualifierForKey:(id)key
|
|
|
|
value:(id)value
|
|
|
|
operatorSelector:(SEL)selector_
|
2000-01-22 12:49:49 +00:00
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
LOGObjectFnNotImplemented(); //TODOFN
|
|
|
|
return nil;
|
2000-01-22 12:49:49 +00:00
|
|
|
};
|
|
|
|
|
2000-10-04 22:19:43 +00:00
|
|
|
-(BOOL)_deleteObjectsAtIndexes:(id)indexes_
|
2000-01-22 12:49:49 +00:00
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
LOGObjectFnStart();
|
|
|
|
LOGObjectFnNotImplemented(); //TODOFN
|
|
|
|
LOGObjectFnStop();
|
|
|
|
return NO;
|
2000-01-22 12:49:49 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
|
2000-10-04 22:19:43 +00:00
|
|
|
-(BOOL)_deleteObject:(id)object_
|
2000-01-22 12:49:49 +00:00
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
LOGObjectFnStart();
|
|
|
|
LOGObjectFnNotImplemented(); //TODOFN
|
|
|
|
LOGObjectFnStop();
|
|
|
|
return NO;
|
2000-01-22 12:49:49 +00:00
|
|
|
};
|
|
|
|
|
2000-10-04 22:19:43 +00:00
|
|
|
-(int)_selectionIndex
|
2000-01-22 12:49:49 +00:00
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
LOGObjectFnStart();
|
|
|
|
LOGObjectFnNotImplemented(); //TODOFN
|
|
|
|
LOGObjectFnStop();
|
|
|
|
return 0;
|
2000-01-22 12:49:49 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
|
2000-10-04 22:19:43 +00:00
|
|
|
-(void)_lastObserverNotified:(id)object_
|
2000-01-22 12:49:49 +00:00
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
LOGObjectFnStart();
|
|
|
|
LOGObjectFnNotImplemented(); //TODOFN
|
|
|
|
LOGObjectFnStop();
|
2000-01-22 12:49:49 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
|
2000-10-04 22:19:43 +00:00
|
|
|
-(void)_beginObserverNotification:(id)object_
|
2000-01-22 12:49:49 +00:00
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
LOGObjectFnStart();
|
|
|
|
LOGObjectFnNotImplemented(); //TODOFN
|
|
|
|
LOGObjectFnStop();
|
2000-01-22 12:49:49 +00:00
|
|
|
};
|
|
|
|
|
2000-10-04 22:19:43 +00:00
|
|
|
-(void)_notifySelectionChanged
|
2000-01-22 12:49:49 +00:00
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
LOGObjectFnStart();
|
|
|
|
LOGObjectFnNotImplemented(); //TODOFN
|
|
|
|
LOGObjectFnStop();
|
2000-01-22 12:49:49 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
2000-10-04 22:19:43 +00:00
|
|
|
-(void)_notifyRowChanged:(int)row_
|
2000-01-22 12:49:49 +00:00
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
LOGObjectFnStart();
|
|
|
|
LOGObjectFnNotImplemented(); //TODOFN
|
|
|
|
LOGObjectFnStop();
|
2000-01-22 12:49:49 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
2000-10-04 22:19:43 +00:00
|
|
|
-(id)_notify:(SEL)selector_
|
|
|
|
with:(id)object1
|
|
|
|
with:(id)object2
|
2000-01-22 12:49:49 +00:00
|
|
|
|
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
LOGObjectFnStart();
|
|
|
|
LOGObjectFnNotImplemented(); //TODOFN
|
|
|
|
LOGObjectFnStop();
|
|
|
|
return nil;
|
2000-01-22 12:49:49 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
|
2000-10-04 22:19:43 +00:00
|
|
|
-(id)_notify:(SEL)selector_
|
|
|
|
with:(id)object_
|
2000-01-22 12:49:49 +00:00
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
LOGObjectFnStart();
|
|
|
|
LOGObjectFnNotImplemented(); //TODOFN
|
|
|
|
LOGObjectFnStop();
|
|
|
|
return nil;
|
2000-01-22 12:49:49 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
|
2000-10-04 22:19:43 +00:00
|
|
|
-(id)undoManager
|
2000-01-22 12:49:49 +00:00
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
LOGObjectFnStart();
|
|
|
|
LOGObjectFnNotImplemented(); //TODOFN
|
|
|
|
LOGObjectFnStop();
|
|
|
|
return nil;
|
2000-01-22 12:49:49 +00:00
|
|
|
};
|
|
|
|
|
2000-10-04 22:19:43 +00:00
|
|
|
-(void)objectsInvalidatedInEditingContext:(id)object_
|
2000-01-22 12:49:49 +00:00
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
LOGObjectFnStart();
|
|
|
|
LOGObjectFnNotImplemented(); //TODOFN
|
|
|
|
LOGObjectFnStop();
|
2000-01-22 12:49:49 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
|
2000-10-04 22:19:43 +00:00
|
|
|
-(void)objectsChangedInEditingContext:(id)object_
|
2000-01-22 12:49:49 +00:00
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
LOGObjectFnStart();
|
|
|
|
LOGObjectFnNotImplemented(); //TODOFN
|
|
|
|
LOGObjectFnStop();
|
2000-01-22 12:49:49 +00:00
|
|
|
};
|
|
|
|
|
2000-07-27 21:53:39 +00:00
|
|
|
|
2000-10-04 22:19:43 +00:00
|
|
|
-(void)_changedInEditingContext:(NSNotification *)notification
|
2000-07-27 21:53:39 +00:00
|
|
|
{
|
|
|
|
BOOL redisplay = YES;
|
2000-10-04 22:19:43 +00:00
|
|
|
LOGObjectFnStart();
|
2000-07-27 21:53:39 +00:00
|
|
|
|
2000-10-04 22:19:43 +00:00
|
|
|
if(_delegateRespondsTo.shouldRedisplay == YES)
|
2001-10-25 Manuel Guesdon <mguesdon@orange-concept.com>
Applied patch from Turbocat (www.turbocat.de): GSWPatch_04-JUL_2001.diff
except GSWeb.framework/GSWInput.m/.h one (have to verify coherence of it)
* GSWAdaptors/common/GSWApp.c/.h: Added GSWAppInfo
* GSWAdaptors/common/GSWAppConnectNSSocket.c: Changes on includes
* GSWAdaptors/common/GSWLoadBalancing.h: Added parameter to GSWLoadBalancing_Find*
* GSWAdaptors/common/GSWLoadBalancing.c: added p_pURLComponents parameter,
o management of AppInfo
* GSWAdaptors/common/GSWAppRequest.c: managing refused connections
* GSWExtensions.framework/GSWStatsPage.gswc/GSWStatsPage.gswd: misspelling correction
* GSWExtensions.framework/GSWStatsPage.gswc/GSWStatsPage.html: Various Changes
* GSWExtensions.framework/GSWStatsPage.m: changes in login/password validation
o -awake added
* GSWeb.framework/GSWApplication.m/.h: Manage refusing new sessions
* GSWeb.framework/GSWBundle.m: debug traces commented
* GSWeb.framework/GSWComponent.m: implementation of ensureAwakeInContext:
* GSWeb.framework/GSWAssociation.m: special case for returned value of type GSMutableArray (Why ?)
* GSWeb.framework/GSWComponentRequestHandler.m: comments added
* GSWeb.framework/GSWDefaultAdaptorThread.m: added debug traces
* GSWeb.framework/GSWDirectActionRequestHandler.m: replaced GSWDirectAction by DirectAction
* GSWeb.framework/GSWDisplayGroup.m: initialize _baseIndex,
o correct misspelled names,
o added -description,
o use delegate in _changedInEditingContext:, _invalidatedAllObjectsInStore:,
o changes in -deleteObjectAtIndex:,
* GSWeb.framework/GSWFileUpload.m: different handling of _fileDatasCount,
handle bug in omniweb-browser
* GSWeb.framework/GSWHyperlink.m: added ensureAwakeInContext: call
* GSWeb.framework/GSWImageButton.m: added ensureAwakeInContext: call
* GSWeb.framework/GSWPopUpButton.m:
o use [response_ appendContentString:_noSelectionStringValue] instead of
[response_ appendContentHTMLString:_noSelectionStringValue]
o handle no displayString case
o use [response_ appendContentString:_displayStringValue] instead of
[response_ appendContentHTMLString:_displayStringValue]
* GSWeb.framework/GSWConfig.h: set GSWOPTVALUE_AutoOpenInBrowser to NO
* GSWeb.framework/GSWElementIDString.m: comment some debug traces
* GSWeb.framework/GSWHTMLStaticGroup.m/.h: added support of documentType
* GSWeb.framework/GSWHTMLURLValuedElement.m: addeded debug trace
* GSWeb.framework/GSWKeyValueAssociation.m: use NSStringFromClass([retValue class])
instead of [retValue class] for log
* GSWeb.framework/GSWRequest.m/.h: added -(NSDictionary*)headers;
o added test on _contentType in _contentType
o autorelease _dict in -uriElements
* GSWeb.framework/GSWResponse.m/.h: added -setHeaders: and -headers
o Added GSWResponse (GSWResponseRefused)
o return self in -generateResponse
* GSWeb.framework/GSWServerSessionStore.m/.h: added @interface GSWServerSessionStore (GSWServerSessionStoreInfo)
o added refusing session management
* GSWeb.framework/GSWSession.m:
o in -terminate forces to call removeSessionWithID in GSWServerSessionStore to dealloc it
* GSWeb.framework/GSWSessionTimeOutManager.m/.h: replace NSMutableOrderedArray* sessionOrderedTimeOuts;
by NSMutableArray* sessionOrderedTimeOuts;
o added traces
o added GSWSessionTimeOutManager (GSWSessionRefused)
* GSWeb.framework/GSWSubmitButton.m: raise exception if no element is returned
* GSWeb.framework/GSWTemplateParser.m: added doctype management
* GSWeb.framework/GSWUtils.h: added if defined for __NetBSD__
* GSWeb.framework/GSWWOCompatibility.m/.h: added WOGenericContainer, WOImageButton, WOHyperlink
* GSWeb.framework/attach.m: added if defined for __NetBSD__
* GSWeb.framework/stacktrace.m: added if defined for __NetBSD__
* GSWeb.framework/GSWTemplateParserXML.m: traces commented
o test XML node content before adding it
* GSWeb.framework/NSObject+IVarAccess+PerformSel.m
o changes in -getIVarNamed: and in setIVarNamed:withValue: (use of sel+imp, tests on parameters)
* GSWAdaptors/common/GSWHTTPResponse.c: change in GSWHTTPResponse_GetResponse()
o debug traces removed
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gsweb/trunk@11251 72102866-910b-0410-8b05-ffd578937521
2001-10-26 08:50:52 +00:00
|
|
|
redisplay = [delegate displayGroup:self
|
2000-07-27 21:53:39 +00:00
|
|
|
shouldRedisplayForEditingContextChangeNotification:notification];
|
|
|
|
|
|
|
|
if(redisplay == YES)
|
|
|
|
[self redisplay];
|
2000-10-04 22:19:43 +00:00
|
|
|
LOGObjectFnStop();
|
2000-07-27 21:53:39 +00:00
|
|
|
}
|
|
|
|
|
2000-10-04 22:19:43 +00:00
|
|
|
-(void)_invalidatedAllObjectsInStore:(NSNotification *)notification
|
2000-07-27 21:53:39 +00:00
|
|
|
{
|
|
|
|
BOOL refetch = YES;
|
2000-10-04 22:19:43 +00:00
|
|
|
LOGObjectFnStart();
|
2000-07-27 21:53:39 +00:00
|
|
|
|
2000-10-04 22:19:43 +00:00
|
|
|
if(_delegateRespondsTo.shouldRefetchObjects == YES)
|
2001-10-25 Manuel Guesdon <mguesdon@orange-concept.com>
Applied patch from Turbocat (www.turbocat.de): GSWPatch_04-JUL_2001.diff
except GSWeb.framework/GSWInput.m/.h one (have to verify coherence of it)
* GSWAdaptors/common/GSWApp.c/.h: Added GSWAppInfo
* GSWAdaptors/common/GSWAppConnectNSSocket.c: Changes on includes
* GSWAdaptors/common/GSWLoadBalancing.h: Added parameter to GSWLoadBalancing_Find*
* GSWAdaptors/common/GSWLoadBalancing.c: added p_pURLComponents parameter,
o management of AppInfo
* GSWAdaptors/common/GSWAppRequest.c: managing refused connections
* GSWExtensions.framework/GSWStatsPage.gswc/GSWStatsPage.gswd: misspelling correction
* GSWExtensions.framework/GSWStatsPage.gswc/GSWStatsPage.html: Various Changes
* GSWExtensions.framework/GSWStatsPage.m: changes in login/password validation
o -awake added
* GSWeb.framework/GSWApplication.m/.h: Manage refusing new sessions
* GSWeb.framework/GSWBundle.m: debug traces commented
* GSWeb.framework/GSWComponent.m: implementation of ensureAwakeInContext:
* GSWeb.framework/GSWAssociation.m: special case for returned value of type GSMutableArray (Why ?)
* GSWeb.framework/GSWComponentRequestHandler.m: comments added
* GSWeb.framework/GSWDefaultAdaptorThread.m: added debug traces
* GSWeb.framework/GSWDirectActionRequestHandler.m: replaced GSWDirectAction by DirectAction
* GSWeb.framework/GSWDisplayGroup.m: initialize _baseIndex,
o correct misspelled names,
o added -description,
o use delegate in _changedInEditingContext:, _invalidatedAllObjectsInStore:,
o changes in -deleteObjectAtIndex:,
* GSWeb.framework/GSWFileUpload.m: different handling of _fileDatasCount,
handle bug in omniweb-browser
* GSWeb.framework/GSWHyperlink.m: added ensureAwakeInContext: call
* GSWeb.framework/GSWImageButton.m: added ensureAwakeInContext: call
* GSWeb.framework/GSWPopUpButton.m:
o use [response_ appendContentString:_noSelectionStringValue] instead of
[response_ appendContentHTMLString:_noSelectionStringValue]
o handle no displayString case
o use [response_ appendContentString:_displayStringValue] instead of
[response_ appendContentHTMLString:_displayStringValue]
* GSWeb.framework/GSWConfig.h: set GSWOPTVALUE_AutoOpenInBrowser to NO
* GSWeb.framework/GSWElementIDString.m: comment some debug traces
* GSWeb.framework/GSWHTMLStaticGroup.m/.h: added support of documentType
* GSWeb.framework/GSWHTMLURLValuedElement.m: addeded debug trace
* GSWeb.framework/GSWKeyValueAssociation.m: use NSStringFromClass([retValue class])
instead of [retValue class] for log
* GSWeb.framework/GSWRequest.m/.h: added -(NSDictionary*)headers;
o added test on _contentType in _contentType
o autorelease _dict in -uriElements
* GSWeb.framework/GSWResponse.m/.h: added -setHeaders: and -headers
o Added GSWResponse (GSWResponseRefused)
o return self in -generateResponse
* GSWeb.framework/GSWServerSessionStore.m/.h: added @interface GSWServerSessionStore (GSWServerSessionStoreInfo)
o added refusing session management
* GSWeb.framework/GSWSession.m:
o in -terminate forces to call removeSessionWithID in GSWServerSessionStore to dealloc it
* GSWeb.framework/GSWSessionTimeOutManager.m/.h: replace NSMutableOrderedArray* sessionOrderedTimeOuts;
by NSMutableArray* sessionOrderedTimeOuts;
o added traces
o added GSWSessionTimeOutManager (GSWSessionRefused)
* GSWeb.framework/GSWSubmitButton.m: raise exception if no element is returned
* GSWeb.framework/GSWTemplateParser.m: added doctype management
* GSWeb.framework/GSWUtils.h: added if defined for __NetBSD__
* GSWeb.framework/GSWWOCompatibility.m/.h: added WOGenericContainer, WOImageButton, WOHyperlink
* GSWeb.framework/attach.m: added if defined for __NetBSD__
* GSWeb.framework/stacktrace.m: added if defined for __NetBSD__
* GSWeb.framework/GSWTemplateParserXML.m: traces commented
o test XML node content before adding it
* GSWeb.framework/NSObject+IVarAccess+PerformSel.m
o changes in -getIVarNamed: and in setIVarNamed:withValue: (use of sel+imp, tests on parameters)
* GSWAdaptors/common/GSWHTTPResponse.c: change in GSWHTTPResponse_GetResponse()
o debug traces removed
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gsweb/trunk@11251 72102866-910b-0410-8b05-ffd578937521
2001-10-26 08:50:52 +00:00
|
|
|
refetch = [delegate displayGroup:self
|
2000-07-27 21:53:39 +00:00
|
|
|
shouldRefetchForInvalidatedAllObjectsNotification:
|
|
|
|
notification];
|
|
|
|
|
|
|
|
if(refetch == YES)
|
|
|
|
[self fetch];
|
2000-10-04 22:19:43 +00:00
|
|
|
LOGObjectFnStop();
|
2000-07-27 21:53:39 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
//--------------------------------------------------------------------
|
|
|
|
- (void)dealloc
|
|
|
|
{
|
|
|
|
[[NSNotificationCenter defaultCenter] removeObserver:self];
|
|
|
|
|
|
|
|
delegate = nil;
|
|
|
|
|
2000-10-04 22:19:43 +00:00
|
|
|
DESTROY(_dataSource);
|
2000-07-27 21:53:39 +00:00
|
|
|
|
2000-10-04 22:19:43 +00:00
|
|
|
DESTROY(_allObjects);
|
|
|
|
DESTROY(_displayedObjects);
|
|
|
|
DESTROY(_selection);
|
|
|
|
DESTROY(_selectedObjects);
|
|
|
|
DESTROY(_sortOrdering);
|
|
|
|
DESTROY(_qualifier);
|
|
|
|
DESTROY(_localKeys);
|
2000-07-27 21:53:39 +00:00
|
|
|
|
2000-10-04 22:19:43 +00:00
|
|
|
DESTROY(_insertedObjectDefaultValues);
|
|
|
|
DESTROY(_savedAllObjects);
|
2000-07-27 21:53:39 +00:00
|
|
|
|
2000-10-04 22:19:43 +00:00
|
|
|
DESTROY(_queryMatch);
|
|
|
|
DESTROY(_queryMin);
|
|
|
|
DESTROY(_queryMax);
|
|
|
|
DESTROY(_queryOperator);
|
2000-07-27 21:53:39 +00:00
|
|
|
|
2000-10-04 22:19:43 +00:00
|
|
|
DESTROY(_defaultStringMatchOperator);
|
|
|
|
DESTROY(_defaultStringMatchFormat);
|
2000-07-27 21:53:39 +00:00
|
|
|
|
2000-10-04 22:19:43 +00:00
|
|
|
DESTROY(_queryBindings);
|
2000-07-27 21:53:39 +00:00
|
|
|
|
|
|
|
[super dealloc];
|
|
|
|
}
|
|
|
|
|
|
|
|
//--------------------------------------------------------------------
|
|
|
|
// allObjects
|
|
|
|
|
|
|
|
- (NSArray *)allObjects
|
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
return _allObjects;
|
2000-07-27 21:53:39 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
//--------------------------------------------------------------------
|
|
|
|
// allQualifierOperators
|
|
|
|
|
|
|
|
- (NSArray *)allQualifierOperators
|
|
|
|
{
|
|
|
|
return [EOQualifier allQualifierOperators];
|
|
|
|
}
|
|
|
|
|
|
|
|
//--------------------------------------------------------------------
|
|
|
|
// batchCount
|
|
|
|
|
|
|
|
- (unsigned)batchCount
|
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
unsigned batchCount=0;
|
|
|
|
unsigned count=0;
|
|
|
|
LOGObjectFnStart();
|
2000-08-13 14:22:02 +00:00
|
|
|
|
2000-10-04 22:19:43 +00:00
|
|
|
if(!_numberOfObjectsPerBatch)
|
|
|
|
batchCount=1;
|
|
|
|
else
|
|
|
|
{
|
|
|
|
count = [_allObjects count];
|
|
|
|
if(!count)
|
|
|
|
batchCount=1;
|
|
|
|
else
|
|
|
|
batchCount=(count / _numberOfObjectsPerBatch) +
|
|
|
|
(count % _numberOfObjectsPerBatch ? 1 : 0);
|
|
|
|
};
|
|
|
|
LOGObjectFnStop();
|
|
|
|
return batchCount;
|
2000-07-27 21:53:39 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
//--------------------------------------------------------------------
|
|
|
|
// buildsQualifierFromInput
|
|
|
|
|
|
|
|
-(BOOL)buildsQualifierFromInput
|
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
LOGObjectFnStart();
|
|
|
|
LOGObjectFnNotImplemented(); //TODOFN
|
|
|
|
LOGObjectFnStop();
|
|
|
|
return NO;
|
2000-07-27 21:53:39 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
//--------------------------------------------------------------------
|
|
|
|
// clearSelection
|
|
|
|
|
|
|
|
- (BOOL)clearSelection
|
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
BOOL result=NO;
|
|
|
|
LOGObjectFnStart();
|
|
|
|
result=[self setSelectionIndexes:[NSArray array]];
|
|
|
|
LOGObjectFnStop();
|
|
|
|
return result;
|
2000-07-27 21:53:39 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
//--------------------------------------------------------------------
|
|
|
|
// currentBatchIndex
|
|
|
|
|
|
|
|
- (unsigned)currentBatchIndex
|
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
return _batchIndex;
|
2000-07-27 21:53:39 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
//--------------------------------------------------------------------
|
|
|
|
// dataSource
|
|
|
|
|
|
|
|
- (EODataSource *)dataSource
|
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
return _dataSource;
|
2000-07-27 21:53:39 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
//--------------------------------------------------------------------
|
|
|
|
// setDataSource:
|
|
|
|
|
|
|
|
- (void)setDataSource:(EODataSource *)dataSource_
|
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
EOEditingContext *context=nil;
|
|
|
|
LOGObjectFnStart();
|
2000-07-27 21:53:39 +00:00
|
|
|
|
2000-10-04 22:19:43 +00:00
|
|
|
if(_dataSource)
|
2000-07-27 21:53:39 +00:00
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
context = [_dataSource editingContext];
|
2000-07-27 21:53:39 +00:00
|
|
|
[context removeEditor:self];
|
|
|
|
if([self isEqual:[context messageHandler]] == YES)
|
|
|
|
[context setMessageHandler:nil];
|
|
|
|
}
|
|
|
|
|
2000-10-04 22:19:43 +00:00
|
|
|
ASSIGN(_dataSource, dataSource_);
|
2000-07-27 21:53:39 +00:00
|
|
|
|
2000-10-04 22:19:43 +00:00
|
|
|
context = [_dataSource editingContext];
|
2000-07-27 21:53:39 +00:00
|
|
|
[context addEditor:self];
|
|
|
|
if([context messageHandler] == nil)
|
|
|
|
[context setMessageHandler:self];
|
|
|
|
|
2000-10-04 22:19:43 +00:00
|
|
|
[_displayedObjects removeAllObjects];
|
2000-07-27 21:53:39 +00:00
|
|
|
|
2000-10-04 22:19:43 +00:00
|
|
|
if(_delegateRespondsTo.didChangeDataSource == YES)
|
2000-07-27 21:53:39 +00:00
|
|
|
[delegate displayGroupDidChangeDataSource:self];
|
2000-10-04 22:19:43 +00:00
|
|
|
LOGObjectFnStop();
|
2000-07-27 21:53:39 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
//--------------------------------------------------------------------
|
|
|
|
// defaultStringMatchFormat
|
|
|
|
|
|
|
|
- (NSString *)defaultStringMatchFormat
|
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
return _defaultStringMatchFormat;
|
2000-07-27 21:53:39 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
//--------------------------------------------------------------------
|
|
|
|
// defaultStringMatchOperator
|
|
|
|
|
|
|
|
- (NSString *)defaultStringMatchOperator
|
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
return _defaultStringMatchOperator;
|
2000-07-27 21:53:39 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
//--------------------------------------------------------------------
|
|
|
|
// delegate
|
|
|
|
|
|
|
|
- (id)delegate
|
|
|
|
{
|
|
|
|
return delegate;
|
|
|
|
}
|
|
|
|
|
|
|
|
//--------------------------------------------------------------------
|
|
|
|
// setDelegate:
|
|
|
|
|
|
|
|
- (void)setDelegate:(id)delegate_
|
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
LOGObjectFnStart();
|
2000-07-27 21:53:39 +00:00
|
|
|
delegate = delegate_;
|
|
|
|
|
2000-10-04 22:19:43 +00:00
|
|
|
_delegateRespondsTo.createObjectFailed =
|
2000-07-27 21:53:39 +00:00
|
|
|
[delegate respondsToSelector:@selector(displayGroup:createObjectFailedForDataSource:)];
|
2000-10-04 22:19:43 +00:00
|
|
|
_delegateRespondsTo.didDeleteObject =
|
2000-07-27 21:53:39 +00:00
|
|
|
[delegate respondsToSelector:@selector(displayGroup:didDeleteObject:)];
|
2000-10-04 22:19:43 +00:00
|
|
|
_delegateRespondsTo.didFetchObjects =
|
2000-07-27 21:53:39 +00:00
|
|
|
[delegate respondsToSelector:@selector(displayGroup:didFetchObjects:)];
|
2000-10-04 22:19:43 +00:00
|
|
|
_delegateRespondsTo.didInsertObject =
|
2000-07-27 21:53:39 +00:00
|
|
|
[delegate respondsToSelector:@selector(displayGroup:didInsertObject:)];
|
2000-10-04 22:19:43 +00:00
|
|
|
_delegateRespondsTo.didSetValueForObject =
|
2000-07-27 21:53:39 +00:00
|
|
|
[delegate respondsToSelector:@selector(displayGroup:didSetValue:forObject:key:)];
|
2000-10-04 22:19:43 +00:00
|
|
|
_delegateRespondsTo.displayArrayForObjects =
|
2000-07-27 21:53:39 +00:00
|
|
|
[delegate respondsToSelector:@selector(displayGroup:displayArrayForObjects:)];
|
2000-10-04 22:19:43 +00:00
|
|
|
_delegateRespondsTo.shouldChangeSelection =
|
2000-07-27 21:53:39 +00:00
|
|
|
[delegate respondsToSelector:@selector(displayGroup:shouldChangeSelectionToIndexes:)];
|
2000-10-04 22:19:43 +00:00
|
|
|
_delegateRespondsTo.shouldInsertObject =
|
2000-07-27 21:53:39 +00:00
|
|
|
[delegate respondsToSelector:@selector(displayGroup:shouldInsertObject:atIndex:)];
|
2000-10-04 22:19:43 +00:00
|
|
|
_delegateRespondsTo.shouldDeleteObject =
|
2000-07-27 21:53:39 +00:00
|
|
|
[delegate respondsToSelector:@selector(displayGroup:shouldDeleteObject:)];
|
2000-10-04 22:19:43 +00:00
|
|
|
_delegateRespondsTo.shouldRedisplay =
|
2000-07-27 21:53:39 +00:00
|
|
|
[delegate respondsToSelector:@selector(displayGroup:shouldRedisplayForEditingContextChangeNotification:)];
|
2000-10-04 22:19:43 +00:00
|
|
|
_delegateRespondsTo.shouldRefetchObjects =
|
2000-07-27 21:53:39 +00:00
|
|
|
[delegate respondsToSelector:@selector(displayGroup:shouldRefetchForInvalidatedAllObjectsNotification:)];
|
2000-10-04 22:19:43 +00:00
|
|
|
_delegateRespondsTo.didChangeDataSource =
|
2000-07-27 21:53:39 +00:00
|
|
|
[delegate respondsToSelector:@selector(displayGroupDidChangeDataSource:)];
|
2000-10-04 22:19:43 +00:00
|
|
|
_delegateRespondsTo.didChangeSelectedObjects =
|
2000-07-27 21:53:39 +00:00
|
|
|
[delegate respondsToSelector:@selector(displayGroupDidChangeSelectedObjects:)];
|
2000-10-04 22:19:43 +00:00
|
|
|
_delegateRespondsTo.didChangeSelection =
|
2000-07-27 21:53:39 +00:00
|
|
|
[delegate respondsToSelector:@selector(displayGroupDidChangeSelection:)];
|
2000-10-04 22:19:43 +00:00
|
|
|
_delegateRespondsTo.shouldFetchObjects =
|
2000-07-27 21:53:39 +00:00
|
|
|
[delegate respondsToSelector:@selector(displayGroupShouldFetch:)];
|
2000-10-04 22:19:43 +00:00
|
|
|
LOGObjectFnStop();
|
2000-07-27 21:53:39 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
//--------------------------------------------------------------------
|
|
|
|
// delete
|
|
|
|
|
|
|
|
- (id)delete
|
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
LOGObjectFnStart();
|
2000-07-27 21:53:39 +00:00
|
|
|
[self deleteSelection];
|
2000-10-04 22:19:43 +00:00
|
|
|
LOGObjectFnStop();
|
|
|
|
return nil;//FIXME
|
2000-07-27 21:53:39 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
//--------------------------------------------------------------------
|
|
|
|
// deleteObjectAtIndex:
|
|
|
|
|
|
|
|
- (BOOL)deleteObjectAtIndex:(unsigned)index
|
|
|
|
{
|
|
|
|
BOOL delete = YES;
|
2000-10-04 22:19:43 +00:00
|
|
|
id object=nil;
|
|
|
|
LOGObjectFnStart();
|
2000-07-27 21:53:39 +00:00
|
|
|
|
2000-10-04 22:19:43 +00:00
|
|
|
object = [_allObjects objectAtIndex:index];
|
2000-07-27 21:53:39 +00:00
|
|
|
|
2000-10-04 22:19:43 +00:00
|
|
|
if(_delegateRespondsTo.shouldDeleteObject == YES)
|
2001-10-25 Manuel Guesdon <mguesdon@orange-concept.com>
Applied patch from Turbocat (www.turbocat.de): GSWPatch_04-JUL_2001.diff
except GSWeb.framework/GSWInput.m/.h one (have to verify coherence of it)
* GSWAdaptors/common/GSWApp.c/.h: Added GSWAppInfo
* GSWAdaptors/common/GSWAppConnectNSSocket.c: Changes on includes
* GSWAdaptors/common/GSWLoadBalancing.h: Added parameter to GSWLoadBalancing_Find*
* GSWAdaptors/common/GSWLoadBalancing.c: added p_pURLComponents parameter,
o management of AppInfo
* GSWAdaptors/common/GSWAppRequest.c: managing refused connections
* GSWExtensions.framework/GSWStatsPage.gswc/GSWStatsPage.gswd: misspelling correction
* GSWExtensions.framework/GSWStatsPage.gswc/GSWStatsPage.html: Various Changes
* GSWExtensions.framework/GSWStatsPage.m: changes in login/password validation
o -awake added
* GSWeb.framework/GSWApplication.m/.h: Manage refusing new sessions
* GSWeb.framework/GSWBundle.m: debug traces commented
* GSWeb.framework/GSWComponent.m: implementation of ensureAwakeInContext:
* GSWeb.framework/GSWAssociation.m: special case for returned value of type GSMutableArray (Why ?)
* GSWeb.framework/GSWComponentRequestHandler.m: comments added
* GSWeb.framework/GSWDefaultAdaptorThread.m: added debug traces
* GSWeb.framework/GSWDirectActionRequestHandler.m: replaced GSWDirectAction by DirectAction
* GSWeb.framework/GSWDisplayGroup.m: initialize _baseIndex,
o correct misspelled names,
o added -description,
o use delegate in _changedInEditingContext:, _invalidatedAllObjectsInStore:,
o changes in -deleteObjectAtIndex:,
* GSWeb.framework/GSWFileUpload.m: different handling of _fileDatasCount,
handle bug in omniweb-browser
* GSWeb.framework/GSWHyperlink.m: added ensureAwakeInContext: call
* GSWeb.framework/GSWImageButton.m: added ensureAwakeInContext: call
* GSWeb.framework/GSWPopUpButton.m:
o use [response_ appendContentString:_noSelectionStringValue] instead of
[response_ appendContentHTMLString:_noSelectionStringValue]
o handle no displayString case
o use [response_ appendContentString:_displayStringValue] instead of
[response_ appendContentHTMLString:_displayStringValue]
* GSWeb.framework/GSWConfig.h: set GSWOPTVALUE_AutoOpenInBrowser to NO
* GSWeb.framework/GSWElementIDString.m: comment some debug traces
* GSWeb.framework/GSWHTMLStaticGroup.m/.h: added support of documentType
* GSWeb.framework/GSWHTMLURLValuedElement.m: addeded debug trace
* GSWeb.framework/GSWKeyValueAssociation.m: use NSStringFromClass([retValue class])
instead of [retValue class] for log
* GSWeb.framework/GSWRequest.m/.h: added -(NSDictionary*)headers;
o added test on _contentType in _contentType
o autorelease _dict in -uriElements
* GSWeb.framework/GSWResponse.m/.h: added -setHeaders: and -headers
o Added GSWResponse (GSWResponseRefused)
o return self in -generateResponse
* GSWeb.framework/GSWServerSessionStore.m/.h: added @interface GSWServerSessionStore (GSWServerSessionStoreInfo)
o added refusing session management
* GSWeb.framework/GSWSession.m:
o in -terminate forces to call removeSessionWithID in GSWServerSessionStore to dealloc it
* GSWeb.framework/GSWSessionTimeOutManager.m/.h: replace NSMutableOrderedArray* sessionOrderedTimeOuts;
by NSMutableArray* sessionOrderedTimeOuts;
o added traces
o added GSWSessionTimeOutManager (GSWSessionRefused)
* GSWeb.framework/GSWSubmitButton.m: raise exception if no element is returned
* GSWeb.framework/GSWTemplateParser.m: added doctype management
* GSWeb.framework/GSWUtils.h: added if defined for __NetBSD__
* GSWeb.framework/GSWWOCompatibility.m/.h: added WOGenericContainer, WOImageButton, WOHyperlink
* GSWeb.framework/attach.m: added if defined for __NetBSD__
* GSWeb.framework/stacktrace.m: added if defined for __NetBSD__
* GSWeb.framework/GSWTemplateParserXML.m: traces commented
o test XML node content before adding it
* GSWeb.framework/NSObject+IVarAccess+PerformSel.m
o changes in -getIVarNamed: and in setIVarNamed:withValue: (use of sel+imp, tests on parameters)
* GSWAdaptors/common/GSWHTTPResponse.c: change in GSWHTTPResponse_GetResponse()
o debug traces removed
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gsweb/trunk@11251 72102866-910b-0410-8b05-ffd578937521
2001-10-26 08:50:52 +00:00
|
|
|
delete = [delegate displayGroup:self shouldDeleteObject:object];
|
2000-07-27 21:53:39 +00:00
|
|
|
|
2000-10-04 22:19:43 +00:00
|
|
|
if(delete)
|
|
|
|
{
|
2001-10-25 Manuel Guesdon <mguesdon@orange-concept.com>
Applied patch from Turbocat (www.turbocat.de): GSWPatch_04-JUL_2001.diff
except GSWeb.framework/GSWInput.m/.h one (have to verify coherence of it)
* GSWAdaptors/common/GSWApp.c/.h: Added GSWAppInfo
* GSWAdaptors/common/GSWAppConnectNSSocket.c: Changes on includes
* GSWAdaptors/common/GSWLoadBalancing.h: Added parameter to GSWLoadBalancing_Find*
* GSWAdaptors/common/GSWLoadBalancing.c: added p_pURLComponents parameter,
o management of AppInfo
* GSWAdaptors/common/GSWAppRequest.c: managing refused connections
* GSWExtensions.framework/GSWStatsPage.gswc/GSWStatsPage.gswd: misspelling correction
* GSWExtensions.framework/GSWStatsPage.gswc/GSWStatsPage.html: Various Changes
* GSWExtensions.framework/GSWStatsPage.m: changes in login/password validation
o -awake added
* GSWeb.framework/GSWApplication.m/.h: Manage refusing new sessions
* GSWeb.framework/GSWBundle.m: debug traces commented
* GSWeb.framework/GSWComponent.m: implementation of ensureAwakeInContext:
* GSWeb.framework/GSWAssociation.m: special case for returned value of type GSMutableArray (Why ?)
* GSWeb.framework/GSWComponentRequestHandler.m: comments added
* GSWeb.framework/GSWDefaultAdaptorThread.m: added debug traces
* GSWeb.framework/GSWDirectActionRequestHandler.m: replaced GSWDirectAction by DirectAction
* GSWeb.framework/GSWDisplayGroup.m: initialize _baseIndex,
o correct misspelled names,
o added -description,
o use delegate in _changedInEditingContext:, _invalidatedAllObjectsInStore:,
o changes in -deleteObjectAtIndex:,
* GSWeb.framework/GSWFileUpload.m: different handling of _fileDatasCount,
handle bug in omniweb-browser
* GSWeb.framework/GSWHyperlink.m: added ensureAwakeInContext: call
* GSWeb.framework/GSWImageButton.m: added ensureAwakeInContext: call
* GSWeb.framework/GSWPopUpButton.m:
o use [response_ appendContentString:_noSelectionStringValue] instead of
[response_ appendContentHTMLString:_noSelectionStringValue]
o handle no displayString case
o use [response_ appendContentString:_displayStringValue] instead of
[response_ appendContentHTMLString:_displayStringValue]
* GSWeb.framework/GSWConfig.h: set GSWOPTVALUE_AutoOpenInBrowser to NO
* GSWeb.framework/GSWElementIDString.m: comment some debug traces
* GSWeb.framework/GSWHTMLStaticGroup.m/.h: added support of documentType
* GSWeb.framework/GSWHTMLURLValuedElement.m: addeded debug trace
* GSWeb.framework/GSWKeyValueAssociation.m: use NSStringFromClass([retValue class])
instead of [retValue class] for log
* GSWeb.framework/GSWRequest.m/.h: added -(NSDictionary*)headers;
o added test on _contentType in _contentType
o autorelease _dict in -uriElements
* GSWeb.framework/GSWResponse.m/.h: added -setHeaders: and -headers
o Added GSWResponse (GSWResponseRefused)
o return self in -generateResponse
* GSWeb.framework/GSWServerSessionStore.m/.h: added @interface GSWServerSessionStore (GSWServerSessionStoreInfo)
o added refusing session management
* GSWeb.framework/GSWSession.m:
o in -terminate forces to call removeSessionWithID in GSWServerSessionStore to dealloc it
* GSWeb.framework/GSWSessionTimeOutManager.m/.h: replace NSMutableOrderedArray* sessionOrderedTimeOuts;
by NSMutableArray* sessionOrderedTimeOuts;
o added traces
o added GSWSessionTimeOutManager (GSWSessionRefused)
* GSWeb.framework/GSWSubmitButton.m: raise exception if no element is returned
* GSWeb.framework/GSWTemplateParser.m: added doctype management
* GSWeb.framework/GSWUtils.h: added if defined for __NetBSD__
* GSWeb.framework/GSWWOCompatibility.m/.h: added WOGenericContainer, WOImageButton, WOHyperlink
* GSWeb.framework/attach.m: added if defined for __NetBSD__
* GSWeb.framework/stacktrace.m: added if defined for __NetBSD__
* GSWeb.framework/GSWTemplateParserXML.m: traces commented
o test XML node content before adding it
* GSWeb.framework/NSObject+IVarAccess+PerformSel.m
o changes in -getIVarNamed: and in setIVarNamed:withValue: (use of sel+imp, tests on parameters)
* GSWAdaptors/common/GSWHTTPResponse.c: change in GSWHTTPResponse_GetResponse()
o debug traces removed
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gsweb/trunk@11251 72102866-910b-0410-8b05-ffd578937521
2001-10-26 08:50:52 +00:00
|
|
|
NS_DURING
|
|
|
|
{
|
|
|
|
[_dataSource deleteObject:object];
|
|
|
|
|
|
|
|
[_displayedObjects removeObjectIdenticalTo:object];
|
|
|
|
[_allObjects removeObjectIdenticalTo:object];
|
2000-10-04 22:19:43 +00:00
|
|
|
|
2001-10-25 Manuel Guesdon <mguesdon@orange-concept.com>
Applied patch from Turbocat (www.turbocat.de): GSWPatch_04-JUL_2001.diff
except GSWeb.framework/GSWInput.m/.h one (have to verify coherence of it)
* GSWAdaptors/common/GSWApp.c/.h: Added GSWAppInfo
* GSWAdaptors/common/GSWAppConnectNSSocket.c: Changes on includes
* GSWAdaptors/common/GSWLoadBalancing.h: Added parameter to GSWLoadBalancing_Find*
* GSWAdaptors/common/GSWLoadBalancing.c: added p_pURLComponents parameter,
o management of AppInfo
* GSWAdaptors/common/GSWAppRequest.c: managing refused connections
* GSWExtensions.framework/GSWStatsPage.gswc/GSWStatsPage.gswd: misspelling correction
* GSWExtensions.framework/GSWStatsPage.gswc/GSWStatsPage.html: Various Changes
* GSWExtensions.framework/GSWStatsPage.m: changes in login/password validation
o -awake added
* GSWeb.framework/GSWApplication.m/.h: Manage refusing new sessions
* GSWeb.framework/GSWBundle.m: debug traces commented
* GSWeb.framework/GSWComponent.m: implementation of ensureAwakeInContext:
* GSWeb.framework/GSWAssociation.m: special case for returned value of type GSMutableArray (Why ?)
* GSWeb.framework/GSWComponentRequestHandler.m: comments added
* GSWeb.framework/GSWDefaultAdaptorThread.m: added debug traces
* GSWeb.framework/GSWDirectActionRequestHandler.m: replaced GSWDirectAction by DirectAction
* GSWeb.framework/GSWDisplayGroup.m: initialize _baseIndex,
o correct misspelled names,
o added -description,
o use delegate in _changedInEditingContext:, _invalidatedAllObjectsInStore:,
o changes in -deleteObjectAtIndex:,
* GSWeb.framework/GSWFileUpload.m: different handling of _fileDatasCount,
handle bug in omniweb-browser
* GSWeb.framework/GSWHyperlink.m: added ensureAwakeInContext: call
* GSWeb.framework/GSWImageButton.m: added ensureAwakeInContext: call
* GSWeb.framework/GSWPopUpButton.m:
o use [response_ appendContentString:_noSelectionStringValue] instead of
[response_ appendContentHTMLString:_noSelectionStringValue]
o handle no displayString case
o use [response_ appendContentString:_displayStringValue] instead of
[response_ appendContentHTMLString:_displayStringValue]
* GSWeb.framework/GSWConfig.h: set GSWOPTVALUE_AutoOpenInBrowser to NO
* GSWeb.framework/GSWElementIDString.m: comment some debug traces
* GSWeb.framework/GSWHTMLStaticGroup.m/.h: added support of documentType
* GSWeb.framework/GSWHTMLURLValuedElement.m: addeded debug trace
* GSWeb.framework/GSWKeyValueAssociation.m: use NSStringFromClass([retValue class])
instead of [retValue class] for log
* GSWeb.framework/GSWRequest.m/.h: added -(NSDictionary*)headers;
o added test on _contentType in _contentType
o autorelease _dict in -uriElements
* GSWeb.framework/GSWResponse.m/.h: added -setHeaders: and -headers
o Added GSWResponse (GSWResponseRefused)
o return self in -generateResponse
* GSWeb.framework/GSWServerSessionStore.m/.h: added @interface GSWServerSessionStore (GSWServerSessionStoreInfo)
o added refusing session management
* GSWeb.framework/GSWSession.m:
o in -terminate forces to call removeSessionWithID in GSWServerSessionStore to dealloc it
* GSWeb.framework/GSWSessionTimeOutManager.m/.h: replace NSMutableOrderedArray* sessionOrderedTimeOuts;
by NSMutableArray* sessionOrderedTimeOuts;
o added traces
o added GSWSessionTimeOutManager (GSWSessionRefused)
* GSWeb.framework/GSWSubmitButton.m: raise exception if no element is returned
* GSWeb.framework/GSWTemplateParser.m: added doctype management
* GSWeb.framework/GSWUtils.h: added if defined for __NetBSD__
* GSWeb.framework/GSWWOCompatibility.m/.h: added WOGenericContainer, WOImageButton, WOHyperlink
* GSWeb.framework/attach.m: added if defined for __NetBSD__
* GSWeb.framework/stacktrace.m: added if defined for __NetBSD__
* GSWeb.framework/GSWTemplateParserXML.m: traces commented
o test XML node content before adding it
* GSWeb.framework/NSObject+IVarAccess+PerformSel.m
o changes in -getIVarNamed: and in setIVarNamed:withValue: (use of sel+imp, tests on parameters)
* GSWAdaptors/common/GSWHTTPResponse.c: change in GSWHTTPResponse_GetResponse()
o debug traces removed
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gsweb/trunk@11251 72102866-910b-0410-8b05-ffd578937521
2001-10-26 08:50:52 +00:00
|
|
|
if(_delegateRespondsTo.didDeleteObject == YES)
|
|
|
|
[delegate displayGroup:self didDeleteObject:object];
|
|
|
|
}
|
|
|
|
NS_HANDLER
|
|
|
|
{
|
|
|
|
NSLog(@"GSWDisplayGroup (deleteObjectAtIndex:) Can't delete object at index : %d", index);
|
|
|
|
NSLog(@"object : %@", object);
|
|
|
|
NSLog(@"Exception : %@ %@ Name:%@ Reason:%@\n",
|
|
|
|
localException,
|
|
|
|
[localException description],
|
|
|
|
[localException name],
|
|
|
|
[localException reason]);
|
|
|
|
delete = NO;
|
|
|
|
}
|
|
|
|
NS_ENDHANDLER;
|
2000-10-04 22:19:43 +00:00
|
|
|
};
|
2001-10-25 Manuel Guesdon <mguesdon@orange-concept.com>
Applied patch from Turbocat (www.turbocat.de): GSWPatch_04-JUL_2001.diff
except GSWeb.framework/GSWInput.m/.h one (have to verify coherence of it)
* GSWAdaptors/common/GSWApp.c/.h: Added GSWAppInfo
* GSWAdaptors/common/GSWAppConnectNSSocket.c: Changes on includes
* GSWAdaptors/common/GSWLoadBalancing.h: Added parameter to GSWLoadBalancing_Find*
* GSWAdaptors/common/GSWLoadBalancing.c: added p_pURLComponents parameter,
o management of AppInfo
* GSWAdaptors/common/GSWAppRequest.c: managing refused connections
* GSWExtensions.framework/GSWStatsPage.gswc/GSWStatsPage.gswd: misspelling correction
* GSWExtensions.framework/GSWStatsPage.gswc/GSWStatsPage.html: Various Changes
* GSWExtensions.framework/GSWStatsPage.m: changes in login/password validation
o -awake added
* GSWeb.framework/GSWApplication.m/.h: Manage refusing new sessions
* GSWeb.framework/GSWBundle.m: debug traces commented
* GSWeb.framework/GSWComponent.m: implementation of ensureAwakeInContext:
* GSWeb.framework/GSWAssociation.m: special case for returned value of type GSMutableArray (Why ?)
* GSWeb.framework/GSWComponentRequestHandler.m: comments added
* GSWeb.framework/GSWDefaultAdaptorThread.m: added debug traces
* GSWeb.framework/GSWDirectActionRequestHandler.m: replaced GSWDirectAction by DirectAction
* GSWeb.framework/GSWDisplayGroup.m: initialize _baseIndex,
o correct misspelled names,
o added -description,
o use delegate in _changedInEditingContext:, _invalidatedAllObjectsInStore:,
o changes in -deleteObjectAtIndex:,
* GSWeb.framework/GSWFileUpload.m: different handling of _fileDatasCount,
handle bug in omniweb-browser
* GSWeb.framework/GSWHyperlink.m: added ensureAwakeInContext: call
* GSWeb.framework/GSWImageButton.m: added ensureAwakeInContext: call
* GSWeb.framework/GSWPopUpButton.m:
o use [response_ appendContentString:_noSelectionStringValue] instead of
[response_ appendContentHTMLString:_noSelectionStringValue]
o handle no displayString case
o use [response_ appendContentString:_displayStringValue] instead of
[response_ appendContentHTMLString:_displayStringValue]
* GSWeb.framework/GSWConfig.h: set GSWOPTVALUE_AutoOpenInBrowser to NO
* GSWeb.framework/GSWElementIDString.m: comment some debug traces
* GSWeb.framework/GSWHTMLStaticGroup.m/.h: added support of documentType
* GSWeb.framework/GSWHTMLURLValuedElement.m: addeded debug trace
* GSWeb.framework/GSWKeyValueAssociation.m: use NSStringFromClass([retValue class])
instead of [retValue class] for log
* GSWeb.framework/GSWRequest.m/.h: added -(NSDictionary*)headers;
o added test on _contentType in _contentType
o autorelease _dict in -uriElements
* GSWeb.framework/GSWResponse.m/.h: added -setHeaders: and -headers
o Added GSWResponse (GSWResponseRefused)
o return self in -generateResponse
* GSWeb.framework/GSWServerSessionStore.m/.h: added @interface GSWServerSessionStore (GSWServerSessionStoreInfo)
o added refusing session management
* GSWeb.framework/GSWSession.m:
o in -terminate forces to call removeSessionWithID in GSWServerSessionStore to dealloc it
* GSWeb.framework/GSWSessionTimeOutManager.m/.h: replace NSMutableOrderedArray* sessionOrderedTimeOuts;
by NSMutableArray* sessionOrderedTimeOuts;
o added traces
o added GSWSessionTimeOutManager (GSWSessionRefused)
* GSWeb.framework/GSWSubmitButton.m: raise exception if no element is returned
* GSWeb.framework/GSWTemplateParser.m: added doctype management
* GSWeb.framework/GSWUtils.h: added if defined for __NetBSD__
* GSWeb.framework/GSWWOCompatibility.m/.h: added WOGenericContainer, WOImageButton, WOHyperlink
* GSWeb.framework/attach.m: added if defined for __NetBSD__
* GSWeb.framework/stacktrace.m: added if defined for __NetBSD__
* GSWeb.framework/GSWTemplateParserXML.m: traces commented
o test XML node content before adding it
* GSWeb.framework/NSObject+IVarAccess+PerformSel.m
o changes in -getIVarNamed: and in setIVarNamed:withValue: (use of sel+imp, tests on parameters)
* GSWAdaptors/common/GSWHTTPResponse.c: change in GSWHTTPResponse_GetResponse()
o debug traces removed
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gsweb/trunk@11251 72102866-910b-0410-8b05-ffd578937521
2001-10-26 08:50:52 +00:00
|
|
|
|
|
|
|
[self clearSelection];
|
|
|
|
|
2000-10-04 22:19:43 +00:00
|
|
|
LOGObjectFnStop();
|
|
|
|
return delete;
|
2000-07-27 21:53:39 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
//--------------------------------------------------------------------
|
|
|
|
// deleteSelection
|
|
|
|
|
|
|
|
- (BOOL)deleteSelection
|
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
BOOL result=YES;
|
2000-07-27 21:53:39 +00:00
|
|
|
BOOL delete = YES;
|
2000-10-04 22:19:43 +00:00
|
|
|
NSEnumerator *enumerator=nil;
|
|
|
|
id object=nil;
|
|
|
|
LOGObjectFnStart();
|
2000-07-27 21:53:39 +00:00
|
|
|
|
2000-10-04 22:19:43 +00:00
|
|
|
enumerator = [_selectedObjects objectEnumerator];
|
2000-07-27 21:53:39 +00:00
|
|
|
while((object = [enumerator nextObject]))
|
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
if(_delegateRespondsTo.shouldDeleteObject == YES)
|
2000-07-27 21:53:39 +00:00
|
|
|
delete = [delegate displayGroup:self
|
|
|
|
shouldDeleteObject:object];
|
|
|
|
|
|
|
|
if(delete == NO)
|
2000-10-04 22:19:43 +00:00
|
|
|
result=NO;
|
2000-07-27 21:53:39 +00:00
|
|
|
}
|
2000-10-04 22:19:43 +00:00
|
|
|
if (result)
|
2000-07-27 21:53:39 +00:00
|
|
|
{
|
2001-10-25 Manuel Guesdon <mguesdon@orange-concept.com>
Applied patch from Turbocat (www.turbocat.de): GSWPatch_04-JUL_2001.diff
except GSWeb.framework/GSWInput.m/.h one (have to verify coherence of it)
* GSWAdaptors/common/GSWApp.c/.h: Added GSWAppInfo
* GSWAdaptors/common/GSWAppConnectNSSocket.c: Changes on includes
* GSWAdaptors/common/GSWLoadBalancing.h: Added parameter to GSWLoadBalancing_Find*
* GSWAdaptors/common/GSWLoadBalancing.c: added p_pURLComponents parameter,
o management of AppInfo
* GSWAdaptors/common/GSWAppRequest.c: managing refused connections
* GSWExtensions.framework/GSWStatsPage.gswc/GSWStatsPage.gswd: misspelling correction
* GSWExtensions.framework/GSWStatsPage.gswc/GSWStatsPage.html: Various Changes
* GSWExtensions.framework/GSWStatsPage.m: changes in login/password validation
o -awake added
* GSWeb.framework/GSWApplication.m/.h: Manage refusing new sessions
* GSWeb.framework/GSWBundle.m: debug traces commented
* GSWeb.framework/GSWComponent.m: implementation of ensureAwakeInContext:
* GSWeb.framework/GSWAssociation.m: special case for returned value of type GSMutableArray (Why ?)
* GSWeb.framework/GSWComponentRequestHandler.m: comments added
* GSWeb.framework/GSWDefaultAdaptorThread.m: added debug traces
* GSWeb.framework/GSWDirectActionRequestHandler.m: replaced GSWDirectAction by DirectAction
* GSWeb.framework/GSWDisplayGroup.m: initialize _baseIndex,
o correct misspelled names,
o added -description,
o use delegate in _changedInEditingContext:, _invalidatedAllObjectsInStore:,
o changes in -deleteObjectAtIndex:,
* GSWeb.framework/GSWFileUpload.m: different handling of _fileDatasCount,
handle bug in omniweb-browser
* GSWeb.framework/GSWHyperlink.m: added ensureAwakeInContext: call
* GSWeb.framework/GSWImageButton.m: added ensureAwakeInContext: call
* GSWeb.framework/GSWPopUpButton.m:
o use [response_ appendContentString:_noSelectionStringValue] instead of
[response_ appendContentHTMLString:_noSelectionStringValue]
o handle no displayString case
o use [response_ appendContentString:_displayStringValue] instead of
[response_ appendContentHTMLString:_displayStringValue]
* GSWeb.framework/GSWConfig.h: set GSWOPTVALUE_AutoOpenInBrowser to NO
* GSWeb.framework/GSWElementIDString.m: comment some debug traces
* GSWeb.framework/GSWHTMLStaticGroup.m/.h: added support of documentType
* GSWeb.framework/GSWHTMLURLValuedElement.m: addeded debug trace
* GSWeb.framework/GSWKeyValueAssociation.m: use NSStringFromClass([retValue class])
instead of [retValue class] for log
* GSWeb.framework/GSWRequest.m/.h: added -(NSDictionary*)headers;
o added test on _contentType in _contentType
o autorelease _dict in -uriElements
* GSWeb.framework/GSWResponse.m/.h: added -setHeaders: and -headers
o Added GSWResponse (GSWResponseRefused)
o return self in -generateResponse
* GSWeb.framework/GSWServerSessionStore.m/.h: added @interface GSWServerSessionStore (GSWServerSessionStoreInfo)
o added refusing session management
* GSWeb.framework/GSWSession.m:
o in -terminate forces to call removeSessionWithID in GSWServerSessionStore to dealloc it
* GSWeb.framework/GSWSessionTimeOutManager.m/.h: replace NSMutableOrderedArray* sessionOrderedTimeOuts;
by NSMutableArray* sessionOrderedTimeOuts;
o added traces
o added GSWSessionTimeOutManager (GSWSessionRefused)
* GSWeb.framework/GSWSubmitButton.m: raise exception if no element is returned
* GSWeb.framework/GSWTemplateParser.m: added doctype management
* GSWeb.framework/GSWUtils.h: added if defined for __NetBSD__
* GSWeb.framework/GSWWOCompatibility.m/.h: added WOGenericContainer, WOImageButton, WOHyperlink
* GSWeb.framework/attach.m: added if defined for __NetBSD__
* GSWeb.framework/stacktrace.m: added if defined for __NetBSD__
* GSWeb.framework/GSWTemplateParserXML.m: traces commented
o test XML node content before adding it
* GSWeb.framework/NSObject+IVarAccess+PerformSel.m
o changes in -getIVarNamed: and in setIVarNamed:withValue: (use of sel+imp, tests on parameters)
* GSWAdaptors/common/GSWHTTPResponse.c: change in GSWHTTPResponse_GetResponse()
o debug traces removed
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gsweb/trunk@11251 72102866-910b-0410-8b05-ffd578937521
2001-10-26 08:50:52 +00:00
|
|
|
NS_DURING
|
|
|
|
{
|
|
|
|
enumerator = [_selectedObjects objectEnumerator];
|
|
|
|
while((object = [enumerator nextObject]))
|
|
|
|
{
|
|
|
|
[_dataSource deleteObject:object];
|
|
|
|
|
|
|
|
[_displayedObjects removeObjectIdenticalTo:object];
|
|
|
|
[_allObjects removeObjectIdenticalTo:object];
|
2000-10-04 22:19:43 +00:00
|
|
|
|
2001-10-25 Manuel Guesdon <mguesdon@orange-concept.com>
Applied patch from Turbocat (www.turbocat.de): GSWPatch_04-JUL_2001.diff
except GSWeb.framework/GSWInput.m/.h one (have to verify coherence of it)
* GSWAdaptors/common/GSWApp.c/.h: Added GSWAppInfo
* GSWAdaptors/common/GSWAppConnectNSSocket.c: Changes on includes
* GSWAdaptors/common/GSWLoadBalancing.h: Added parameter to GSWLoadBalancing_Find*
* GSWAdaptors/common/GSWLoadBalancing.c: added p_pURLComponents parameter,
o management of AppInfo
* GSWAdaptors/common/GSWAppRequest.c: managing refused connections
* GSWExtensions.framework/GSWStatsPage.gswc/GSWStatsPage.gswd: misspelling correction
* GSWExtensions.framework/GSWStatsPage.gswc/GSWStatsPage.html: Various Changes
* GSWExtensions.framework/GSWStatsPage.m: changes in login/password validation
o -awake added
* GSWeb.framework/GSWApplication.m/.h: Manage refusing new sessions
* GSWeb.framework/GSWBundle.m: debug traces commented
* GSWeb.framework/GSWComponent.m: implementation of ensureAwakeInContext:
* GSWeb.framework/GSWAssociation.m: special case for returned value of type GSMutableArray (Why ?)
* GSWeb.framework/GSWComponentRequestHandler.m: comments added
* GSWeb.framework/GSWDefaultAdaptorThread.m: added debug traces
* GSWeb.framework/GSWDirectActionRequestHandler.m: replaced GSWDirectAction by DirectAction
* GSWeb.framework/GSWDisplayGroup.m: initialize _baseIndex,
o correct misspelled names,
o added -description,
o use delegate in _changedInEditingContext:, _invalidatedAllObjectsInStore:,
o changes in -deleteObjectAtIndex:,
* GSWeb.framework/GSWFileUpload.m: different handling of _fileDatasCount,
handle bug in omniweb-browser
* GSWeb.framework/GSWHyperlink.m: added ensureAwakeInContext: call
* GSWeb.framework/GSWImageButton.m: added ensureAwakeInContext: call
* GSWeb.framework/GSWPopUpButton.m:
o use [response_ appendContentString:_noSelectionStringValue] instead of
[response_ appendContentHTMLString:_noSelectionStringValue]
o handle no displayString case
o use [response_ appendContentString:_displayStringValue] instead of
[response_ appendContentHTMLString:_displayStringValue]
* GSWeb.framework/GSWConfig.h: set GSWOPTVALUE_AutoOpenInBrowser to NO
* GSWeb.framework/GSWElementIDString.m: comment some debug traces
* GSWeb.framework/GSWHTMLStaticGroup.m/.h: added support of documentType
* GSWeb.framework/GSWHTMLURLValuedElement.m: addeded debug trace
* GSWeb.framework/GSWKeyValueAssociation.m: use NSStringFromClass([retValue class])
instead of [retValue class] for log
* GSWeb.framework/GSWRequest.m/.h: added -(NSDictionary*)headers;
o added test on _contentType in _contentType
o autorelease _dict in -uriElements
* GSWeb.framework/GSWResponse.m/.h: added -setHeaders: and -headers
o Added GSWResponse (GSWResponseRefused)
o return self in -generateResponse
* GSWeb.framework/GSWServerSessionStore.m/.h: added @interface GSWServerSessionStore (GSWServerSessionStoreInfo)
o added refusing session management
* GSWeb.framework/GSWSession.m:
o in -terminate forces to call removeSessionWithID in GSWServerSessionStore to dealloc it
* GSWeb.framework/GSWSessionTimeOutManager.m/.h: replace NSMutableOrderedArray* sessionOrderedTimeOuts;
by NSMutableArray* sessionOrderedTimeOuts;
o added traces
o added GSWSessionTimeOutManager (GSWSessionRefused)
* GSWeb.framework/GSWSubmitButton.m: raise exception if no element is returned
* GSWeb.framework/GSWTemplateParser.m: added doctype management
* GSWeb.framework/GSWUtils.h: added if defined for __NetBSD__
* GSWeb.framework/GSWWOCompatibility.m/.h: added WOGenericContainer, WOImageButton, WOHyperlink
* GSWeb.framework/attach.m: added if defined for __NetBSD__
* GSWeb.framework/stacktrace.m: added if defined for __NetBSD__
* GSWeb.framework/GSWTemplateParserXML.m: traces commented
o test XML node content before adding it
* GSWeb.framework/NSObject+IVarAccess+PerformSel.m
o changes in -getIVarNamed: and in setIVarNamed:withValue: (use of sel+imp, tests on parameters)
* GSWAdaptors/common/GSWHTTPResponse.c: change in GSWHTTPResponse_GetResponse()
o debug traces removed
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gsweb/trunk@11251 72102866-910b-0410-8b05-ffd578937521
2001-10-26 08:50:52 +00:00
|
|
|
if(_delegateRespondsTo.didDeleteObject == YES)
|
|
|
|
[delegate displayGroup:self
|
|
|
|
didDeleteObject:object];
|
|
|
|
}
|
|
|
|
}
|
|
|
|
NS_HANDLER
|
|
|
|
{
|
|
|
|
NSLog(@"GSWDisplayGroup (deleteSelection:) Can't delete object");
|
|
|
|
NSLog(@"object : %@", object);
|
|
|
|
NSLog(@"Exception : %@ %@ Name:%@ Reason:%@\n",
|
|
|
|
localException,
|
|
|
|
[localException description],
|
|
|
|
[localException name],
|
|
|
|
[localException reason]);
|
|
|
|
delete = NO;
|
|
|
|
}
|
|
|
|
NS_ENDHANDLER;
|
2000-10-04 22:19:43 +00:00
|
|
|
};
|
2000-07-27 21:53:39 +00:00
|
|
|
|
2001-10-25 Manuel Guesdon <mguesdon@orange-concept.com>
Applied patch from Turbocat (www.turbocat.de): GSWPatch_04-JUL_2001.diff
except GSWeb.framework/GSWInput.m/.h one (have to verify coherence of it)
* GSWAdaptors/common/GSWApp.c/.h: Added GSWAppInfo
* GSWAdaptors/common/GSWAppConnectNSSocket.c: Changes on includes
* GSWAdaptors/common/GSWLoadBalancing.h: Added parameter to GSWLoadBalancing_Find*
* GSWAdaptors/common/GSWLoadBalancing.c: added p_pURLComponents parameter,
o management of AppInfo
* GSWAdaptors/common/GSWAppRequest.c: managing refused connections
* GSWExtensions.framework/GSWStatsPage.gswc/GSWStatsPage.gswd: misspelling correction
* GSWExtensions.framework/GSWStatsPage.gswc/GSWStatsPage.html: Various Changes
* GSWExtensions.framework/GSWStatsPage.m: changes in login/password validation
o -awake added
* GSWeb.framework/GSWApplication.m/.h: Manage refusing new sessions
* GSWeb.framework/GSWBundle.m: debug traces commented
* GSWeb.framework/GSWComponent.m: implementation of ensureAwakeInContext:
* GSWeb.framework/GSWAssociation.m: special case for returned value of type GSMutableArray (Why ?)
* GSWeb.framework/GSWComponentRequestHandler.m: comments added
* GSWeb.framework/GSWDefaultAdaptorThread.m: added debug traces
* GSWeb.framework/GSWDirectActionRequestHandler.m: replaced GSWDirectAction by DirectAction
* GSWeb.framework/GSWDisplayGroup.m: initialize _baseIndex,
o correct misspelled names,
o added -description,
o use delegate in _changedInEditingContext:, _invalidatedAllObjectsInStore:,
o changes in -deleteObjectAtIndex:,
* GSWeb.framework/GSWFileUpload.m: different handling of _fileDatasCount,
handle bug in omniweb-browser
* GSWeb.framework/GSWHyperlink.m: added ensureAwakeInContext: call
* GSWeb.framework/GSWImageButton.m: added ensureAwakeInContext: call
* GSWeb.framework/GSWPopUpButton.m:
o use [response_ appendContentString:_noSelectionStringValue] instead of
[response_ appendContentHTMLString:_noSelectionStringValue]
o handle no displayString case
o use [response_ appendContentString:_displayStringValue] instead of
[response_ appendContentHTMLString:_displayStringValue]
* GSWeb.framework/GSWConfig.h: set GSWOPTVALUE_AutoOpenInBrowser to NO
* GSWeb.framework/GSWElementIDString.m: comment some debug traces
* GSWeb.framework/GSWHTMLStaticGroup.m/.h: added support of documentType
* GSWeb.framework/GSWHTMLURLValuedElement.m: addeded debug trace
* GSWeb.framework/GSWKeyValueAssociation.m: use NSStringFromClass([retValue class])
instead of [retValue class] for log
* GSWeb.framework/GSWRequest.m/.h: added -(NSDictionary*)headers;
o added test on _contentType in _contentType
o autorelease _dict in -uriElements
* GSWeb.framework/GSWResponse.m/.h: added -setHeaders: and -headers
o Added GSWResponse (GSWResponseRefused)
o return self in -generateResponse
* GSWeb.framework/GSWServerSessionStore.m/.h: added @interface GSWServerSessionStore (GSWServerSessionStoreInfo)
o added refusing session management
* GSWeb.framework/GSWSession.m:
o in -terminate forces to call removeSessionWithID in GSWServerSessionStore to dealloc it
* GSWeb.framework/GSWSessionTimeOutManager.m/.h: replace NSMutableOrderedArray* sessionOrderedTimeOuts;
by NSMutableArray* sessionOrderedTimeOuts;
o added traces
o added GSWSessionTimeOutManager (GSWSessionRefused)
* GSWeb.framework/GSWSubmitButton.m: raise exception if no element is returned
* GSWeb.framework/GSWTemplateParser.m: added doctype management
* GSWeb.framework/GSWUtils.h: added if defined for __NetBSD__
* GSWeb.framework/GSWWOCompatibility.m/.h: added WOGenericContainer, WOImageButton, WOHyperlink
* GSWeb.framework/attach.m: added if defined for __NetBSD__
* GSWeb.framework/stacktrace.m: added if defined for __NetBSD__
* GSWeb.framework/GSWTemplateParserXML.m: traces commented
o test XML node content before adding it
* GSWeb.framework/NSObject+IVarAccess+PerformSel.m
o changes in -getIVarNamed: and in setIVarNamed:withValue: (use of sel+imp, tests on parameters)
* GSWAdaptors/common/GSWHTTPResponse.c: change in GSWHTTPResponse_GetResponse()
o debug traces removed
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gsweb/trunk@11251 72102866-910b-0410-8b05-ffd578937521
2001-10-26 08:50:52 +00:00
|
|
|
[self clearSelection];
|
|
|
|
|
2000-10-04 22:19:43 +00:00
|
|
|
LOGObjectFnStop();
|
|
|
|
return result;
|
2000-07-27 21:53:39 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
//--------------------------------------------------------------------
|
|
|
|
// detailKey
|
|
|
|
|
|
|
|
- (NSString *)detailKey
|
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
NSString* detailKey=nil;
|
|
|
|
LOGObjectFnStart();
|
|
|
|
|
2000-07-27 21:53:39 +00:00
|
|
|
if([self hasDetailDataSource] == YES)
|
2000-10-04 22:19:43 +00:00
|
|
|
detailKey= [(EODetailDataSource *)_dataSource detailKey];
|
2000-07-27 21:53:39 +00:00
|
|
|
|
2000-10-04 22:19:43 +00:00
|
|
|
LOGObjectFnStop();
|
|
|
|
return detailKey;
|
2000-07-27 21:53:39 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
//--------------------------------------------------------------------
|
|
|
|
// displayBatchContainingSelectedObject
|
|
|
|
|
|
|
|
-(id)displayBatchContainingSelectedObject
|
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
LOGObjectFnStart();
|
|
|
|
LOGObjectFnNotImplemented(); //TODOFN
|
|
|
|
LOGObjectFnStop();
|
|
|
|
return nil;
|
2000-07-27 21:53:39 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
//--------------------------------------------------------------------
|
|
|
|
// displayedObjects
|
|
|
|
|
|
|
|
- (NSArray *)displayedObjects
|
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
return _displayedObjects;
|
2000-07-27 21:53:39 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
//--------------------------------------------------------------------
|
|
|
|
// displayNextBatch
|
|
|
|
|
|
|
|
- (id)displayNextBatch
|
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
int count = [_allObjects count];
|
2000-07-27 21:53:39 +00:00
|
|
|
NSRange range;
|
2000-10-04 22:19:43 +00:00
|
|
|
LOGObjectFnStart();
|
2000-07-27 21:53:39 +00:00
|
|
|
|
2000-10-04 22:19:43 +00:00
|
|
|
[_displayedObjects removeAllObjects];
|
2000-08-13 14:22:02 +00:00
|
|
|
|
2000-10-04 22:19:43 +00:00
|
|
|
if(!_numberOfObjectsPerBatch || count <= _numberOfObjectsPerBatch)
|
2000-07-27 21:53:39 +00:00
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
_batchIndex = 1;
|
|
|
|
[_displayedObjects addObjectsFromArray:_allObjects];
|
2000-07-27 21:53:39 +00:00
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
if(_batchIndex >= [self batchCount])
|
2000-08-13 14:22:02 +00:00
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
_batchIndex = 1;
|
2000-08-13 14:22:02 +00:00
|
|
|
range.location = 0;
|
2000-10-04 22:19:43 +00:00
|
|
|
range.length = _numberOfObjectsPerBatch;
|
2000-08-13 14:22:02 +00:00
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
range.location = _batchIndex * _numberOfObjectsPerBatch;
|
|
|
|
range.length = (range.location + _numberOfObjectsPerBatch > count ?
|
|
|
|
count - range.location : _numberOfObjectsPerBatch);
|
|
|
|
_batchIndex++;
|
2000-08-13 14:22:02 +00:00
|
|
|
}
|
2000-07-27 21:53:39 +00:00
|
|
|
|
2000-10-04 22:19:43 +00:00
|
|
|
[_displayedObjects addObjectsFromArray:[_allObjects
|
2000-08-13 14:22:02 +00:00
|
|
|
subarrayWithRange:range]];
|
|
|
|
}
|
2000-07-27 21:53:39 +00:00
|
|
|
|
|
|
|
[self clearSelection];
|
|
|
|
|
2000-10-04 22:19:43 +00:00
|
|
|
LOGObjectFnStop();
|
|
|
|
return nil;//FIXME
|
2000-07-27 21:53:39 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
//--------------------------------------------------------------------
|
|
|
|
// displayPreviousBatch
|
|
|
|
|
|
|
|
- (id)displayPreviousBatch
|
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
int count = [_allObjects count];
|
2000-07-27 21:53:39 +00:00
|
|
|
NSRange range;
|
2000-10-04 22:19:43 +00:00
|
|
|
LOGObjectFnStart();
|
2000-07-27 21:53:39 +00:00
|
|
|
|
2000-10-04 22:19:43 +00:00
|
|
|
[_displayedObjects removeAllObjects];
|
2000-08-13 14:22:02 +00:00
|
|
|
|
2000-10-04 22:19:43 +00:00
|
|
|
if(!_numberOfObjectsPerBatch || count <= _numberOfObjectsPerBatch)
|
2000-07-27 21:53:39 +00:00
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
_batchIndex = 1;
|
|
|
|
[_displayedObjects addObjectsFromArray:_allObjects];
|
2000-07-27 21:53:39 +00:00
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
if(_batchIndex == 1)
|
2000-08-13 14:22:02 +00:00
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
_batchIndex = [self batchCount];
|
|
|
|
range.location = (_batchIndex-1) * _numberOfObjectsPerBatch;
|
2000-07-27 21:53:39 +00:00
|
|
|
|
2000-10-04 22:19:43 +00:00
|
|
|
range.length = (range.location + _numberOfObjectsPerBatch > count ?
|
|
|
|
count - range.location : _numberOfObjectsPerBatch);
|
2000-08-13 14:22:02 +00:00
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
_batchIndex--;
|
|
|
|
range.location = (_batchIndex-1) * _numberOfObjectsPerBatch;
|
|
|
|
range.length = _numberOfObjectsPerBatch;
|
2000-08-13 14:22:02 +00:00
|
|
|
}
|
|
|
|
|
2000-10-04 22:19:43 +00:00
|
|
|
[_displayedObjects addObjectsFromArray:[_allObjects
|
2000-08-13 14:22:02 +00:00
|
|
|
subarrayWithRange:range]];
|
|
|
|
}
|
2000-07-27 21:53:39 +00:00
|
|
|
|
|
|
|
[self clearSelection];
|
|
|
|
|
2000-10-04 22:19:43 +00:00
|
|
|
LOGObjectFnStop();
|
|
|
|
return nil;//FIXME
|
2000-07-27 21:53:39 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
//--------------------------------------------------------------------
|
|
|
|
// endEditing
|
|
|
|
|
|
|
|
- (BOOL)endEditing
|
|
|
|
{
|
|
|
|
return YES;
|
|
|
|
}
|
|
|
|
|
|
|
|
//--------------------------------------------------------------------
|
|
|
|
// executeQuery
|
|
|
|
|
|
|
|
-(id)executeQuery
|
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
LOGObjectFnStart();
|
|
|
|
LOGObjectFnNotImplemented(); //TODOFN
|
|
|
|
LOGObjectFnStop();
|
|
|
|
return nil;
|
2000-07-27 21:53:39 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
//--------------------------------------------------------------------
|
|
|
|
// fetch
|
|
|
|
|
|
|
|
- (id)fetch
|
|
|
|
{
|
|
|
|
BOOL fetch = YES;
|
2000-11-24 09:32:34 +00:00
|
|
|
|
2000-10-04 22:19:43 +00:00
|
|
|
LOGObjectFnStart();
|
2000-07-27 21:53:39 +00:00
|
|
|
|
2000-10-04 22:19:43 +00:00
|
|
|
if(_delegateRespondsTo.shouldFetchObjects == YES)
|
2000-07-27 21:53:39 +00:00
|
|
|
fetch = [delegate displayGroupShouldFetch:self];
|
2000-11-24 09:32:34 +00:00
|
|
|
|
2000-10-04 22:19:43 +00:00
|
|
|
if(fetch)
|
|
|
|
{
|
2000-11-24 09:32:34 +00:00
|
|
|
NSArray *objects=nil;
|
|
|
|
|
|
|
|
objects = [_dataSource fetchObjects];
|
2000-10-04 22:19:43 +00:00
|
|
|
[self setObjectArray:objects];
|
2000-07-27 21:53:39 +00:00
|
|
|
|
2000-10-04 22:19:43 +00:00
|
|
|
if(_delegateRespondsTo.didFetchObjects == YES)
|
|
|
|
[delegate displayGroup:self
|
|
|
|
didFetchObjects:_allObjects];
|
|
|
|
};
|
|
|
|
LOGObjectFnStop();
|
2000-11-24 09:32:34 +00:00
|
|
|
|
2000-10-04 22:19:43 +00:00
|
|
|
return nil;//FIXME
|
2000-07-27 21:53:39 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
//--------------------------------------------------------------------
|
|
|
|
// fetchesOnLoad
|
|
|
|
|
|
|
|
- (BOOL)fetchesOnLoad
|
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
return _flags.autoFetch;
|
2000-07-27 21:53:39 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
//--------------------------------------------------------------------
|
|
|
|
// hasDetailDataSource
|
|
|
|
|
|
|
|
- (BOOL)hasDetailDataSource
|
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
return [_dataSource isKindOfClass:[EODetailDataSource class]];
|
2000-07-27 21:53:39 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
//--------------------------------------------------------------------
|
|
|
|
// hasMultipleBatches
|
|
|
|
|
|
|
|
- (BOOL)hasMultipleBatches
|
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
return !_flags.fetchAll;
|
2000-07-27 21:53:39 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
//--------------------------------------------------------------------
|
|
|
|
// inputObjectForQualifier
|
|
|
|
|
|
|
|
-(NSMutableDictionary*)inputObjectForQualifier
|
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
LOGObjectFnStart();
|
|
|
|
LOGObjectFnNotImplemented(); //TODOFN
|
|
|
|
LOGObjectFnStop();
|
|
|
|
return nil;
|
2000-07-27 21:53:39 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
//--------------------------------------------------------------------
|
|
|
|
// indexOfFirstDisplayedObject;
|
|
|
|
|
|
|
|
- (unsigned)indexOfFirstDisplayedObject
|
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
int indexOfFirstDisplayedObject=0;
|
|
|
|
int batch = 0;
|
|
|
|
LOGObjectFnStart();
|
2000-07-27 21:53:39 +00:00
|
|
|
|
2000-10-04 22:19:43 +00:00
|
|
|
batch=[self currentBatchIndex];
|
|
|
|
indexOfFirstDisplayedObject=((batch-1) * _numberOfObjectsPerBatch);
|
|
|
|
|
|
|
|
LOGObjectFnStop();
|
|
|
|
return indexOfFirstDisplayedObject;
|
2000-07-27 21:53:39 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
//--------------------------------------------------------------------
|
|
|
|
// indexOfLastDisplayedObject;
|
|
|
|
|
|
|
|
- (unsigned)indexOfLastDisplayedObject
|
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
int indexOfLastDisplayedObject=0;
|
|
|
|
int batch = 0;
|
|
|
|
LOGObjectFnStart();
|
|
|
|
batch=[self currentBatchIndex];
|
2000-07-27 21:53:39 +00:00
|
|
|
|
2000-10-04 22:19:43 +00:00
|
|
|
indexOfLastDisplayedObject=((batch-1) * _numberOfObjectsPerBatch) + [_displayedObjects count];
|
|
|
|
LOGObjectFnStop();
|
|
|
|
return indexOfLastDisplayedObject;
|
2000-07-27 21:53:39 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
//--------------------------------------------------------------------
|
|
|
|
// inQueryMode
|
|
|
|
|
|
|
|
- (BOOL)inQueryMode
|
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
return _flags.queryMode;
|
2000-07-27 21:53:39 +00:00
|
|
|
}
|
|
|
|
|
2000-10-04 22:19:43 +00:00
|
|
|
//--------------------------------------------------------------------
|
|
|
|
-(void)editingContext:(id)editingContext_
|
|
|
|
presentErrorMessage:(id)msg
|
|
|
|
{
|
|
|
|
LOGObjectFnStart();
|
|
|
|
LOGObjectFnNotImplemented(); //TODOFN
|
|
|
|
LOGObjectFnStop();
|
|
|
|
};
|
|
|
|
|
2000-07-27 21:53:39 +00:00
|
|
|
//--------------------------------------------------------------------
|
|
|
|
// insert
|
|
|
|
|
|
|
|
- (id)insert
|
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
unsigned index=0, count=0;
|
|
|
|
LOGObjectFnStart();
|
|
|
|
count = [_allObjects count];
|
2000-07-27 21:53:39 +00:00
|
|
|
|
2000-10-04 22:19:43 +00:00
|
|
|
if([_selection count])
|
|
|
|
index = [[_selection objectAtIndex:0] unsignedIntValue]+1;
|
2000-07-27 21:53:39 +00:00
|
|
|
|
|
|
|
if(!count)
|
|
|
|
index = 0;
|
2001-10-25 Manuel Guesdon <mguesdon@orange-concept.com>
Applied patch from Turbocat (www.turbocat.de): GSWPatch_04-JUL_2001.diff
except GSWeb.framework/GSWInput.m/.h one (have to verify coherence of it)
* GSWAdaptors/common/GSWApp.c/.h: Added GSWAppInfo
* GSWAdaptors/common/GSWAppConnectNSSocket.c: Changes on includes
* GSWAdaptors/common/GSWLoadBalancing.h: Added parameter to GSWLoadBalancing_Find*
* GSWAdaptors/common/GSWLoadBalancing.c: added p_pURLComponents parameter,
o management of AppInfo
* GSWAdaptors/common/GSWAppRequest.c: managing refused connections
* GSWExtensions.framework/GSWStatsPage.gswc/GSWStatsPage.gswd: misspelling correction
* GSWExtensions.framework/GSWStatsPage.gswc/GSWStatsPage.html: Various Changes
* GSWExtensions.framework/GSWStatsPage.m: changes in login/password validation
o -awake added
* GSWeb.framework/GSWApplication.m/.h: Manage refusing new sessions
* GSWeb.framework/GSWBundle.m: debug traces commented
* GSWeb.framework/GSWComponent.m: implementation of ensureAwakeInContext:
* GSWeb.framework/GSWAssociation.m: special case for returned value of type GSMutableArray (Why ?)
* GSWeb.framework/GSWComponentRequestHandler.m: comments added
* GSWeb.framework/GSWDefaultAdaptorThread.m: added debug traces
* GSWeb.framework/GSWDirectActionRequestHandler.m: replaced GSWDirectAction by DirectAction
* GSWeb.framework/GSWDisplayGroup.m: initialize _baseIndex,
o correct misspelled names,
o added -description,
o use delegate in _changedInEditingContext:, _invalidatedAllObjectsInStore:,
o changes in -deleteObjectAtIndex:,
* GSWeb.framework/GSWFileUpload.m: different handling of _fileDatasCount,
handle bug in omniweb-browser
* GSWeb.framework/GSWHyperlink.m: added ensureAwakeInContext: call
* GSWeb.framework/GSWImageButton.m: added ensureAwakeInContext: call
* GSWeb.framework/GSWPopUpButton.m:
o use [response_ appendContentString:_noSelectionStringValue] instead of
[response_ appendContentHTMLString:_noSelectionStringValue]
o handle no displayString case
o use [response_ appendContentString:_displayStringValue] instead of
[response_ appendContentHTMLString:_displayStringValue]
* GSWeb.framework/GSWConfig.h: set GSWOPTVALUE_AutoOpenInBrowser to NO
* GSWeb.framework/GSWElementIDString.m: comment some debug traces
* GSWeb.framework/GSWHTMLStaticGroup.m/.h: added support of documentType
* GSWeb.framework/GSWHTMLURLValuedElement.m: addeded debug trace
* GSWeb.framework/GSWKeyValueAssociation.m: use NSStringFromClass([retValue class])
instead of [retValue class] for log
* GSWeb.framework/GSWRequest.m/.h: added -(NSDictionary*)headers;
o added test on _contentType in _contentType
o autorelease _dict in -uriElements
* GSWeb.framework/GSWResponse.m/.h: added -setHeaders: and -headers
o Added GSWResponse (GSWResponseRefused)
o return self in -generateResponse
* GSWeb.framework/GSWServerSessionStore.m/.h: added @interface GSWServerSessionStore (GSWServerSessionStoreInfo)
o added refusing session management
* GSWeb.framework/GSWSession.m:
o in -terminate forces to call removeSessionWithID in GSWServerSessionStore to dealloc it
* GSWeb.framework/GSWSessionTimeOutManager.m/.h: replace NSMutableOrderedArray* sessionOrderedTimeOuts;
by NSMutableArray* sessionOrderedTimeOuts;
o added traces
o added GSWSessionTimeOutManager (GSWSessionRefused)
* GSWeb.framework/GSWSubmitButton.m: raise exception if no element is returned
* GSWeb.framework/GSWTemplateParser.m: added doctype management
* GSWeb.framework/GSWUtils.h: added if defined for __NetBSD__
* GSWeb.framework/GSWWOCompatibility.m/.h: added WOGenericContainer, WOImageButton, WOHyperlink
* GSWeb.framework/attach.m: added if defined for __NetBSD__
* GSWeb.framework/stacktrace.m: added if defined for __NetBSD__
* GSWeb.framework/GSWTemplateParserXML.m: traces commented
o test XML node content before adding it
* GSWeb.framework/NSObject+IVarAccess+PerformSel.m
o changes in -getIVarNamed: and in setIVarNamed:withValue: (use of sel+imp, tests on parameters)
* GSWAdaptors/common/GSWHTTPResponse.c: change in GSWHTTPResponse_GetResponse()
o debug traces removed
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gsweb/trunk@11251 72102866-910b-0410-8b05-ffd578937521
2001-10-26 08:50:52 +00:00
|
|
|
if((count <= index) && count>0)
|
2000-07-27 21:53:39 +00:00
|
|
|
index = count - 1;
|
|
|
|
|
|
|
|
[self insertObjectAtIndex:index];
|
|
|
|
|
2000-10-04 22:19:43 +00:00
|
|
|
LOGObjectFnStop();
|
|
|
|
return nil;//FIXME
|
2000-07-27 21:53:39 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
//--------------------------------------------------------------------
|
|
|
|
// insertedObjectDefaultValues
|
|
|
|
|
|
|
|
- (NSDictionary *)insertedObjectDefaultValues
|
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
return _insertedObjectDefaultValues;
|
2000-07-27 21:53:39 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
//--------------------------------------------------------------------
|
|
|
|
// insertObject:atIndex:
|
|
|
|
|
|
|
|
- (void)insertObject:anObject
|
|
|
|
atIndex:(unsigned)index
|
|
|
|
{
|
|
|
|
BOOL insert = YES;
|
2000-11-24 09:32:34 +00:00
|
|
|
|
2000-10-04 22:19:43 +00:00
|
|
|
LOGObjectFnStart();
|
|
|
|
if(_delegateRespondsTo.shouldInsertObject == YES)
|
2000-07-27 21:53:39 +00:00
|
|
|
insert = [delegate displayGroup:self
|
|
|
|
shouldInsertObject:anObject
|
|
|
|
atIndex:index];
|
|
|
|
|
2000-10-04 22:19:43 +00:00
|
|
|
if(insert)
|
|
|
|
{
|
|
|
|
[_dataSource insertObject:anObject];
|
|
|
|
|
|
|
|
[_allObjects insertObject:anObject atIndex:index];
|
|
|
|
[self setCurrentBatchIndex:_batchIndex];
|
|
|
|
|
|
|
|
if(_delegateRespondsTo.didInsertObject == YES)
|
|
|
|
[delegate displayGroup:self
|
|
|
|
didInsertObject:anObject];
|
2000-07-27 21:53:39 +00:00
|
|
|
|
2000-10-04 22:19:43 +00:00
|
|
|
[self setSelectionIndexes:
|
|
|
|
[NSArray arrayWithObject:[NSNumber numberWithUnsignedInt:index]]];
|
|
|
|
};
|
2000-07-27 21:53:39 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
//--------------------------------------------------------------------
|
|
|
|
// insertObjectAtIndex:
|
|
|
|
|
|
|
|
- (id)insertObjectAtIndex:(unsigned)index
|
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
id object=nil;
|
|
|
|
LOGObjectFnStart();
|
2000-07-27 21:53:39 +00:00
|
|
|
|
2000-10-04 22:19:43 +00:00
|
|
|
object = [_dataSource createObject];
|
2000-07-27 21:53:39 +00:00
|
|
|
if(object == nil)
|
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
if(_delegateRespondsTo.createObjectFailed == YES)
|
2000-07-27 21:53:39 +00:00
|
|
|
[delegate displayGroup:self
|
2000-10-04 22:19:43 +00:00
|
|
|
createObjectFailedForDataSource:_dataSource];
|
2000-07-27 21:53:39 +00:00
|
|
|
}
|
2000-10-04 22:19:43 +00:00
|
|
|
else
|
|
|
|
{
|
2000-11-28 20:54:08 +00:00
|
|
|
[object takeValuesFromDictionary:[self insertedObjectDefaultValues]];
|
2000-10-04 22:19:43 +00:00
|
|
|
[self insertObject:object atIndex:index];
|
|
|
|
};
|
|
|
|
LOGObjectFnStop();
|
2000-07-27 21:53:39 +00:00
|
|
|
return object;
|
|
|
|
}
|
|
|
|
|
|
|
|
//--------------------------------------------------------------------
|
|
|
|
// lastQualifierFromInputValues
|
|
|
|
|
|
|
|
-(EOQualifier*)lastQualifierFromInputValues
|
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
LOGObjectFnStart();
|
|
|
|
LOGObjectFnNotImplemented(); //TODOFN
|
|
|
|
LOGObjectFnStop();
|
|
|
|
return nil;
|
2000-07-27 21:53:39 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
//--------------------------------------------------------------------
|
|
|
|
// localKeys
|
|
|
|
|
|
|
|
- (NSArray *)localKeys
|
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
return _localKeys;
|
2000-07-27 21:53:39 +00:00
|
|
|
}
|
|
|
|
|
2000-10-04 22:19:43 +00:00
|
|
|
-(BOOL)usesOptimisticRefresh
|
|
|
|
{
|
|
|
|
LOGObjectFnStart();
|
|
|
|
LOGObjectFnNotImplemented(); //TODOFN
|
|
|
|
LOGObjectFnStop();
|
|
|
|
return NO;
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-(void)setUsesOptimisticRefresh:(id)object_
|
|
|
|
{
|
|
|
|
LOGObjectFnStart();
|
|
|
|
LOGObjectFnNotImplemented(); //TODOFN
|
|
|
|
LOGObjectFnStop();
|
|
|
|
};
|
|
|
|
|
|
|
|
-(void)awakeFromNib
|
|
|
|
{
|
|
|
|
LOGObjectFnStart();
|
|
|
|
LOGObjectFnNotImplemented(); //TODOFN
|
|
|
|
LOGObjectFnStop();
|
|
|
|
};
|
|
|
|
|
|
|
|
|
2000-07-27 21:53:39 +00:00
|
|
|
//--------------------------------------------------------------------
|
|
|
|
// masterObject
|
|
|
|
|
|
|
|
- (id)masterObject
|
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
id obj=nil;
|
|
|
|
LOGObjectFnStart();
|
|
|
|
|
2000-07-27 21:53:39 +00:00
|
|
|
if([self hasDetailDataSource] == YES)
|
2000-10-04 22:19:43 +00:00
|
|
|
obj=[(EODetailDataSource *)_dataSource masterObject];
|
2000-07-27 21:53:39 +00:00
|
|
|
|
2000-10-04 22:19:43 +00:00
|
|
|
LOGObjectFnStop();
|
|
|
|
return obj;
|
2000-07-27 21:53:39 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
//--------------------------------------------------------------------
|
|
|
|
// numberOfObjectsPerBatch
|
|
|
|
|
|
|
|
- (unsigned)numberOfObjectsPerBatch
|
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
return _numberOfObjectsPerBatch;
|
2000-07-27 21:53:39 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
//--------------------------------------------------------------------
|
|
|
|
// qualifier
|
|
|
|
|
|
|
|
- (EOQualifier *)qualifier
|
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
return _qualifier;
|
2000-07-27 21:53:39 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
//--------------------------------------------------------------------
|
|
|
|
// qualifierFromInputValues
|
|
|
|
|
|
|
|
-(EOQualifier*)qualifierFromInputValues
|
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
LOGObjectFnStart();
|
|
|
|
LOGObjectFnNotImplemented(); //TODOFN
|
|
|
|
LOGObjectFnStop();
|
|
|
|
return nil;
|
2000-07-27 21:53:39 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
//--------------------------------------------------------------------
|
|
|
|
// qualifierFromQueryValues
|
|
|
|
|
|
|
|
- (EOQualifier *)qualifierFromQueryValues
|
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
EOQualifier* resultQualifier=nil;
|
|
|
|
NSMutableArray *array=nil;
|
|
|
|
NSEnumerator *enumerator=nil;
|
|
|
|
NSString *key=nil;
|
|
|
|
NSString *op=nil;
|
|
|
|
SEL operatorSelector=nil;
|
|
|
|
LOGObjectFnStart();
|
2000-07-27 21:53:39 +00:00
|
|
|
|
|
|
|
array = [NSMutableArray arrayWithCapacity:8];
|
|
|
|
|
2000-10-04 22:19:43 +00:00
|
|
|
enumerator = [_queryMatch keyEnumerator];
|
2000-07-27 21:53:39 +00:00
|
|
|
while((key = [enumerator nextObject]))
|
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
op = [_queryOperator objectForKey:key];
|
2000-07-27 21:53:39 +00:00
|
|
|
|
|
|
|
if(op == nil)
|
|
|
|
operatorSelector = EOQualifierOperatorEqual;
|
|
|
|
else
|
|
|
|
operatorSelector = [EOQualifier operatorSelectorForString:op];
|
|
|
|
|
|
|
|
[array addObject:[[[EOKeyValueQualifier alloc]
|
|
|
|
initWithKey:key
|
|
|
|
operatorSelector:operatorSelector
|
2000-10-04 22:19:43 +00:00
|
|
|
value:[_queryMatch objectForKey:key]] autorelease]];
|
2000-07-27 21:53:39 +00:00
|
|
|
}
|
|
|
|
|
2000-10-04 22:19:43 +00:00
|
|
|
enumerator = [_queryMax keyEnumerator];
|
2000-07-27 21:53:39 +00:00
|
|
|
while((key = [enumerator nextObject]))
|
|
|
|
{
|
|
|
|
[array addObject:[[[EOKeyValueQualifier alloc]
|
|
|
|
initWithKey:key
|
|
|
|
operatorSelector:EOQualifierOperatorLessThan
|
2000-10-04 22:19:43 +00:00
|
|
|
value:[_queryMax objectForKey:key]] autorelease]];
|
2000-07-27 21:53:39 +00:00
|
|
|
}
|
|
|
|
|
2000-10-04 22:19:43 +00:00
|
|
|
enumerator = [_queryMin keyEnumerator];
|
2000-07-27 21:53:39 +00:00
|
|
|
while((key = [enumerator nextObject]))
|
|
|
|
{
|
|
|
|
[array addObject:[[[EOKeyValueQualifier alloc]
|
|
|
|
initWithKey:key
|
|
|
|
operatorSelector:EOQualifierOperatorGreaterThan
|
2000-10-04 22:19:43 +00:00
|
|
|
value:[_queryMin objectForKey:key]] autorelease]];
|
2000-07-27 21:53:39 +00:00
|
|
|
}
|
2000-10-04 22:19:43 +00:00
|
|
|
resultQualifier=[[[EOAndQualifier alloc] initWithQualifierArray:array] autorelease];
|
|
|
|
LOGObjectFnStop();
|
|
|
|
return resultQualifier;
|
2000-07-27 21:53:39 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
//--------------------------------------------------------------------
|
|
|
|
// qualifyDataSource
|
|
|
|
|
|
|
|
- (void)qualifyDataSource
|
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
LOGObjectFnStart();
|
|
|
|
[_dataSource setQualifier:[self qualifierFromQueryValues]];
|
2000-07-27 21:53:39 +00:00
|
|
|
|
2000-10-04 22:19:43 +00:00
|
|
|
_flags.queryMode = NO;
|
2000-07-27 21:53:39 +00:00
|
|
|
[self fetch];
|
|
|
|
|
2000-10-04 22:19:43 +00:00
|
|
|
LOGObjectFnNotImplemented(); //TODOFN
|
|
|
|
LOGObjectFnStop();
|
2000-07-27 21:53:39 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
//--------------------------------------------------------------------
|
|
|
|
// qualifyDisplayGroup
|
|
|
|
|
|
|
|
- (void)qualifyDisplayGroup
|
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
LOGObjectFnStart();
|
2000-07-27 21:53:39 +00:00
|
|
|
[self setQualifier:[self qualifierFromQueryValues]];
|
|
|
|
|
|
|
|
[self updateDisplayedObjects];
|
2000-10-04 22:19:43 +00:00
|
|
|
_flags.queryMode = NO;
|
|
|
|
LOGObjectFnStop();
|
2000-07-27 21:53:39 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
//--------------------------------------------------------------------
|
|
|
|
// queryBindings
|
|
|
|
|
|
|
|
- (NSMutableDictionary *)queryBindings
|
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
return _queryBindings;
|
2000-07-27 21:53:39 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
//--------------------------------------------------------------------
|
|
|
|
// queryMatch
|
|
|
|
|
|
|
|
- (NSMutableDictionary *)queryMatch
|
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
return _queryMatch;
|
2000-07-27 21:53:39 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
//--------------------------------------------------------------------
|
|
|
|
// queryMax
|
|
|
|
|
|
|
|
- (NSMutableDictionary *)queryMax
|
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
return _queryMax;
|
2000-07-27 21:53:39 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
//--------------------------------------------------------------------
|
|
|
|
// queryMin
|
|
|
|
|
|
|
|
- (NSMutableDictionary *)queryMin
|
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
return _queryMin;
|
2000-07-27 21:53:39 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
//--------------------------------------------------------------------
|
|
|
|
// queryOperator
|
|
|
|
|
|
|
|
- (NSMutableDictionary *)queryOperator
|
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
return _queryOperator;
|
2000-07-27 21:53:39 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
//--------------------------------------------------------------------
|
|
|
|
// redisplay
|
|
|
|
|
|
|
|
-(void)redisplay
|
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
LOGObjectFnStart();
|
|
|
|
LOGObjectFnNotImplemented(); //TODOFN
|
|
|
|
LOGObjectFnStop();
|
2000-07-27 21:53:39 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
//--------------------------------------------------------------------
|
|
|
|
// relationalQualifierOperators
|
|
|
|
|
|
|
|
- (NSArray *)relationalQualifierOperators
|
|
|
|
{
|
|
|
|
return [EOQualifier relationalQualifierOperators];
|
|
|
|
}
|
|
|
|
|
|
|
|
//--------------------------------------------------------------------
|
|
|
|
// secondObjectForQualifier
|
|
|
|
|
|
|
|
-(NSMutableDictionary*)secondObjectForQualifier
|
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
LOGObjectFnStart();
|
|
|
|
LOGObjectFnNotImplemented(); //TODOFN
|
|
|
|
LOGObjectFnStop();
|
|
|
|
return nil;
|
2000-07-27 21:53:39 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
//--------------------------------------------------------------------
|
|
|
|
// selectedObject
|
|
|
|
|
|
|
|
- (id)selectedObject
|
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
id obj=nil;
|
|
|
|
LOGObjectFnStart();
|
|
|
|
if([_selectedObjects count])
|
|
|
|
obj=[_selectedObjects objectAtIndex:0];
|
2000-07-27 21:53:39 +00:00
|
|
|
|
2000-10-04 22:19:43 +00:00
|
|
|
LOGObjectFnStop();
|
|
|
|
return obj;
|
2000-07-27 21:53:39 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
//--------------------------------------------------------------------
|
|
|
|
// selectedObjects
|
|
|
|
|
|
|
|
- (NSArray *)selectedObjects
|
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
return _selectedObjects;
|
2000-07-27 21:53:39 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
//--------------------------------------------------------------------
|
|
|
|
// selectionIndexes
|
|
|
|
|
|
|
|
- (NSArray *)selectionIndexes
|
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
return _selection;
|
2000-07-27 21:53:39 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
//--------------------------------------------------------------------
|
|
|
|
// selectNext
|
|
|
|
|
|
|
|
- (id)selectNext
|
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
unsigned index=0;
|
|
|
|
id obj=nil;
|
|
|
|
LOGObjectFnStart();
|
2000-07-27 21:53:39 +00:00
|
|
|
|
2000-10-04 22:19:43 +00:00
|
|
|
if([_allObjects count]>0)
|
2000-07-27 21:53:39 +00:00
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
if(![_selectedObjects count])
|
|
|
|
[self setSelectionIndexes:
|
|
|
|
[NSArray arrayWithObject:[NSNumber numberWithUnsignedInt:0]]];
|
2000-07-27 21:53:39 +00:00
|
|
|
else
|
2000-10-04 22:19:43 +00:00
|
|
|
{
|
|
|
|
obj = [_selectedObjects objectAtIndex:0];
|
|
|
|
|
|
|
|
if([obj isEqual:[_displayedObjects lastObject]] == YES)
|
|
|
|
{
|
|
|
|
index = [_allObjects indexOfObject:[_displayedObjects
|
|
|
|
objectAtIndex:0]];
|
|
|
|
|
|
|
|
[self setSelectionIndexes:
|
|
|
|
[NSArray arrayWithObject:
|
|
|
|
[NSNumber numberWithUnsignedInt:index]]];
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
index = [_allObjects indexOfObject:obj]+1;
|
|
|
|
|
|
|
|
if(index >= [_allObjects count])
|
|
|
|
index = 0;
|
|
|
|
|
|
|
|
[self setSelectionIndexes:
|
|
|
|
[NSArray arrayWithObject:
|
|
|
|
[NSNumber numberWithUnsignedInt:index]]];
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
LOGObjectFnStop();
|
|
|
|
return nil;//FIXME
|
2000-07-27 21:53:39 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
//--------------------------------------------------------------------
|
|
|
|
// selectObject:
|
|
|
|
|
|
|
|
- (BOOL)selectObject:(id)object
|
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
BOOL result=NO;
|
|
|
|
LOGObjectFnStart();
|
|
|
|
if([_allObjects containsObject:object] == NO)
|
|
|
|
result=NO;
|
|
|
|
else
|
|
|
|
result=[self setSelectionIndexes:
|
|
|
|
[NSArray arrayWithObject:
|
|
|
|
[NSNumber numberWithUnsignedInt:
|
|
|
|
[_allObjects
|
|
|
|
indexOfObject:object]]]];
|
|
|
|
LOGObjectFnStop();
|
|
|
|
return result;
|
2000-07-27 21:53:39 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
//--------------------------------------------------------------------
|
|
|
|
// selectObjectsIdenticalTo:
|
|
|
|
|
|
|
|
- (BOOL)selectObjectsIdenticalTo:(NSArray *)objects
|
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
BOOL result=NO;
|
|
|
|
NSMutableArray *array=nil;
|
|
|
|
NSEnumerator *objsEnum=nil;
|
|
|
|
NSEnumerator *dispEnum=nil;
|
|
|
|
id object=nil;
|
|
|
|
id dispObj=nil;
|
|
|
|
LOGObjectFnStart();
|
2000-07-27 21:53:39 +00:00
|
|
|
|
|
|
|
array = [NSMutableArray arrayWithCapacity:8];
|
|
|
|
|
|
|
|
objsEnum = [objects objectEnumerator];
|
|
|
|
while((object = [objsEnum nextObject]))
|
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
dispEnum = [_displayedObjects objectEnumerator];
|
2000-07-27 21:53:39 +00:00
|
|
|
while((dispObj = [dispEnum nextObject]))
|
|
|
|
{
|
|
|
|
if(dispObj == object)
|
|
|
|
{
|
|
|
|
[array addObject:[NSNumber numberWithUnsignedInt:
|
2000-10-04 22:19:43 +00:00
|
|
|
[_allObjects indexOfObject:object]]];
|
2000-07-27 21:53:39 +00:00
|
|
|
break;
|
2000-10-04 22:19:43 +00:00
|
|
|
};
|
|
|
|
};
|
2000-07-27 21:53:39 +00:00
|
|
|
|
|
|
|
if(dispObj == nil)
|
|
|
|
{
|
|
|
|
[array removeAllObjects];
|
|
|
|
break;
|
2000-10-04 22:19:43 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
result=[self setSelectionIndexes:array];
|
|
|
|
LOGObjectFnStop();
|
|
|
|
return result;
|
2000-07-27 21:53:39 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
//--------------------------------------------------------------------
|
|
|
|
// selectObjectsIdenticalTo:selectFirstOnNoMatch:
|
|
|
|
|
|
|
|
- (BOOL)selectObjectsIdenticalTo:(NSArray *)objects
|
|
|
|
selectFirstOnNoMatch:(BOOL)flag
|
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
BOOL result=NO;
|
|
|
|
unsigned index=0;
|
|
|
|
LOGObjectFnStart();
|
2000-07-27 21:53:39 +00:00
|
|
|
if([self selectObjectsIdenticalTo:objects] == NO && flag == YES)
|
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
if(![_selectedObjects count] &&
|
|
|
|
[_displayedObjects count])
|
2000-07-27 21:53:39 +00:00
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
index = [_allObjects indexOfObject:[_displayedObjects
|
2000-07-27 21:53:39 +00:00
|
|
|
objectAtIndex:0]];
|
|
|
|
[self setSelectionIndexes:
|
|
|
|
[NSArray arrayWithObject:[NSNumber
|
|
|
|
numberWithUnsignedInt:index]]];
|
2000-10-04 22:19:43 +00:00
|
|
|
result=YES;
|
2000-07-27 21:53:39 +00:00
|
|
|
}
|
2000-10-04 22:19:43 +00:00
|
|
|
else
|
|
|
|
result=NO;
|
2000-07-27 21:53:39 +00:00
|
|
|
}
|
2000-10-04 22:19:43 +00:00
|
|
|
else
|
|
|
|
result=YES;
|
|
|
|
LOGObjectFnStop();
|
|
|
|
return result;
|
2000-07-27 21:53:39 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
//--------------------------------------------------------------------
|
|
|
|
// selectPrevious
|
|
|
|
|
|
|
|
- (id)selectPrevious
|
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
unsigned index=0;
|
|
|
|
id obj=nil;
|
|
|
|
LOGObjectFnStart();
|
2000-07-27 21:53:39 +00:00
|
|
|
|
2000-10-04 22:19:43 +00:00
|
|
|
if([_allObjects count]>0)
|
2000-07-27 21:53:39 +00:00
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
if(![_selectedObjects count])
|
|
|
|
[self setSelectionIndexes:
|
|
|
|
[NSArray arrayWithObject:[NSNumber numberWithUnsignedInt:0]]];
|
2000-07-27 21:53:39 +00:00
|
|
|
else
|
2000-10-04 22:19:43 +00:00
|
|
|
{
|
|
|
|
obj = [_selectedObjects objectAtIndex:0];
|
|
|
|
|
|
|
|
if([obj isEqual:[_displayedObjects objectAtIndex:0]] == YES)
|
|
|
|
{
|
|
|
|
index = [_allObjects indexOfObject:[_displayedObjects lastObject]];
|
|
|
|
|
|
|
|
[self setSelectionIndexes:
|
|
|
|
[NSArray arrayWithObject:
|
|
|
|
[NSNumber numberWithUnsignedInt:index]]];
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
index = [_allObjects indexOfObject:obj]-1;
|
|
|
|
|
|
|
|
if(!index || index >= [_allObjects count])
|
|
|
|
index = [_allObjects count] - 1;
|
|
|
|
|
|
|
|
[self setSelectionIndexes:
|
|
|
|
[NSArray arrayWithObject:
|
|
|
|
[NSNumber numberWithUnsignedInt:index]]];
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
LOGObjectFnStop();
|
2000-07-27 21:53:39 +00:00
|
|
|
return nil;
|
|
|
|
}
|
|
|
|
|
|
|
|
//--------------------------------------------------------------------
|
|
|
|
// selectsFirstObjectAfterFetch
|
|
|
|
|
|
|
|
- (BOOL)selectsFirstObjectAfterFetch
|
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
LOGObjectFnStart();
|
|
|
|
return _flags.selectFirstObject;
|
|
|
|
LOGObjectFnStop();
|
2000-07-27 21:53:39 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
//--------------------------------------------------------------------
|
|
|
|
// setBuildsQualifierFromInput:
|
|
|
|
|
|
|
|
- (void)setBuildsQualifierFromInput:(BOOL)flag
|
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
LOGObjectFnStart();
|
|
|
|
LOGObjectFnNotImplemented(); //TODOFN
|
|
|
|
LOGObjectFnStop();
|
2000-07-27 21:53:39 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
//--------------------------------------------------------------------
|
|
|
|
// setCurrentBatchIndex:
|
|
|
|
|
|
|
|
- (void)setCurrentBatchIndex:(unsigned)index_
|
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
unsigned batchCount, num;
|
2000-07-27 21:53:39 +00:00
|
|
|
int i;
|
2000-10-04 22:19:43 +00:00
|
|
|
LOGObjectFnStart();
|
2000-07-27 21:53:39 +00:00
|
|
|
|
2000-10-04 22:19:43 +00:00
|
|
|
if(index_)
|
|
|
|
{
|
|
|
|
[_displayedObjects removeAllObjects];
|
|
|
|
|
|
|
|
batchCount = [self batchCount];
|
2001-10-25 Manuel Guesdon <mguesdon@orange-concept.com>
Applied patch from Turbocat (www.turbocat.de): GSWPatch_04-JUL_2001.diff
except GSWeb.framework/GSWInput.m/.h one (have to verify coherence of it)
* GSWAdaptors/common/GSWApp.c/.h: Added GSWAppInfo
* GSWAdaptors/common/GSWAppConnectNSSocket.c: Changes on includes
* GSWAdaptors/common/GSWLoadBalancing.h: Added parameter to GSWLoadBalancing_Find*
* GSWAdaptors/common/GSWLoadBalancing.c: added p_pURLComponents parameter,
o management of AppInfo
* GSWAdaptors/common/GSWAppRequest.c: managing refused connections
* GSWExtensions.framework/GSWStatsPage.gswc/GSWStatsPage.gswd: misspelling correction
* GSWExtensions.framework/GSWStatsPage.gswc/GSWStatsPage.html: Various Changes
* GSWExtensions.framework/GSWStatsPage.m: changes in login/password validation
o -awake added
* GSWeb.framework/GSWApplication.m/.h: Manage refusing new sessions
* GSWeb.framework/GSWBundle.m: debug traces commented
* GSWeb.framework/GSWComponent.m: implementation of ensureAwakeInContext:
* GSWeb.framework/GSWAssociation.m: special case for returned value of type GSMutableArray (Why ?)
* GSWeb.framework/GSWComponentRequestHandler.m: comments added
* GSWeb.framework/GSWDefaultAdaptorThread.m: added debug traces
* GSWeb.framework/GSWDirectActionRequestHandler.m: replaced GSWDirectAction by DirectAction
* GSWeb.framework/GSWDisplayGroup.m: initialize _baseIndex,
o correct misspelled names,
o added -description,
o use delegate in _changedInEditingContext:, _invalidatedAllObjectsInStore:,
o changes in -deleteObjectAtIndex:,
* GSWeb.framework/GSWFileUpload.m: different handling of _fileDatasCount,
handle bug in omniweb-browser
* GSWeb.framework/GSWHyperlink.m: added ensureAwakeInContext: call
* GSWeb.framework/GSWImageButton.m: added ensureAwakeInContext: call
* GSWeb.framework/GSWPopUpButton.m:
o use [response_ appendContentString:_noSelectionStringValue] instead of
[response_ appendContentHTMLString:_noSelectionStringValue]
o handle no displayString case
o use [response_ appendContentString:_displayStringValue] instead of
[response_ appendContentHTMLString:_displayStringValue]
* GSWeb.framework/GSWConfig.h: set GSWOPTVALUE_AutoOpenInBrowser to NO
* GSWeb.framework/GSWElementIDString.m: comment some debug traces
* GSWeb.framework/GSWHTMLStaticGroup.m/.h: added support of documentType
* GSWeb.framework/GSWHTMLURLValuedElement.m: addeded debug trace
* GSWeb.framework/GSWKeyValueAssociation.m: use NSStringFromClass([retValue class])
instead of [retValue class] for log
* GSWeb.framework/GSWRequest.m/.h: added -(NSDictionary*)headers;
o added test on _contentType in _contentType
o autorelease _dict in -uriElements
* GSWeb.framework/GSWResponse.m/.h: added -setHeaders: and -headers
o Added GSWResponse (GSWResponseRefused)
o return self in -generateResponse
* GSWeb.framework/GSWServerSessionStore.m/.h: added @interface GSWServerSessionStore (GSWServerSessionStoreInfo)
o added refusing session management
* GSWeb.framework/GSWSession.m:
o in -terminate forces to call removeSessionWithID in GSWServerSessionStore to dealloc it
* GSWeb.framework/GSWSessionTimeOutManager.m/.h: replace NSMutableOrderedArray* sessionOrderedTimeOuts;
by NSMutableArray* sessionOrderedTimeOuts;
o added traces
o added GSWSessionTimeOutManager (GSWSessionRefused)
* GSWeb.framework/GSWSubmitButton.m: raise exception if no element is returned
* GSWeb.framework/GSWTemplateParser.m: added doctype management
* GSWeb.framework/GSWUtils.h: added if defined for __NetBSD__
* GSWeb.framework/GSWWOCompatibility.m/.h: added WOGenericContainer, WOImageButton, WOHyperlink
* GSWeb.framework/attach.m: added if defined for __NetBSD__
* GSWeb.framework/stacktrace.m: added if defined for __NetBSD__
* GSWeb.framework/GSWTemplateParserXML.m: traces commented
o test XML node content before adding it
* GSWeb.framework/NSObject+IVarAccess+PerformSel.m
o changes in -getIVarNamed: and in setIVarNamed:withValue: (use of sel+imp, tests on parameters)
* GSWAdaptors/common/GSWHTTPResponse.c: change in GSWHTTPResponse_GetResponse()
o debug traces removed
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gsweb/trunk@11251 72102866-910b-0410-8b05-ffd578937521
2001-10-26 08:50:52 +00:00
|
|
|
NSLog(@"setCurrentBatchIndex : [self batchCount] = %d", [self batchCount]);
|
2000-10-04 22:19:43 +00:00
|
|
|
if(index_ > batchCount)
|
|
|
|
index_ = 1;
|
|
|
|
|
2000-11-24 09:32:34 +00:00
|
|
|
num = [_allObjects count];
|
2001-10-25 Manuel Guesdon <mguesdon@orange-concept.com>
Applied patch from Turbocat (www.turbocat.de): GSWPatch_04-JUL_2001.diff
except GSWeb.framework/GSWInput.m/.h one (have to verify coherence of it)
* GSWAdaptors/common/GSWApp.c/.h: Added GSWAppInfo
* GSWAdaptors/common/GSWAppConnectNSSocket.c: Changes on includes
* GSWAdaptors/common/GSWLoadBalancing.h: Added parameter to GSWLoadBalancing_Find*
* GSWAdaptors/common/GSWLoadBalancing.c: added p_pURLComponents parameter,
o management of AppInfo
* GSWAdaptors/common/GSWAppRequest.c: managing refused connections
* GSWExtensions.framework/GSWStatsPage.gswc/GSWStatsPage.gswd: misspelling correction
* GSWExtensions.framework/GSWStatsPage.gswc/GSWStatsPage.html: Various Changes
* GSWExtensions.framework/GSWStatsPage.m: changes in login/password validation
o -awake added
* GSWeb.framework/GSWApplication.m/.h: Manage refusing new sessions
* GSWeb.framework/GSWBundle.m: debug traces commented
* GSWeb.framework/GSWComponent.m: implementation of ensureAwakeInContext:
* GSWeb.framework/GSWAssociation.m: special case for returned value of type GSMutableArray (Why ?)
* GSWeb.framework/GSWComponentRequestHandler.m: comments added
* GSWeb.framework/GSWDefaultAdaptorThread.m: added debug traces
* GSWeb.framework/GSWDirectActionRequestHandler.m: replaced GSWDirectAction by DirectAction
* GSWeb.framework/GSWDisplayGroup.m: initialize _baseIndex,
o correct misspelled names,
o added -description,
o use delegate in _changedInEditingContext:, _invalidatedAllObjectsInStore:,
o changes in -deleteObjectAtIndex:,
* GSWeb.framework/GSWFileUpload.m: different handling of _fileDatasCount,
handle bug in omniweb-browser
* GSWeb.framework/GSWHyperlink.m: added ensureAwakeInContext: call
* GSWeb.framework/GSWImageButton.m: added ensureAwakeInContext: call
* GSWeb.framework/GSWPopUpButton.m:
o use [response_ appendContentString:_noSelectionStringValue] instead of
[response_ appendContentHTMLString:_noSelectionStringValue]
o handle no displayString case
o use [response_ appendContentString:_displayStringValue] instead of
[response_ appendContentHTMLString:_displayStringValue]
* GSWeb.framework/GSWConfig.h: set GSWOPTVALUE_AutoOpenInBrowser to NO
* GSWeb.framework/GSWElementIDString.m: comment some debug traces
* GSWeb.framework/GSWHTMLStaticGroup.m/.h: added support of documentType
* GSWeb.framework/GSWHTMLURLValuedElement.m: addeded debug trace
* GSWeb.framework/GSWKeyValueAssociation.m: use NSStringFromClass([retValue class])
instead of [retValue class] for log
* GSWeb.framework/GSWRequest.m/.h: added -(NSDictionary*)headers;
o added test on _contentType in _contentType
o autorelease _dict in -uriElements
* GSWeb.framework/GSWResponse.m/.h: added -setHeaders: and -headers
o Added GSWResponse (GSWResponseRefused)
o return self in -generateResponse
* GSWeb.framework/GSWServerSessionStore.m/.h: added @interface GSWServerSessionStore (GSWServerSessionStoreInfo)
o added refusing session management
* GSWeb.framework/GSWSession.m:
o in -terminate forces to call removeSessionWithID in GSWServerSessionStore to dealloc it
* GSWeb.framework/GSWSessionTimeOutManager.m/.h: replace NSMutableOrderedArray* sessionOrderedTimeOuts;
by NSMutableArray* sessionOrderedTimeOuts;
o added traces
o added GSWSessionTimeOutManager (GSWSessionRefused)
* GSWeb.framework/GSWSubmitButton.m: raise exception if no element is returned
* GSWeb.framework/GSWTemplateParser.m: added doctype management
* GSWeb.framework/GSWUtils.h: added if defined for __NetBSD__
* GSWeb.framework/GSWWOCompatibility.m/.h: added WOGenericContainer, WOImageButton, WOHyperlink
* GSWeb.framework/attach.m: added if defined for __NetBSD__
* GSWeb.framework/stacktrace.m: added if defined for __NetBSD__
* GSWeb.framework/GSWTemplateParserXML.m: traces commented
o test XML node content before adding it
* GSWeb.framework/NSObject+IVarAccess+PerformSel.m
o changes in -getIVarNamed: and in setIVarNamed:withValue: (use of sel+imp, tests on parameters)
* GSWAdaptors/common/GSWHTTPResponse.c: change in GSWHTTPResponse_GetResponse()
o debug traces removed
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gsweb/trunk@11251 72102866-910b-0410-8b05-ffd578937521
2001-10-26 08:50:52 +00:00
|
|
|
NSLog(@"setCurrentBatchIndex : [_allObjects count] = %d", [_allObjects count]);
|
2000-11-24 09:32:34 +00:00
|
|
|
|
|
|
|
if(_numberOfObjectsPerBatch && _numberOfObjectsPerBatch < num)
|
2000-10-04 22:19:43 +00:00
|
|
|
num = _numberOfObjectsPerBatch;
|
|
|
|
|
|
|
|
if(num)
|
|
|
|
{
|
2001-10-25 Manuel Guesdon <mguesdon@orange-concept.com>
Applied patch from Turbocat (www.turbocat.de): GSWPatch_04-JUL_2001.diff
except GSWeb.framework/GSWInput.m/.h one (have to verify coherence of it)
* GSWAdaptors/common/GSWApp.c/.h: Added GSWAppInfo
* GSWAdaptors/common/GSWAppConnectNSSocket.c: Changes on includes
* GSWAdaptors/common/GSWLoadBalancing.h: Added parameter to GSWLoadBalancing_Find*
* GSWAdaptors/common/GSWLoadBalancing.c: added p_pURLComponents parameter,
o management of AppInfo
* GSWAdaptors/common/GSWAppRequest.c: managing refused connections
* GSWExtensions.framework/GSWStatsPage.gswc/GSWStatsPage.gswd: misspelling correction
* GSWExtensions.framework/GSWStatsPage.gswc/GSWStatsPage.html: Various Changes
* GSWExtensions.framework/GSWStatsPage.m: changes in login/password validation
o -awake added
* GSWeb.framework/GSWApplication.m/.h: Manage refusing new sessions
* GSWeb.framework/GSWBundle.m: debug traces commented
* GSWeb.framework/GSWComponent.m: implementation of ensureAwakeInContext:
* GSWeb.framework/GSWAssociation.m: special case for returned value of type GSMutableArray (Why ?)
* GSWeb.framework/GSWComponentRequestHandler.m: comments added
* GSWeb.framework/GSWDefaultAdaptorThread.m: added debug traces
* GSWeb.framework/GSWDirectActionRequestHandler.m: replaced GSWDirectAction by DirectAction
* GSWeb.framework/GSWDisplayGroup.m: initialize _baseIndex,
o correct misspelled names,
o added -description,
o use delegate in _changedInEditingContext:, _invalidatedAllObjectsInStore:,
o changes in -deleteObjectAtIndex:,
* GSWeb.framework/GSWFileUpload.m: different handling of _fileDatasCount,
handle bug in omniweb-browser
* GSWeb.framework/GSWHyperlink.m: added ensureAwakeInContext: call
* GSWeb.framework/GSWImageButton.m: added ensureAwakeInContext: call
* GSWeb.framework/GSWPopUpButton.m:
o use [response_ appendContentString:_noSelectionStringValue] instead of
[response_ appendContentHTMLString:_noSelectionStringValue]
o handle no displayString case
o use [response_ appendContentString:_displayStringValue] instead of
[response_ appendContentHTMLString:_displayStringValue]
* GSWeb.framework/GSWConfig.h: set GSWOPTVALUE_AutoOpenInBrowser to NO
* GSWeb.framework/GSWElementIDString.m: comment some debug traces
* GSWeb.framework/GSWHTMLStaticGroup.m/.h: added support of documentType
* GSWeb.framework/GSWHTMLURLValuedElement.m: addeded debug trace
* GSWeb.framework/GSWKeyValueAssociation.m: use NSStringFromClass([retValue class])
instead of [retValue class] for log
* GSWeb.framework/GSWRequest.m/.h: added -(NSDictionary*)headers;
o added test on _contentType in _contentType
o autorelease _dict in -uriElements
* GSWeb.framework/GSWResponse.m/.h: added -setHeaders: and -headers
o Added GSWResponse (GSWResponseRefused)
o return self in -generateResponse
* GSWeb.framework/GSWServerSessionStore.m/.h: added @interface GSWServerSessionStore (GSWServerSessionStoreInfo)
o added refusing session management
* GSWeb.framework/GSWSession.m:
o in -terminate forces to call removeSessionWithID in GSWServerSessionStore to dealloc it
* GSWeb.framework/GSWSessionTimeOutManager.m/.h: replace NSMutableOrderedArray* sessionOrderedTimeOuts;
by NSMutableArray* sessionOrderedTimeOuts;
o added traces
o added GSWSessionTimeOutManager (GSWSessionRefused)
* GSWeb.framework/GSWSubmitButton.m: raise exception if no element is returned
* GSWeb.framework/GSWTemplateParser.m: added doctype management
* GSWeb.framework/GSWUtils.h: added if defined for __NetBSD__
* GSWeb.framework/GSWWOCompatibility.m/.h: added WOGenericContainer, WOImageButton, WOHyperlink
* GSWeb.framework/attach.m: added if defined for __NetBSD__
* GSWeb.framework/stacktrace.m: added if defined for __NetBSD__
* GSWeb.framework/GSWTemplateParserXML.m: traces commented
o test XML node content before adding it
* GSWeb.framework/NSObject+IVarAccess+PerformSel.m
o changes in -getIVarNamed: and in setIVarNamed:withValue: (use of sel+imp, tests on parameters)
* GSWAdaptors/common/GSWHTTPResponse.c: change in GSWHTTPResponse_GetResponse()
o debug traces removed
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gsweb/trunk@11251 72102866-910b-0410-8b05-ffd578937521
2001-10-26 08:50:52 +00:00
|
|
|
NSLog(@"setCurrentBatchIndex : index_ = %d", index_);
|
|
|
|
NSLog(@"setCurrentBatchIndex : num = %d", num);
|
|
|
|
|
2000-10-04 22:19:43 +00:00
|
|
|
for( i = (index_-1) * num;
|
2001-10-25 Manuel Guesdon <mguesdon@orange-concept.com>
Applied patch from Turbocat (www.turbocat.de): GSWPatch_04-JUL_2001.diff
except GSWeb.framework/GSWInput.m/.h one (have to verify coherence of it)
* GSWAdaptors/common/GSWApp.c/.h: Added GSWAppInfo
* GSWAdaptors/common/GSWAppConnectNSSocket.c: Changes on includes
* GSWAdaptors/common/GSWLoadBalancing.h: Added parameter to GSWLoadBalancing_Find*
* GSWAdaptors/common/GSWLoadBalancing.c: added p_pURLComponents parameter,
o management of AppInfo
* GSWAdaptors/common/GSWAppRequest.c: managing refused connections
* GSWExtensions.framework/GSWStatsPage.gswc/GSWStatsPage.gswd: misspelling correction
* GSWExtensions.framework/GSWStatsPage.gswc/GSWStatsPage.html: Various Changes
* GSWExtensions.framework/GSWStatsPage.m: changes in login/password validation
o -awake added
* GSWeb.framework/GSWApplication.m/.h: Manage refusing new sessions
* GSWeb.framework/GSWBundle.m: debug traces commented
* GSWeb.framework/GSWComponent.m: implementation of ensureAwakeInContext:
* GSWeb.framework/GSWAssociation.m: special case for returned value of type GSMutableArray (Why ?)
* GSWeb.framework/GSWComponentRequestHandler.m: comments added
* GSWeb.framework/GSWDefaultAdaptorThread.m: added debug traces
* GSWeb.framework/GSWDirectActionRequestHandler.m: replaced GSWDirectAction by DirectAction
* GSWeb.framework/GSWDisplayGroup.m: initialize _baseIndex,
o correct misspelled names,
o added -description,
o use delegate in _changedInEditingContext:, _invalidatedAllObjectsInStore:,
o changes in -deleteObjectAtIndex:,
* GSWeb.framework/GSWFileUpload.m: different handling of _fileDatasCount,
handle bug in omniweb-browser
* GSWeb.framework/GSWHyperlink.m: added ensureAwakeInContext: call
* GSWeb.framework/GSWImageButton.m: added ensureAwakeInContext: call
* GSWeb.framework/GSWPopUpButton.m:
o use [response_ appendContentString:_noSelectionStringValue] instead of
[response_ appendContentHTMLString:_noSelectionStringValue]
o handle no displayString case
o use [response_ appendContentString:_displayStringValue] instead of
[response_ appendContentHTMLString:_displayStringValue]
* GSWeb.framework/GSWConfig.h: set GSWOPTVALUE_AutoOpenInBrowser to NO
* GSWeb.framework/GSWElementIDString.m: comment some debug traces
* GSWeb.framework/GSWHTMLStaticGroup.m/.h: added support of documentType
* GSWeb.framework/GSWHTMLURLValuedElement.m: addeded debug trace
* GSWeb.framework/GSWKeyValueAssociation.m: use NSStringFromClass([retValue class])
instead of [retValue class] for log
* GSWeb.framework/GSWRequest.m/.h: added -(NSDictionary*)headers;
o added test on _contentType in _contentType
o autorelease _dict in -uriElements
* GSWeb.framework/GSWResponse.m/.h: added -setHeaders: and -headers
o Added GSWResponse (GSWResponseRefused)
o return self in -generateResponse
* GSWeb.framework/GSWServerSessionStore.m/.h: added @interface GSWServerSessionStore (GSWServerSessionStoreInfo)
o added refusing session management
* GSWeb.framework/GSWSession.m:
o in -terminate forces to call removeSessionWithID in GSWServerSessionStore to dealloc it
* GSWeb.framework/GSWSessionTimeOutManager.m/.h: replace NSMutableOrderedArray* sessionOrderedTimeOuts;
by NSMutableArray* sessionOrderedTimeOuts;
o added traces
o added GSWSessionTimeOutManager (GSWSessionRefused)
* GSWeb.framework/GSWSubmitButton.m: raise exception if no element is returned
* GSWeb.framework/GSWTemplateParser.m: added doctype management
* GSWeb.framework/GSWUtils.h: added if defined for __NetBSD__
* GSWeb.framework/GSWWOCompatibility.m/.h: added WOGenericContainer, WOImageButton, WOHyperlink
* GSWeb.framework/attach.m: added if defined for __NetBSD__
* GSWeb.framework/stacktrace.m: added if defined for __NetBSD__
* GSWeb.framework/GSWTemplateParserXML.m: traces commented
o test XML node content before adding it
* GSWeb.framework/NSObject+IVarAccess+PerformSel.m
o changes in -getIVarNamed: and in setIVarNamed:withValue: (use of sel+imp, tests on parameters)
* GSWAdaptors/common/GSWHTTPResponse.c: change in GSWHTTPResponse_GetResponse()
o debug traces removed
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gsweb/trunk@11251 72102866-910b-0410-8b05-ffd578937521
2001-10-26 08:50:52 +00:00
|
|
|
((i < index_ * num) && (i < [_allObjects count]));
|
2000-10-04 22:19:43 +00:00
|
|
|
i++)
|
|
|
|
[_displayedObjects addObject:[_allObjects objectAtIndex:i]];
|
|
|
|
|
|
|
|
if(_flags.selectFirstObject == YES && [_selection count])
|
|
|
|
[self setSelectionIndexes:
|
|
|
|
[NSArray arrayWithObject:
|
|
|
|
[NSNumber numberWithUnsignedInt:
|
|
|
|
[_allObjects
|
|
|
|
indexOfObject:
|
|
|
|
[_displayedObjects objectAtIndex:0]]]]];
|
|
|
|
};
|
|
|
|
};
|
|
|
|
LOGObjectFnStop();
|
|
|
|
}
|
2000-07-27 21:53:39 +00:00
|
|
|
|
2000-10-04 22:19:43 +00:00
|
|
|
-(void)_checkSelectedBatchConsistency
|
|
|
|
{
|
|
|
|
LOGObjectFnStart();
|
|
|
|
LOGObjectFnNotImplemented(); //TODOFN
|
|
|
|
LOGObjectFnStop();
|
|
|
|
};
|
2000-07-27 21:53:39 +00:00
|
|
|
|
|
|
|
|
2000-10-04 22:19:43 +00:00
|
|
|
-(BOOL)_allowsNullForKey:(id)key_
|
|
|
|
{
|
|
|
|
LOGObjectFnStart();
|
|
|
|
LOGObjectFnNotImplemented(); //TODOFN
|
|
|
|
LOGObjectFnStop();
|
|
|
|
return NO;
|
|
|
|
};
|
2000-07-27 21:53:39 +00:00
|
|
|
|
|
|
|
|
|
|
|
//--------------------------------------------------------------------
|
|
|
|
// setDefaultStringMatchFormat:
|
|
|
|
|
|
|
|
- (void)setDefaultStringMatchFormat:(NSString *)format
|
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
LOGObjectFnStart();
|
|
|
|
ASSIGN(_defaultStringMatchFormat, format);
|
|
|
|
LOGObjectFnStop();
|
2000-07-27 21:53:39 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
//--------------------------------------------------------------------
|
|
|
|
// setDefaultStringMatchOperator:
|
|
|
|
|
|
|
|
- (void)setDefaultStringMatchOperator:(NSString *)operator
|
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
LOGObjectFnStart();
|
|
|
|
ASSIGN(_defaultStringMatchOperator, operator);
|
|
|
|
LOGObjectFnStop();
|
2000-07-27 21:53:39 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//--------------------------------------------------------------------
|
|
|
|
// setDetailKey:
|
|
|
|
|
|
|
|
- (void)setDetailKey:(NSString *)detailKey
|
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
EODetailDataSource *source=nil;
|
|
|
|
LOGObjectFnStart();
|
2000-07-27 21:53:39 +00:00
|
|
|
|
|
|
|
if([self hasDetailDataSource] == YES)
|
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
source = (EODetailDataSource *)_dataSource;
|
2000-07-27 21:53:39 +00:00
|
|
|
[source qualifyWithRelationshipKey:detailKey
|
|
|
|
ofObject:[source masterObject]];
|
|
|
|
}
|
2000-10-04 22:19:43 +00:00
|
|
|
LOGObjectFnStop();
|
2000-07-27 21:53:39 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
//--------------------------------------------------------------------
|
|
|
|
// setFetchesOnLoad:
|
|
|
|
|
|
|
|
- (void)setFetchesOnLoad:(BOOL)flag
|
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
LOGObjectFnStart();
|
|
|
|
_flags.autoFetch = flag;
|
|
|
|
LOGObjectFnStop();
|
2000-07-27 21:53:39 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
//--------------------------------------------------------------------
|
|
|
|
// setInQueryMode:
|
|
|
|
|
|
|
|
- (void)setInQueryMode:(BOOL)flag
|
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
LOGObjectFnStart();
|
|
|
|
_flags.queryMode = flag;
|
|
|
|
LOGObjectFnStop();
|
2000-07-27 21:53:39 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
//--------------------------------------------------------------------
|
|
|
|
// setInsertedObjectDefaultValues:
|
|
|
|
|
|
|
|
- (void)setInsertedObjectDefaultValues:(NSDictionary *)defaultValues
|
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
LOGObjectFnStart();
|
|
|
|
ASSIGN(_insertedObjectDefaultValues, defaultValues);
|
|
|
|
LOGObjectFnStop();
|
2000-07-27 21:53:39 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
//--------------------------------------------------------------------
|
|
|
|
// setLocalKeys:
|
|
|
|
|
|
|
|
- (void)setLocalKeys:(NSArray *)keys
|
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
LOGObjectFnStart();
|
|
|
|
ASSIGN(_localKeys, keys);
|
|
|
|
LOGObjectFnStop();
|
2000-07-27 21:53:39 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
//--------------------------------------------------------------------
|
|
|
|
// setMasterObject:
|
|
|
|
|
|
|
|
- (void)setMasterObject:(id)masterObject
|
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
EODetailDataSource *source=nil;
|
|
|
|
LOGObjectFnStart();
|
2000-07-27 21:53:39 +00:00
|
|
|
|
|
|
|
if([self hasDetailDataSource] == YES)
|
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
source = (EODetailDataSource *)_dataSource;
|
|
|
|
[_dataSource qualifyWithRelationshipKey:[source detailKey]
|
2000-07-27 21:53:39 +00:00
|
|
|
ofObject:masterObject];
|
|
|
|
}
|
2000-10-04 22:19:43 +00:00
|
|
|
LOGObjectFnStop();
|
2000-07-27 21:53:39 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
//--------------------------------------------------------------------
|
|
|
|
// setNumberOfObjectsPerBatch:
|
|
|
|
|
|
|
|
- (void)setNumberOfObjectsPerBatch:(unsigned)count
|
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
LOGObjectFnStart();
|
|
|
|
//FIXME call clearSelection
|
|
|
|
|
|
|
|
_numberOfObjectsPerBatch = count;
|
|
|
|
_batchIndex=max(1,_batchIndex);
|
|
|
|
LOGObjectFnStop();
|
2000-07-27 21:53:39 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
//--------------------------------------------------------------------
|
|
|
|
// setObjectArray:
|
|
|
|
|
|
|
|
- (void)setObjectArray:(NSArray *)objects
|
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
LOGObjectFnStart();
|
|
|
|
NSDebugMLog(@"objects=%@",objects);
|
|
|
|
[_allObjects removeAllObjects];
|
|
|
|
[_allObjects addObjectsFromArray:objects];
|
2000-07-27 21:53:39 +00:00
|
|
|
|
|
|
|
[self updateDisplayedObjects];
|
|
|
|
|
|
|
|
// TODO selection
|
2000-10-04 22:19:43 +00:00
|
|
|
LOGObjectFnStop();
|
2000-07-27 21:53:39 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
//--------------------------------------------------------------------
|
|
|
|
// setQualifier:
|
|
|
|
|
|
|
|
- (void)setQualifier:(EOQualifier *)qualifier_
|
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
LOGObjectFnStart();
|
|
|
|
ASSIGN(_qualifier, qualifier_);
|
|
|
|
LOGObjectFnStop();
|
2000-07-27 21:53:39 +00:00
|
|
|
}
|
|
|
|
|
2000-08-01 10:03:56 +00:00
|
|
|
//--------------------------------------------------------------------
|
|
|
|
// setSelectedObject:
|
|
|
|
|
|
|
|
- (void)setSelectedObject:(id)object
|
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
LOGObjectFnStart();
|
2000-08-01 10:03:56 +00:00
|
|
|
[self selectObject:object];
|
2000-10-04 22:19:43 +00:00
|
|
|
LOGObjectFnStop();
|
2000-08-01 10:03:56 +00:00
|
|
|
}
|
|
|
|
|
2000-10-04 22:19:43 +00:00
|
|
|
//--------------------------------------------------------------------
|
|
|
|
// setSelectedObjects:
|
|
|
|
|
2000-12-08 11:46:21 +00:00
|
|
|
- (void)setSelectedObjects:(NSArray *)objects
|
2000-10-04 22:19:43 +00:00
|
|
|
{
|
2000-12-08 11:46:21 +00:00
|
|
|
NSMutableArray *indexArray;
|
|
|
|
NSEnumerator *enumerator;
|
|
|
|
id object;
|
|
|
|
|
2000-10-04 22:19:43 +00:00
|
|
|
LOGObjectFnStart();
|
2000-12-08 11:46:21 +00:00
|
|
|
|
|
|
|
indexArray = [NSMutableArray arrayWithCapacity:16];
|
|
|
|
|
|
|
|
enumerator = [objects objectEnumerator];
|
|
|
|
while((object = [enumerator nextObject]))
|
|
|
|
{
|
|
|
|
if([_allObjects containsObject:object] == YES)
|
|
|
|
[indexArray addObject:[NSNumber numberWithUnsignedInt:
|
|
|
|
[_allObjects indexOfObject:object]]];
|
|
|
|
}
|
|
|
|
|
|
|
|
[self setSelectionIndexes:indexArray];
|
|
|
|
|
2000-10-04 22:19:43 +00:00
|
|
|
LOGObjectFnStop();
|
|
|
|
}
|
2000-07-27 21:53:39 +00:00
|
|
|
//--------------------------------------------------------------------
|
|
|
|
// setSelectionIndexes:
|
|
|
|
|
|
|
|
- (BOOL)setSelectionIndexes:(NSArray *)selection_
|
|
|
|
{
|
|
|
|
NSEnumerator *objsEnum;
|
|
|
|
NSNumber *number;
|
2000-10-04 22:19:43 +00:00
|
|
|
LOGObjectFnStart();
|
2000-07-27 21:53:39 +00:00
|
|
|
|
2000-10-04 22:19:43 +00:00
|
|
|
if(_delegateRespondsTo.shouldChangeSelection == YES)
|
2000-07-27 21:53:39 +00:00
|
|
|
if([delegate displayGroup:self
|
|
|
|
shouldChangeSelectionToIndexes:selection_] == NO)
|
|
|
|
return NO;
|
|
|
|
|
|
|
|
objsEnum = [selection_ objectEnumerator];
|
|
|
|
while((number = [objsEnum nextObject]))
|
|
|
|
{
|
|
|
|
NS_DURING
|
2000-10-04 22:19:43 +00:00
|
|
|
[_allObjects objectAtIndex:[number unsignedIntValue]];
|
2000-07-27 21:53:39 +00:00
|
|
|
NS_HANDLER
|
|
|
|
return NO;
|
|
|
|
NS_ENDHANDLER;
|
|
|
|
}
|
|
|
|
|
2000-10-04 22:19:43 +00:00
|
|
|
[_selectedObjects removeAllObjects];
|
2000-07-27 21:53:39 +00:00
|
|
|
|
|
|
|
objsEnum = [selection_ objectEnumerator];
|
|
|
|
while((number = [objsEnum nextObject]))
|
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
[_selectedObjects
|
|
|
|
addObject:[_allObjects objectAtIndex:[number unsignedIntValue]]];
|
2000-07-27 21:53:39 +00:00
|
|
|
}
|
|
|
|
|
2000-10-04 22:19:43 +00:00
|
|
|
ASSIGN(_selection, selection_);
|
2000-07-27 21:53:39 +00:00
|
|
|
|
2000-10-04 22:19:43 +00:00
|
|
|
if(_delegateRespondsTo.didChangeSelection == YES)
|
2000-07-27 21:53:39 +00:00
|
|
|
[delegate displayGroupDidChangeSelection:self];
|
|
|
|
|
2000-10-04 22:19:43 +00:00
|
|
|
if(_delegateRespondsTo.didChangeSelectedObjects == YES)
|
2000-07-27 21:53:39 +00:00
|
|
|
[delegate displayGroupDidChangeSelectedObjects:self];
|
|
|
|
|
2000-10-04 22:19:43 +00:00
|
|
|
LOGObjectFnStop();
|
2000-07-27 21:53:39 +00:00
|
|
|
return YES;
|
|
|
|
}
|
|
|
|
|
|
|
|
//--------------------------------------------------------------------
|
|
|
|
// setSelectsFirstObjectAfterFetch:
|
|
|
|
|
|
|
|
- (void)setSelectsFirstObjectAfterFetch:(BOOL)flag
|
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
LOGObjectFnStart();
|
|
|
|
_flags.selectFirstObject = flag;
|
|
|
|
LOGObjectFnStop();
|
2000-07-27 21:53:39 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
//--------------------------------------------------------------------
|
|
|
|
// setSortOrdering:
|
|
|
|
|
2000-10-04 22:19:43 +00:00
|
|
|
- (void)setSortOrderings:(NSArray *)orderings
|
2000-07-27 21:53:39 +00:00
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
LOGObjectFnStart();
|
|
|
|
ASSIGN(_sortOrdering, orderings);
|
|
|
|
LOGObjectFnStop();
|
2000-07-27 21:53:39 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
//--------------------------------------------------------------------
|
|
|
|
// setValidatesChangesImmediately:
|
|
|
|
|
|
|
|
- (void)setValidatesChangesImmediately:(BOOL)flag
|
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
LOGObjectFnStart();
|
|
|
|
_flags.validateImmediately = flag;
|
|
|
|
LOGObjectFnStop();
|
2000-07-27 21:53:39 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
//--------------------------------------------------------------------
|
|
|
|
// sortOrdering
|
|
|
|
|
2000-10-04 22:19:43 +00:00
|
|
|
- (NSArray *)sortOrderings
|
2000-07-27 21:53:39 +00:00
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
LOGObjectFnStart();
|
|
|
|
LOGObjectFnStop();
|
|
|
|
return _sortOrdering;
|
2000-07-27 21:53:39 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
//--------------------------------------------------------------------
|
|
|
|
// updateDisplayedObjects
|
|
|
|
|
|
|
|
- (void)updateDisplayedObjects
|
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
NSEnumerator *objsEnum=nil;
|
|
|
|
id object=nil;
|
|
|
|
LOGObjectFnStart();
|
2000-07-27 21:53:39 +00:00
|
|
|
|
2000-10-04 22:19:43 +00:00
|
|
|
[_displayedObjects removeAllObjects];
|
2000-07-27 21:53:39 +00:00
|
|
|
|
2000-10-04 22:19:43 +00:00
|
|
|
if(_delegateRespondsTo.displayArrayForObjects == YES)
|
2000-07-27 21:53:39 +00:00
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
[_displayedObjects
|
2000-07-27 21:53:39 +00:00
|
|
|
addObjectsFromArray:[delegate displayGroup:self
|
2000-10-04 22:19:43 +00:00
|
|
|
displayArrayForObjects:_allObjects]];
|
2000-07-27 21:53:39 +00:00
|
|
|
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
2000-10-04 22:19:43 +00:00
|
|
|
if(_qualifier)
|
2000-07-27 21:53:39 +00:00
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
objsEnum = [_allObjects objectEnumerator];
|
2000-07-27 21:53:39 +00:00
|
|
|
while((object = [objsEnum nextObject]))
|
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
if([_qualifier evaluateWithObject:object] == YES)
|
|
|
|
[_displayedObjects addObject:object];
|
2000-07-27 21:53:39 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
else
|
2000-08-13 14:22:02 +00:00
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
_batchIndex = [self batchCount];
|
2000-08-13 14:22:02 +00:00
|
|
|
[self displayNextBatch];
|
|
|
|
}
|
2000-07-27 21:53:39 +00:00
|
|
|
|
2000-10-04 22:19:43 +00:00
|
|
|
if(_sortOrdering)
|
|
|
|
[_displayedObjects sortUsingKeyOrderArray:_sortOrdering];
|
|
|
|
LOGObjectFnStop();
|
2000-07-27 21:53:39 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
//--------------------------------------------------------------------
|
|
|
|
// validatesChangesImmediately
|
|
|
|
|
|
|
|
- (BOOL)validatesChangesImmediately
|
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
LOGObjectFnStart();
|
|
|
|
LOGObjectFnStop();
|
|
|
|
return _flags.validateImmediately;
|
2000-07-27 21:53:39 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
- (id)initWithCoder:(NSCoder *)coder
|
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
LOGObjectFnStart();
|
2000-07-27 21:53:39 +00:00
|
|
|
[self notImplemented:_cmd];
|
2000-10-04 22:19:43 +00:00
|
|
|
LOGObjectFnStop();
|
2000-07-27 21:53:39 +00:00
|
|
|
return nil;
|
|
|
|
}
|
|
|
|
|
|
|
|
- (void)encodeWithCoder:(NSCoder *)coder
|
|
|
|
{
|
2000-10-04 22:19:43 +00:00
|
|
|
LOGObjectFnStart();
|
2000-07-27 21:53:39 +00:00
|
|
|
[self notImplemented:_cmd];
|
2000-10-04 22:19:43 +00:00
|
|
|
LOGObjectFnStop();
|
2000-07-27 21:53:39 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
@end
|