2006-12-19 18:35:16 +00:00
|
|
|
/** <title>NSObjectController</title>
|
|
|
|
|
|
|
|
<abstract>Controller class</abstract>
|
|
|
|
|
|
|
|
Copyright <copy>(C) 2006 Free Software Foundation, Inc.</copy>
|
|
|
|
|
|
|
|
Author: Fred Kiefer <fredkiefer@gmx.de>
|
|
|
|
Date: June 2006
|
|
|
|
|
|
|
|
This file is part of the GNUstep GUI Library.
|
|
|
|
|
|
|
|
This library is free software; you can redistribute it and/or
|
2007-10-29 21:16:17 +00:00
|
|
|
modify it under the terms of the GNU Lesser General Public
|
2006-12-19 18:35:16 +00:00
|
|
|
License as published by the Free Software Foundation; either
|
2008-06-10 04:01:49 +00:00
|
|
|
version 2 of the License, or (at your option) any later version.
|
2006-12-19 18:35:16 +00:00
|
|
|
|
|
|
|
This library is distributed in the hope that it will be useful,
|
|
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
2007-10-29 21:16:17 +00:00
|
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
|
|
Lesser General Public License for more details.
|
2006-12-19 18:35:16 +00:00
|
|
|
|
2007-10-29 21:16:17 +00:00
|
|
|
You should have received a copy of the GNU Lesser General Public
|
2006-12-19 18:35:16 +00:00
|
|
|
License along with this library; see the file COPYING.LIB.
|
2007-10-29 21:16:17 +00:00
|
|
|
If not, see <http://www.gnu.org/licenses/> or write to the
|
|
|
|
Free Software Foundation, 51 Franklin Street, Fifth Floor,
|
|
|
|
Boston, MA 02110-1301, USA.
|
2006-12-19 18:35:16 +00:00
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef _GNUstep_H_NSObjectController
|
|
|
|
#define _GNUstep_H_NSObjectController
|
|
|
|
|
|
|
|
#include <AppKit/NSController.h>
|
|
|
|
#include <AppKit/NSMenuItem.h>
|
|
|
|
|
|
|
|
#if OS_API_VERSION(100300,GS_API_LATEST)
|
|
|
|
|
|
|
|
@class NSArray;
|
|
|
|
@class NSMutableArray;
|
|
|
|
@class NSString;
|
|
|
|
@class NSPredicate;
|
|
|
|
@class NSError;
|
|
|
|
@class NSFetchRequest;
|
|
|
|
@class NSManagedObjectContext;
|
|
|
|
|
|
|
|
@interface NSObjectController : NSController
|
|
|
|
{
|
2007-08-15 03:24:37 +00:00
|
|
|
@protected
|
2006-12-19 18:35:16 +00:00
|
|
|
Class _object_class;
|
2007-08-15 03:24:37 +00:00
|
|
|
|
|
|
|
NSString *_object_class_name;
|
|
|
|
NSString *_entity_name_key;
|
|
|
|
id _managed_proxy;
|
2006-12-19 18:35:16 +00:00
|
|
|
id _content;
|
|
|
|
NSMutableArray *_selection;
|
|
|
|
NSPredicate *_fetch_predicate;
|
|
|
|
NSManagedObjectContext *_managed_object_context;
|
2007-08-15 03:24:37 +00:00
|
|
|
|
2006-12-19 18:35:16 +00:00
|
|
|
BOOL _is_editable;
|
|
|
|
BOOL _automatically_prepares_content;
|
2007-08-15 03:24:37 +00:00
|
|
|
BOOL _is_using_managed_proxy;
|
2006-12-19 18:35:16 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
- (id) initWithContent: (id)content;
|
|
|
|
- (id) content;
|
|
|
|
- (void) setContent: (id)content;
|
|
|
|
- (Class) objectClass;
|
2007-06-23 14:45:47 +00:00
|
|
|
- (void) setObjectClass: (Class)aClass;
|
2006-12-19 18:35:16 +00:00
|
|
|
|
|
|
|
- (id) newObject;
|
|
|
|
- (void) prepareContent;
|
|
|
|
- (BOOL) automaticallyPreparesContent;
|
|
|
|
- (void) setAutomaticallyPreparesContent: (BOOL)flag;
|
|
|
|
|
|
|
|
- (void) add: (id)sender;
|
|
|
|
- (void) addObject: (id)obj;
|
|
|
|
- (void) remove: (id)sender;
|
|
|
|
- (void) removeObject: (id)obj;
|
|
|
|
- (BOOL) canAdd;
|
|
|
|
- (BOOL) canRemove;
|
|
|
|
|
|
|
|
- (BOOL) isEditable;
|
|
|
|
- (void) setEditable: (BOOL)flag;
|
|
|
|
|
|
|
|
- (NSArray*) selectedObjects;
|
|
|
|
- (id) selection;
|
|
|
|
|
|
|
|
- (BOOL) validateMenuItem: (id <NSMenuItem>)item;
|
|
|
|
|
|
|
|
#if OS_API_VERSION(100400,GS_API_LATEST)
|
|
|
|
- (NSString*) entityNameKey;
|
|
|
|
- (void) setEntityName: (NSString*)entityName;
|
|
|
|
- (NSPredicate*) fetchPredicate;
|
|
|
|
- (void) setFetchPredicate: (NSPredicate*)predicate;
|
|
|
|
- (void) fetch: (id)sender;
|
|
|
|
- (BOOL) fetchWithRequest: (NSFetchRequest*)fetchRequest
|
|
|
|
merge: (BOOL)merge
|
|
|
|
error: (NSError**)error;
|
|
|
|
- (NSManagedObjectContext*) managedObjectContext;
|
|
|
|
- (void) setManagedObjectContext: (NSManagedObjectContext*)managedObjectContext;
|
|
|
|
#endif //OS_API_VERSION
|
|
|
|
|
|
|
|
@end
|
|
|
|
|
|
|
|
#endif // OS_API_VERSION
|
|
|
|
|
|
|
|
#endif // _GNUstep_H_NSObjectController
|