libs-gdl2/EOInterface/EODisplayGroup.h
David Ayers 9720ac993d * COPYING.LIB: Update to LGPL 3.
* DB2Modeler/COPYING:  Update to GPL 3.
	* *.*: Update copyright notices.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@25326 72102866-910b-0410-8b05-ffd578937521
2007-07-12 06:39:22 +00:00

319 lines
9 KiB
Objective-C

/** -*-ObjC-*-
EODisplayGroup.h
Copyright (C) 2004,2005 Free Software Foundation, Inc.
Author: David Ayers <ayers@fsfe.org>
This file is part of the GNUstep Database Library
The GNUstep Database Library is free software; you can redistribute it
and/or modify it under the terms of the GNU Lesser General Public License
as published by the Free Software Foundation; either version 3,
or (at your option) any later version.
The GNUstep Database 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
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with the GNUstep Database Library; see the file COPYING. If not,
write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
#ifndef __EOInterface_EODisplayGroup_h__
#define __EOInterface_EODisplayGroup_h__
#ifdef GNUSTEP
#include <Foundation/NSObject.h>
#else
#include <Foundation/Foundation.h>
#endif
@class NSString;
@class NSArray;
@class NSMutableArray;
@class NSDictionary;
@class NSMutableDictionary;
@class NSNotification;
@class EOEditingContext;
@class EODataSource;
@class EOQualifier;
@class EOAssociation;
@interface EODisplayGroup : NSObject <NSCoding>
{
@private
EODataSource *_dataSource; /*Retained*/
NSMutableArray *_allObjects;
NSMutableArray *_displayedObjects;
id _delegate; /*Not Retained*/
NSArray *_selection;
NSArray *_sortOrdering;
EOQualifier *_qualifier;
NSArray *_localKeys;
NSMutableArray *_selectedObjects;
id _observerNotificationBeginProxy;
id _observerNotificationEndProxy;
int _updatedObjectIndex;
NSDictionary *_insertedObjectDefaultValues;
NSMutableArray *_savedAllObjects;
NSMutableDictionary *_queryMatch;
NSMutableDictionary *_queryMin;
NSMutableDictionary *_queryMax;
NSMutableDictionary *_queryOperator;
NSString *_defaultStringMatchOperator;
NSString *_defaultStringMatchFormat;
NSMutableDictionary *_queryBindings;
void *_reserved;
struct {
unsigned selectsFirstObjectAfterFetch:1;
unsigned didChangeContents:1;
unsigned didChangeSelection:1;
unsigned autoFetch:1;
unsigned haveFetched:1;
unsigned validateImmediately:1;
unsigned queryMode:1;
unsigned optimisticRefresh:1;
unsigned fetchAll:1;
unsigned _initialized:1;
unsigned _reserved:22;
} _flags;
EOAssociation *_editingAssociation;
}
/* Global configurations. */
+ (NSString *)globalDefaultStringMatchOperator;
+ (void)setGlobalDefaultStringMatchOperator: (NSString *)operator;
+ (BOOL)globalDefaultForValidatesChangesImmediately;
+ (void)setGlobalDefaultForValidatesChangesImmediately: (BOOL)flag;
/* Configuring behavior. */
- (BOOL)fetchesOnLoad;
- (void)setFetchesOnLoad: (BOOL)flag;
- (BOOL)selectsFirstObjectAfterFetch;
- (void)setSelectsFirstObjectAfterFetch: (BOOL)flag;
- (BOOL)validatesChangesImmediately;
- (void)setValidatesChangesImmediately: (BOOL)flag;
- (BOOL)usesOptimisticRefresh;
- (void)setUsesOptimisticRefresh: (BOOL)flag;
- (NSDictionary *)queryBindingValues;
- (void)setQueryBindingValues: (NSDictionary *)values;
- (NSDictionary *)queryOperatorValues;
- (void)setQueryOperatorValues: (NSDictionary *)values;
- (NSString *)defaultStringMatchFormat;
- (void)setDefaultStringMatchFormat: (NSString *)format;
- (NSString *)defaultStringMatchOperator;
- (void)setDefaultStringMatchOperator: (NSString *)operator;
/* Configuring data source. */
- (EODataSource *)dataSource;
- (void)setDataSource: (EODataSource *)dataSource;
/* Configuring qualifier. */
- (EOQualifier *)qualifier;
- (void)setQualifier: (EOQualifier *)qualifier;
/* Configuring sort orderings. */
- (NSArray *)sortOrderings;
- (void)setSortOrderings: (NSArray *)orderings;
/* Managing queries. */
- (EOQualifier *)qualifierFromQueryValues;
- (NSDictionary *)equalToQueryValues;
- (void)setEqualToQueryValues: (NSDictionary *)values;
- (NSDictionary *)greaterThanQueryValues;
- (void)setGreaterThanQueryValues: (NSDictionary *)values;
- (NSDictionary *)lessThanQueryValues;
- (void)setLessThanQueryValues: (NSDictionary *)values;
- (void)qualifyDisplayGroup;
- (void)qualifyDataSource;
- (BOOL)inQueryMode;
- (void)setInQueryMode: (BOOL)flag;
/* Fetching. */
- (BOOL)fetch;
/* Accessing objects. */
- (NSArray *)allObjects;
- (void)setObjectArray: (NSArray *)objects;
- (NSArray *)displayedObjects;
/* Updating displayed values. */
- (void)redisplay;
- (void)updateDisplayedObjects;
/* Manage selection. */
- (NSArray *)selectionIndexes;
- (BOOL)setSelectionIndexes: (NSArray *)selection;
- (BOOL)selectObject: (id)object;
- (BOOL)selectObjectsIdenticalTo: (NSArray *)selection;
- (BOOL)selectObjectsIdenticalTo: (NSArray *)selection
selectFirstOnNoMatch: (BOOL)flag;
- (BOOL)selectNext;
- (BOOL)selectPrevious;
- (BOOL)clearSelection;
- (NSArray *)selectedObjects;
- (void)setSelectedObjects: (NSArray *)objects;
- (id)selectedObject;
- (void)setSelectedObject: (id)object;
/* Inserting objects. */
- (id)insertObjectAtIndex: (unsigned)index;
- (void)insertObject: (id)object atIndex: (unsigned)index;
- (NSDictionary *)insertedObjectDefaultValues;
- (void)setInsertedObjectDefaultValues: (NSDictionary *)values;
/* Deleting objects. */
- (BOOL)deleteObjectAtIndex: (unsigned)index;
- (BOOL)deleteSelection;
/* Manage local keys. */
- (NSArray *)localKeys;
- (void)setLocalKeys: (NSArray *)keys;
/* Manage delegate. */
- (id)delegate;
- (void)setDelegate: (id)delegate;
/* Associations. */
- (NSArray *)observingAssociations;
- (EOAssociation *)editingAssociation;
- (BOOL)endEditing;
@end
@interface EODisplayGroup (EODisplayGroupTargetAction)
- (void)selectNext: (id)sender;
- (void)selectPrevious: (id)sender;
- (void)fetch: (id)sender;
- (void)insert: (id)sender;
- (void)delete: (id)sender;
- (void)qualifyDataSource: (id)sender;
- (void)qualifyDisplayGroup: (id)sender;
- (void)enterQueryMode: (id)sender;
@end
@interface EODisplayGroup (EOAssociationInteraction)
- (BOOL)selectionChanged;
- (BOOL)contentsChanged;
- (int)updatedObjectIndex;
- (id)valueForObject: (id)object key: (NSString *)key;
- (id)selectedObjectValueForKey: (NSString *)key;
- (id)valueForObjectAtIndex: (unsigned)index key: (NSString *)key;
- (BOOL)setValue: (id)value forObject: (id)object key: (NSString *)key;
- (BOOL)setSelectedObjectValue: (id)value forKey: (NSString *)key;
- (BOOL)setValue: (id)value forObjectAtIndex: (unsigned)index
key: (NSString *)key;
- (BOOL)enabledToSetSelectedObjectValueForKey:(NSString *)key;
- (BOOL)association: (EOAssociation *)association
failedToValidateValue: (NSString *)value
forKey: (NSString *)key
object: (id)object
errorDescription: (NSString *)description;
- (void)associationDidBeginEditing: (EOAssociation *)association;
- (void)associationDidEndEditing: (EOAssociation *)association;
@end
@interface EODisplayGroup (EOEditors)
- (BOOL)editorHasChangesForEditingContext: (EOEditingContext *)editingContext;
- (void)editingContextWillSaveChanges: (EOEditingContext *)editingContext;
@end
@interface EODisplayGroup (EOMessageHandlers)
- (void)editingContext: (EOEditingContext *)editingContext
presentErrorMessage: (NSString *)message;
@end
@interface NSObject (EODisplayGroupDelegate)
- (BOOL)displayGroup: (EODisplayGroup *)displayGroup
shouldRedisplayForEditingContextChangeNotification: (NSNotification *)notif;
- (BOOL)displayGroup: (EODisplayGroup *)displayGroup
shouldRefetchForInvalidatedAllObjectsNotification: (NSNotification *)notif;
- (BOOL)displayGroup: (EODisplayGroup *)displayGroup
shouldChangeSelectionToIndexes: (NSArray *)indices;
- (void)displayGroupDidChangeSelection: (EODisplayGroup *)displayGroup;
- (void)displayGroupDidChangeSelectedObjects: (EODisplayGroup *)displayGroup;
- (BOOL)displayGroupShouldFetch: (EODisplayGroup *)displayGroup;
- (void)displayGroup: (EODisplayGroup *)displayGroup
didFetchObjects: (NSArray *)objects;
- (NSArray *)displayGroup: (EODisplayGroup *)displayGroup
displayArrayForObjects: (NSArray *)objects;
- (void)displayGroup: (EODisplayGroup *)displayGroup
didSetValue: (id)value
forObject: (id)object
key: (NSString *)key;
- (void)displayGroup: (EODisplayGroup *)displayGroup
createObjectFailedForDataSource: (EODataSource *)dataSource;
- (BOOL)displayGroup: (EODisplayGroup *)displayGroup
shouldInsertObject: (id)object
atIndex: (unsigned)index;
- (void)displayGroup: (EODisplayGroup *)displayGroup
didInsertObject: (id)object;
- (BOOL)displayGroup: (EODisplayGroup *)displayGroup
shouldDeleteObject: (id)object;
- (void)displayGroup: (EODisplayGroup *)displayGroup
didDeleteObject: (id)object;
- (void)displayGroupDidChangeDataSource: (EODisplayGroup *)displayGroup;
- (BOOL)displayGroup: (EODisplayGroup *)displayGroup
shouldDisplayAlertWithTitle: (NSString *)title
message: (NSString *)message;
@end
#endif