home *** CD-ROM | disk | FTP | other *** search
- /*
- ** DBFetchGroup.h
- ** Database Kit, Release 3.0
- ** Copyright (c) 1992, NeXT Computer, Inc. All rights reserved.
- */
-
-
- #import <objc/Object.h>
- #import <dbkit/enums.h>
-
-
- @class List;
-
- @interface DBFetchGroup : Object
- {
- char *_name;
- id _module;
- id _entity;
- id _recordList;
- id _expressionList;
- id _associationList;
- int _currentRecord;
- id _selectionOwner; // for handling multiple-selection
- struct {
- BOOL _autoSelect : 1;
- int _reserved : 31;
- } _fgflags;
- id _delegate;
- id _reserved;
- }
-
-
- - initEntity:anEntity;
-
- - setName:(const char *)newName;
- - (const char *)name;
-
- - setDelegate:anObject;
- - delegate;
-
- - module;
- - entity;
- - recordList;
-
- /* methods to control current record cursor */
- - setCurrentRecord:(unsigned int)newIndex;
- - clearCurrentRecord;
- - (unsigned int)currentRecord;
- - (unsigned int)recordCount;
- - (unsigned int)selectedRowAfter:(unsigned int)previousRow;
- - redisplayEverything;
-
- /* methods for manipulating contents */
- - deleteCurrentSelection;
- - (BOOL)insertNewRecordAt:(unsigned int)index;
- - fetchContentsOf:aSource usingQualifier:aQualifier;
-
- /* methods for dealing with changes */
- - (BOOL)hasUnsavedChanges;
- - (BOOL)validateCurrentRecord;
- - saveChanges;
- - discardChanges;
-
- /* methods for configuring and using associations */
- - addExpression:newExpression;
- - removeExpression:expression;
- - (List*)getExpressions:(List*)aList;
- - addAssociation:newAssociation;
- - removeAssociation:association;
- - (List*)getAssociations:(List*)aList;
- - makeAssociationFrom:expr to:destination;
- - takeValueFromAssociation:association;
-
- /* other configurations */
- - setAutoSelect:(BOOL)yn;
- - (BOOL)doesAutoSelect;
-
- @end
-
-
- /* methods sent to the DBFetchGroup's delegate */
- @interface Object(DBFetchGroupDelegate)
- - fetchGroupWillFetch:fetchGroup;
- - fetchGroupDidFetch:fetchGroup;
- - fetchGroupWillChange:fetchGroup;
- - fetchGroup:fetchGroup didInsertRecordAt:(int)index;
- - fetchGroup:fetchGroup willDeleteRecordAt:(int)index;
- - (BOOL)fetchGroup:fetchGroup willValidateRecordAt:(int)index;
- - (BOOL)fetchGroupWillSave:fetchGroup;
- - fetchGroupDidSave:fetchGroup;
- - (DBFailureResponse)fetchGroup:fetchGroup
- willFailForReason:(DBFailureCode)code;
- @end
-
-
-
- /* This is the default ceiling set on the number of records that will be */
- /* returned before the delegate is notified or an alert is put up. An */
- /* alternate default can be set by calling setRecordLimit: on DBRecordList */
- #define DB_DEFAULT_RECORD_LIMIT 1000
-
-