2003-08-01 22:23:50 +00:00
|
|
|
/* =============================================================================
|
|
|
|
PROJECT: ResKnife
|
|
|
|
FILE: ResKnifeResourceProtocol.h
|
|
|
|
|
|
|
|
PURPOSE: This protocol wraps up whatever implementation the host
|
|
|
|
application (i.e. ResKnife) uses for resources in a way that
|
|
|
|
every editor can get enough information about the resource
|
|
|
|
being edited.
|
|
|
|
|
|
|
|
Or in Nick's immortal words (which I found only *after* I had
|
|
|
|
written the stuff above):
|
|
|
|
|
|
|
|
This protocol allows your plug to interrogate a resource to
|
|
|
|
find out information about it.
|
|
|
|
|
|
|
|
AUTHORS: Nick Shanks, nick(at)nickshanks.com, (c) ~2001.
|
|
|
|
M. Uli Kusterer, witness(at)zathras.de, (c) 2003.
|
|
|
|
|
|
|
|
REVISIONS:
|
2003-08-05 04:08:19 +00:00
|
|
|
2003-08-05 UK Added nameForEditorWindow.
|
2003-08-01 22:23:50 +00:00
|
|
|
2003-07-31 UK Added document accessor, commented.
|
|
|
|
========================================================================== */
|
|
|
|
|
2002-04-29 00:05:34 +00:00
|
|
|
#import <Cocoa/Cocoa.h>
|
2002-02-02 11:48:54 +00:00
|
|
|
|
2012-07-04 18:11:18 +00:00
|
|
|
@protocol ResKnifeResourceProtocol <NSObject>
|
2002-02-02 11:48:54 +00:00
|
|
|
|
2009-11-08 14:07:22 +00:00
|
|
|
- (void)touch;
|
|
|
|
- (BOOL)isDirty;
|
2003-08-01 22:23:50 +00:00
|
|
|
|
2009-11-08 14:07:22 +00:00
|
|
|
- (NSString *)name;
|
|
|
|
- (void)setName:(NSString *)newName;
|
|
|
|
- (NSString *)type;
|
|
|
|
- (void)setType:(NSString *)newType;
|
|
|
|
- (NSNumber *)resID;
|
|
|
|
- (void)setResID:(NSNumber *)newResID;
|
|
|
|
- (NSNumber *)attributes;
|
|
|
|
- (void)setAttributes:(NSNumber *)newAttributes;
|
|
|
|
- (NSNumber *)size;
|
|
|
|
- (NSData *)data;
|
|
|
|
- (void)setData:(NSData *)newData;
|
2003-08-01 22:23:50 +00:00
|
|
|
|
2009-11-08 14:07:22 +00:00
|
|
|
- (NSString *)defaultWindowTitle;
|
2010-08-30 23:38:46 +00:00
|
|
|
- (NSDocument *)document; // Owner of this resource. Useful for looking for resources in same file as yours.
|
2002-02-02 11:48:54 +00:00
|
|
|
|
2002-04-29 00:05:34 +00:00
|
|
|
// These methods are used to retrieve resources other than the one you're editing.
|
|
|
|
// Passing a document of nil will indicate to search in all open documents.
|
|
|
|
// There is currently no way to search in files which haven't been opened.
|
|
|
|
// All returned objects are auoreleased. Retain if you want to keep them.
|
|
|
|
|
|
|
|
// This method may return an empty array
|
2009-11-08 14:07:22 +00:00
|
|
|
+ (NSArray *)allResourcesOfType:(NSString *)typeValue inDocument:(NSDocument *)searchDocument;
|
2002-04-29 00:05:34 +00:00
|
|
|
// The next two return the first matching resource found, or nil.
|
2009-11-08 14:07:22 +00:00
|
|
|
+ (id)resourceOfType:(NSString *)typeValue andID:(NSNumber *)resIDValue inDocument:(NSDocument *)searchDocument;
|
|
|
|
+ (id)resourceOfType:(NSString *)typeValue withName:(NSString *)nameValue inDocument:(NSDocument *)searchDocument;
|
2002-04-29 00:05:34 +00:00
|
|
|
|
2002-02-06 20:57:56 +00:00
|
|
|
@end
|
|
|
|
|
2010-08-30 23:38:46 +00:00
|
|
|
|
|
|
|
// See note in Notifications.m about usage of these
|
2002-02-14 23:24:53 +00:00
|
|
|
extern NSString *ResourceWillChangeNotification;
|
|
|
|
extern NSString *ResourceNameWillChangeNotification;
|
|
|
|
extern NSString *ResourceTypeWillChangeNotification;
|
|
|
|
extern NSString *ResourceIDWillChangeNotification;
|
|
|
|
extern NSString *ResourceAttributesWillChangeNotification;
|
|
|
|
extern NSString *ResourceDataWillChangeNotification;
|
2010-08-31 10:01:42 +00:00
|
|
|
extern NSString *ResourceWillBeSavedNotification;
|
2002-02-14 23:24:53 +00:00
|
|
|
|
|
|
|
extern NSString *ResourceNameDidChangeNotification;
|
|
|
|
extern NSString *ResourceTypeDidChangeNotification;
|
|
|
|
extern NSString *ResourceIDDidChangeNotification;
|
|
|
|
extern NSString *ResourceAttributesDidChangeNotification;
|
|
|
|
extern NSString *ResourceDataDidChangeNotification;
|
2002-12-31 19:06:40 +00:00
|
|
|
extern NSString *ResourceDidChangeNotification;
|
2010-08-31 10:01:42 +00:00
|
|
|
extern NSString *ResourceWasSavedNotification;
|