libs-gsweb/GSWeb.framework/GSWDisplayGroup.h

259 lines
8.3 KiB
C
Raw Normal View History

/* GSWDisplayGroup.h - GSWeb: Class GSWDisplayGroup
Copyright (C) 1999 Free Software Foundation, Inc.
Written by: Manuel Guesdon <mguesdon@sbuilders.com>
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.
*/
// $Id$
#ifndef _GSWDisplayGroup_h__
#define _GSWDisplayGroup_h__
#if !GDL2
#include <eoaccess/EOModel.h>
#include <eoaccess/EOEntity.h>
#include <eoaccess/EOAttribute.h>
#include <eoaccess/EOAttributeOrdering.h>
#include <eoaccess/EORelationship.h>
#include <eoaccess/EOQualifier.h>
#include <eoaccess/EOAdaptor.h>
#include <eoaccess/EOAdaptorContext.h>
#include <eoaccess/EOAdaptorChannel.h>
#include <eoaccess/EODatabase.h>
#include <eoaccess/EODatabaseContext.h>
#include <eoaccess/EODatabaseChannel.h>
#include <eoaccess/EODataSources.h>
#include <eoaccess/EODatabaseDataSource.h>
#include <eoaccess/EOGenericRecord.h>
#include <eoaccess/EONull.h>
#include <eoaccess/EOSQLExpression.h>
@class EOKeyValueUnarchiver;
#define EODataSource EODatabaseDataSource
#else
#import <EOControl/EOQualifier.h>
#import <EOControl/EODataSource.h>
#import <EOControl/EODetailDataSource.h>
#import <EOControl/EOKeyValueArchiver.h>
#import <EOAccess/EODatabaseDataSource.h>
#endif
@interface GSWDisplayGroup : NSObject <NSCoding>
{
id delegate;
/*
objects (array) supplied by the EODataSource
EOQualifier and EOSortOrderings to filter the objects for display
Array of selection indexes
*/
EODataSource* _dataSource;
NSMutableArray* _allObjects;
NSMutableArray* _displayedObjects;
NSMutableArray* _selectedObjects;
NSArray* _selection;
NSArray* _sortOrdering;
EOQualifier* _qualifier;
NSArray* _localKeys;
NSDictionary* _insertedObjectDefaultValues;
NSMutableArray* _savedAllObjects;
NSMutableDictionary* _queryMatch;
NSMutableDictionary* _queryMin;
NSMutableDictionary*_queryMax;
NSMutableDictionary*_queryOperator;
NSString* _defaultStringMatchOperator;
NSString* _defaultStringMatchFormat;
NSMutableDictionary*_queryBindings;
unsigned _numberOfObjectsPerBatch;
unsigned _batchIndex;
struct {
unsigned int selectFirstObject:1;
unsigned int autoFetch:1;
unsigned int validateImmediately:1;
unsigned int queryMode:1;
unsigned int fetchAll:1;
unsigned int _reserved:27;
} _flags;
struct {
unsigned int didChangeDataSource:1;
unsigned int displayArrayForObjects:1;
unsigned int selectsFirstObjectAfterFetch:1;
unsigned int shouldChangeSelection:1;
unsigned int didChangeSelection:1;
unsigned int didChangeSelectedObjects:1;
unsigned int createObjectFailed:1;
unsigned int shouldInsertObject:1;
unsigned int didInsertObject:1;
unsigned int shouldFetchObjects:1;
unsigned int didFetchObjects:1;
unsigned int shouldDeleteObject:1;
unsigned int didDeleteObject:1;
unsigned int didSetValueForObject:1;
unsigned int shouldRedisplay:1;
unsigned int shouldRefetchObjects:1;
unsigned int _reserved:16;
} _delegateRespondsTo;
};
- (NSArray *)allObjects;
- (NSArray *)allQualifierOperators;
- (unsigned)batchCount;
- (BOOL)buildsQualifierFromInput;
- (BOOL)clearSelection;
- (unsigned)currentBatchIndex;
- (EODataSource *)dataSource;
- (NSString *)defaultStringMatchFormat;
- (NSString *)defaultStringMatchOperator;
- (id)delegate;
- (id)delete;
- (BOOL)deleteObjectAtIndex:(unsigned)index;
- (BOOL)deleteSelection;
- (NSString *)detailKey;
- (id)displayBatchContainingSelectedObject;
- (NSArray *)displayedObjects;
- (id)displayNextBatch;
- (id)displayPreviousBatch;
- (BOOL)endEditing;
- (id)executeQuery;
- (id)fetch;
- (BOOL)fetchesOnLoad;
- (BOOL)hasDetailDataSource;
- (BOOL)hasMultipleBatches;
- (unsigned)indexOfFirstDisplayedObject;
- (unsigned)indexOfLastDisplayedObject;
- (id)init;
2002-04-15 Manuel Guesdon <mguesdon@orange-concept.com> * GSWDynamicURLString.h: o remove NSMutableString protocol * GSWUtils.m o removed NSString and NSMutableString protocol use * GSWExtensions.framework/GSWExceptionPage.gswc/GSWExceptionPage.gswd: o change .png to .mng * GSWExtensions.framework/GSWCollapsibleComponentContent.gswc/GSWCollapsibleComponentContent.gswd: o added framework for image * GSWeb.framework/GSWDisplayGroup.h: o aded -setQueryOperator: o added -initWithKeyValueUnarchiver: * GSWeb.framework/GSWDisplayGroup.m: o added -setQueryOperator: o unarchive queryOperator o changed hasMultipleBatches implementation * GSWeb.framework/GSWBody.h,.m: o ivar names changes to conform to coding standards o headers changed for gsdoc * GSWeb.framework/GSWImage.h,.m: o ivar names changes to conform to coding standards o headers changed for gsdoc * GSWeb.framework/GSWResourceURL.h,.m: o ivar names changes to conform to coding standards o headers changed for gsdoc * GSWeb.framework/GSWFrame.h,.m: o ivar names changes to conform to coding standards o headers changed for gsdoc * GSWeb.framework/GSWElement.h,.m: o ivar names changes to conform to coding standards o headers changed for gsdoc * GSWeb.framework/GSWDynamicElement.h,.m: o ivar names changes to conform to coding standards o headers changed for gsdoc * GSWeb.framework/GSWGenericElement.h,.m: o ivar names changes to conform to coding standards o headers changed for gsdoc * GSWeb.framework/GSWHTMLStaticElement.h,.m: o ivar names changes to conform to coding standards o headers changed for gsdoc * GSWeb.framework/GSWElementIDString.h,.m: o ivar names changes to conform to coding standards o headers changed for gsdoc o removed logs * GSWeb.framework/GSWActionURL.h,.m: o ivar names changes to conform to coding standards o headers changed for gsdoc o removed logs * GSWeb.framework/GSWHyperlink.h,.m: o ivar names changes to conform to coding standards o headers changed for gsdoc * GSWeb.framework/GSWHTMLStaticGroup.h,.m: o ivar names changes to conform to coding standards o headers changed for gsdoc * GSWeb.framework/GSWInput.h,.m: o ivar names changes to conform to coding standards o headers changed for gsdoc * GSWeb.framework/GSWText.h,.m: o ivar names changes to conform to coding standards o headers changed for gsdoc * GSWeb.framework/GSWTextField.h,.m: o ivar names changes to conform to coding standards o headers changed for gsdoc * GSWeb.framework/GSWFileUpload.h,.m: o ivar names changes to conform to coding standards o headers changed for gsdoc * GSWeb.framework/GSWBrowser.h,.m: o ivar names changes to conform to coding standards o headers changed for gsdoc * GSWeb.framework/GSWCheckBox.h,.m: o ivar names changes to conform to coding standards o headers changed for gsdoc * GSWeb.framework/GSWCheckBoxList.h,.m: o ivar names changes to conform to coding standards o headers changed for gsdoc * GSWeb.framework/GSWPopUpButton.h,.m: o ivar names changes to conform to coding standards o headers changed for gsdoc * GSWeb.framework/GSWRadioButton.h,.m: o ivar names changes to conform to coding standards o headers changed for gsdoc * GSWeb.framework/GSWRadioButtonList.h,.m: o ivar names changes to conform to coding standards o headers changed for gsdoc * GSWeb.framework/GSWSubmitButton.h,.m: o ivar names changes to conform to coding standards o headers changed for gsdoc * GSWeb.framework/GSWHiddenField.h,.m: o ivar names changes to conform to coding standards o headers changed for gsdoc * GSWeb.framework/GSWPasswordField.h,.m: o ivar names changes to conform to coding standards o headers changed for gsdoc * GSWeb.framework/GSWString.h,.m: o ivar names changes to conform to coding standards o headers changed for gsdoc * GSWeb.framework/GSWImageButton.h,.m: o ivar names changes to conform to coding standards o headers changed for gsdoc git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gsweb/trunk@13471 72102866-910b-0410-8b05-ffd578937521
2002-04-15 14:33:16 +00:00
- (id)initWithKeyValueUnarchiver:(EOKeyValueUnarchiver*)unarchiver;
- (void)awakeFromKeyValueUnarchiver:(EOKeyValueUnarchiver*)object_;
- (NSMutableDictionary *)inputObjectForQualifier;
- (BOOL)inQueryMode;
- (void)editingContext:(id)editingContext_
2002-03-07 Manuel Guesdon <mguesdon@orange-concept.com> * GSWeb.framework/GSWAdaptor.h/.m: o added -isMultiThreadEnabled o method parameters names changes to conform to coding standards * GSWeb.framework/GSWResponse.h: o method parameters names changes to conform to coding standards o added missing method declarations * GSWeb.framework/GSWTemplateParserXML.m: o remove some 'error' messages from xml parser * GSWExtensions.framework/Makefile.preamble: o various changes (debug flags,...) * GSWExtensionsGSW.framework/Makefile.preamble: o various changes (debug flags,...) * GSWeb.framework/Makefile.preamble: o various changes (debug flags,libwrap,...) * GSWeb.framework/GSWDebug.h: o debug flags changes * GSWExtensions.framework/GSWExceptionPage.gswc/GSWExceptionPage.gswd: o change .gif to .mng * GSWExtensions.framework/GSWPageRestorationErrorPage.gswc/GSWPageRestorationErrorPage.gswd: o change .gif to .mng * GSWExtensions.framework/GSWSessionCreationErrorPage.gswc/GSWSessionCreationErrorPage.gswd: o change .gif to .mng * GSWeb.framework/GSWConfig.h: added GSWOPTVALUE_AdaptorHost * GSWeb.framework/GSWConstants.h/.m: added GSWOPT_AdaptorHost * GSWeb.framework/GSWApplication.m: added GSWOPT_AdaptorHost default value * GSWeb.framework/GSWDefaultAdaptor.h/.m: o adding connection refuse feature o added ivar adaptorHost o added host and port in "Waiting for connections" message o ivar names changes to conform to coding standards * GSWeb.framework/GSWDefaultAdaptorThread.m: o adding connection refuse feature o ivar names changes to conform to coding standards * GSWeb.framework/GSWComponent.m: o logs * GSWeb.framework/GSWDeployedBundle.m: o Search WebServer resources in Resources/WebServer/ instead of WebServerResources * GSWeb.framework/GSWProjectBundle.m o bug fix for wonames * GSWExtensions.framework/GSWDictionaryRepetition.h/m: o ivar names changes to conform to coding standards * GSWExtensions.framework/GSWCollapsibleComponentContent.h/.m: o ivar names changes to conform to coding standards * GSWExtensions.framework/GSWExceptionPage.h/.m: o ivar names changes to conform to coding standards * GSWExtensions.framework/GSWIFrame.m: o ivar names changes to conform to coding standards * GSWExtensions.framework/GSWMetaRefresh.m: o ivar names changes to conform to coding standards * GSWExtensions.framework/GSWPageRestorationErrorPage.h/.m: o ivar names changes to conform to coding standards * GSWExtensions.framework/GSWRedirect.h/.m: o ivar names changes to conform to coding standards * GSWExtensions.framework/GSWSessionRestorationErrorPage.h/.m: o ivar names changes to conform to coding standards * GSWExtensions.framework/GSWSessionCreationErrorPage.h/.m: o ivar names changes to conform to coding standards * GSWExtensions.framework/GSWStatsPage.h/.m: o ivar names changes to conform to coding standards * GSWExtensionsGSW.framework/GSWFileUploadFormComponent.h/.m: o ivar names changes to conform to coding standards * GSWExtensionsGSW.framework/GSWSimpleFormComponent.h/.m: o ivar names changes to conform to coding standards * GSWExtensionsGSW.framework/GSWTabComponent.m: o ivar names changes to conform to coding standards * GSWExtensionsGSW.framework/GSWValidationFailureComponent.h/.m: o ivar names changes to conform to coding standards git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gsweb/trunk@13029 72102866-910b-0410-8b05-ffd578937521
2002-03-06 23:13:23 +00:00
presentErrorMessage:(id)msg;
- (id)insert;
- (NSDictionary *)insertedObjectDefaultValues;
- (void)insertObject:object_
atIndex:(unsigned)index;
- (id)insertObjectAtIndex:(unsigned)index_;
- (EOQualifier *)lastQualifierFromInputValues;
- (NSArray *)localKeys;
- (id)masterObject;
- (unsigned)numberOfObjectsPerBatch;
- (EOQualifier *)qualifier;
- (EOQualifier *)qualifierFromInputValues;
- (EOQualifier *)qualifierFromQueryValues;
- (void)qualifyDataSource;
- (void)qualifyDisplayGroup;
- (NSMutableDictionary*)queryBindings;
- (NSMutableDictionary*)queryMatch;
- (NSMutableDictionary*)queryMax;
- (NSMutableDictionary*)queryMin;
- (NSMutableDictionary*)queryOperator;
- (void)redisplay;
- (NSArray *)relationalQualifierOperators;
- (NSMutableDictionary *)secondObjectForQualifier;
- (id)selectedObject;
- (void)setSelectedObject:(id)object;
- (NSArray *)selectedObjects;
- (NSArray *)selectionIndexes;
- (id)selectNext;
- (BOOL)selectObject:(id)object;
- (BOOL)selectObjectsIdenticalTo:(NSArray *)objects;
- (BOOL)selectObjectsIdenticalTo:(NSArray *)objects
selectFirstOnNoMatch:(BOOL)flag;
- (id)selectPrevious;
- (BOOL)selectsFirstObjectAfterFetch;
- (void)setBuildsQualifierFromInput:(BOOL)flag;
- (void)setCurrentBatchIndex:(unsigned)index_;
- (void)setDataSource:(EODataSource *)dataSource_;
- (void)setDefaultStringMatchFormat:(NSString *)format;
- (void)setDefaultStringMatchOperator:(NSString *)operator;
- (void)setDelegate:(id)object_;
- (void)setDetailKey:(NSString *)detailKey;
- (void)setFetchesOnLoad:(BOOL)flag;
- (void)setInQueryMode:(BOOL)flag;
- (void)setInsertedObjectDefaultValues:(NSDictionary *)defaultValues;
2002-04-15 Manuel Guesdon <mguesdon@orange-concept.com> * GSWDynamicURLString.h: o remove NSMutableString protocol * GSWUtils.m o removed NSString and NSMutableString protocol use * GSWExtensions.framework/GSWExceptionPage.gswc/GSWExceptionPage.gswd: o change .png to .mng * GSWExtensions.framework/GSWCollapsibleComponentContent.gswc/GSWCollapsibleComponentContent.gswd: o added framework for image * GSWeb.framework/GSWDisplayGroup.h: o aded -setQueryOperator: o added -initWithKeyValueUnarchiver: * GSWeb.framework/GSWDisplayGroup.m: o added -setQueryOperator: o unarchive queryOperator o changed hasMultipleBatches implementation * GSWeb.framework/GSWBody.h,.m: o ivar names changes to conform to coding standards o headers changed for gsdoc * GSWeb.framework/GSWImage.h,.m: o ivar names changes to conform to coding standards o headers changed for gsdoc * GSWeb.framework/GSWResourceURL.h,.m: o ivar names changes to conform to coding standards o headers changed for gsdoc * GSWeb.framework/GSWFrame.h,.m: o ivar names changes to conform to coding standards o headers changed for gsdoc * GSWeb.framework/GSWElement.h,.m: o ivar names changes to conform to coding standards o headers changed for gsdoc * GSWeb.framework/GSWDynamicElement.h,.m: o ivar names changes to conform to coding standards o headers changed for gsdoc * GSWeb.framework/GSWGenericElement.h,.m: o ivar names changes to conform to coding standards o headers changed for gsdoc * GSWeb.framework/GSWHTMLStaticElement.h,.m: o ivar names changes to conform to coding standards o headers changed for gsdoc * GSWeb.framework/GSWElementIDString.h,.m: o ivar names changes to conform to coding standards o headers changed for gsdoc o removed logs * GSWeb.framework/GSWActionURL.h,.m: o ivar names changes to conform to coding standards o headers changed for gsdoc o removed logs * GSWeb.framework/GSWHyperlink.h,.m: o ivar names changes to conform to coding standards o headers changed for gsdoc * GSWeb.framework/GSWHTMLStaticGroup.h,.m: o ivar names changes to conform to coding standards o headers changed for gsdoc * GSWeb.framework/GSWInput.h,.m: o ivar names changes to conform to coding standards o headers changed for gsdoc * GSWeb.framework/GSWText.h,.m: o ivar names changes to conform to coding standards o headers changed for gsdoc * GSWeb.framework/GSWTextField.h,.m: o ivar names changes to conform to coding standards o headers changed for gsdoc * GSWeb.framework/GSWFileUpload.h,.m: o ivar names changes to conform to coding standards o headers changed for gsdoc * GSWeb.framework/GSWBrowser.h,.m: o ivar names changes to conform to coding standards o headers changed for gsdoc * GSWeb.framework/GSWCheckBox.h,.m: o ivar names changes to conform to coding standards o headers changed for gsdoc * GSWeb.framework/GSWCheckBoxList.h,.m: o ivar names changes to conform to coding standards o headers changed for gsdoc * GSWeb.framework/GSWPopUpButton.h,.m: o ivar names changes to conform to coding standards o headers changed for gsdoc * GSWeb.framework/GSWRadioButton.h,.m: o ivar names changes to conform to coding standards o headers changed for gsdoc * GSWeb.framework/GSWRadioButtonList.h,.m: o ivar names changes to conform to coding standards o headers changed for gsdoc * GSWeb.framework/GSWSubmitButton.h,.m: o ivar names changes to conform to coding standards o headers changed for gsdoc * GSWeb.framework/GSWHiddenField.h,.m: o ivar names changes to conform to coding standards o headers changed for gsdoc * GSWeb.framework/GSWPasswordField.h,.m: o ivar names changes to conform to coding standards o headers changed for gsdoc * GSWeb.framework/GSWString.h,.m: o ivar names changes to conform to coding standards o headers changed for gsdoc * GSWeb.framework/GSWImageButton.h,.m: o ivar names changes to conform to coding standards o headers changed for gsdoc git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gsweb/trunk@13471 72102866-910b-0410-8b05-ffd578937521
2002-04-15 14:33:16 +00:00
-(void)setQueryOperator:(NSDictionary*)qo;
- (void)setLocalKeys:(NSArray *)keys;
- (void)setMasterObject:(id)masterObject;
- (void)setNumberOfObjectsPerBatch:(unsigned)count;
- (void)setObjectArray:(NSArray *)objects;
- (void)setQualifier:(EOQualifier *)qualifier_;
- (BOOL)setSelectionIndexes:(NSArray *)selection;
- (void)setSelectsFirstObjectAfterFetch:(BOOL)flag;
- (void)setSortOrderings:(NSArray *)orderings;
- (void)setValidatesChangesImmediately:(BOOL)flag;
- (NSArray *)sortOrderings;
- (void)updateDisplayedObjects;
- (BOOL)validatesChangesImmediately;
@end
// By Delegate
@interface NSObject (GSWDisplayGroupDelegation)
-(void)displayGroup:(GSWDisplayGroup*)displayGroup_
createObjectFailedForDataSource:(id)dataSource_;
-(void)displayGroup:(GSWDisplayGroup*)displayGroup_
didDeleteObject:(id)object_;
-(void)displayGroup:(GSWDisplayGroup*)displayGroup_
didFetchObjects:(NSArray*)objects;
-(void)displayGroup:(GSWDisplayGroup*)displayGroup_
didInsertObject:object_;
-(void)displayGroup:(GSWDisplayGroup*)displayGroup_
didSetValue:(id)value
forObject:(id)object_
key:(NSString*)key;
-(NSArray*)displayGroup:(GSWDisplayGroup*)displayGroup_
displayArrayForObjects:(NSArray*)objects;
-(BOOL)displayGroup:(GSWDisplayGroup*)displayGroup_
shouldChangeSelectionToIndexes:(NSArray*)newIndexes;
-(BOOL)displayGroup:(GSWDisplayGroup*)displayGroup_
shouldInsertObject:object_
atIndex:(unsigned)index_;
-(BOOL)displayGroup:(GSWDisplayGroup*)displayGroup
shouldDeleteObject:object;
-(BOOL)displayGroup:(GSWDisplayGroup*)displayGroup_
shouldRedisplayForEditingContextChangeNotification:(NSNotification*)notification_;
-(BOOL)displayGroup:(GSWDisplayGroup*)displayGroup_
shouldRefetchForInvalidatedAllObjectsNotification:(NSNotification*)notification_;
-(void)displayGroupDidChangeDataSource:(GSWDisplayGroup*)displayGroup_;
-(void)displayGroupDidChangeSelectedObjects:(GSWDisplayGroup*)displayGroup_;
-(void)displayGroupDidChangeSelection:(GSWDisplayGroup*)displayGroup_;
-(BOOL)displayGroupShouldFetch:(GSWDisplayGroup*)displayGroup_;
@end
#endif //_GSWDisplayGroup_h__