1 /*
2    IMCustomObject.h
3 
4    Copyright (C) 1996 Free Software Foundation, Inc.
5 
6    Author: Ovidiu Predescu <ovidiu@net-community.com>
7    Date: November 1997
8 
9    This file is part of the GNUstep GUI Library.
10 
11    This library is free software; you can redistribute it and/or
12    modify it under the terms of the GNU Lesser General Public
13    License as published by the Free Software Foundation; either
14    version 2 of the License, or (at your option) any later version.
15 
16    This library is distributed in the hope that it will be useful,
17    but WITHOUT ANY WARRANTY; without even the implied warranty of
18    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	 See the GNU
19    Lesser General Public License for more details.
20 
21    You should have received a copy of the GNU Lesser General Public
22    License along with this library; see the file COPYING.LIB.
23    If not, see <http://www.gnu.org/licenses/> or write to the
24    Free Software Foundation, 51 Franklin Street, Fifth Floor,
25    Boston, MA 02110-1301, USA.
26 */
27 
28 /* This class was inspired by CustomObject class from objcX, "an Objective-C
29    class library for a window system". The code was originally written by
30    Paul Kunz and Imran Qureshi. */
31 
32 #ifndef _GNUstep_H_IMCustomObject
33 #define _GNUstep_H_IMCustomObject
34 
35 #ifndef GNUSTEP
36 #import <AppKit/AppKit.h>
37 #else
38 #import <Foundation/NSObject.h>
39 #import <AppKit/NSView.h>
40 
41 @class NSString;
42 #endif
43 
44 /* Add an archiving category to object so every object can respond to
45    -nibInstantiate
46 */
47 @interface NSObject (ModelUnarchiving)
48 - (id)nibInstantiate;
49 @end
50 
51 
52 @interface IMCustomObject : NSObject
53 {
54   NSString* className;
55   id realObject;
56   id extension;
57 }
58 
59 - (id)nibInstantiate;
60 
61 @end
62 
63 
64 @interface IMCustomView : NSView
65 {
66   NSString* className;
67   id realObject;
68   id extension;
69 }
70 
71 - (id)nibInstantiate;
72 
73 @end
74 
75 #endif /* _GNUstep_H_IMCustomObject */
76