1 /*
2  NSViewController.h
3 
4  Copyright (C) 2010 Free Software Foundation, Inc.
5 
6 This file is part of the GNUstep GUI Library.
7 
8 This library is free software; you can redistribute it and/or
9 modify it under the terms of the GNU Lesser General Public
10 License as published by the Free Software Foundation; either
11 version 2 of the License, or (at your option) any later version.
12 
13 This library is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	 See the GNU
16 Lesser General Public License for more details.
17 
18 You should have received a copy of the GNU Lesser General Public
19 License along with this library; see the file COPYING.LIB.
20 If not, see <http://www.gnu.org/licenses/> or write to the
21 Free Software Foundation, 51 Franklin Street, Fifth Floor,
22 Boston, MA 02110-1301, USA.
23 */
24 
25 #ifndef _GNUstep_H_NSViewController
26 #define _GNUstep_H_NSViewController
27 #import <GNUstepBase/GSVersionMacros.h>
28 
29 #import <AppKit/NSNibDeclarations.h>
30 #import <AppKit/NSResponder.h>
31 
32 #if OS_API_VERSION(MAC_OS_X_VERSION_10_5, GS_API_LATEST)
33 
34 @class NSArray, NSBundle, NSPointerArray, NSView;
35 
36 @interface NSViewController : NSResponder
37 {
38 @private
39   NSString            *_nibName;
40   NSBundle            *_nibBundle;
41   id                   _representedObject;
42   NSString            *_title;
43   IBOutlet NSView     *view;
44   NSArray             *_topLevelObjects;
45   NSPointerArray      *_editors;
46   id                   _autounbinder;
47   NSString            *_designNibBundleIdentifier;
48   struct ___vcFlags
49     {
50       unsigned int nib_is_loaded:1;
51       unsigned int RESERVED:31;
52     } _vcFlags;
53   id                   _reserved;
54 }
55 
56 - (id)initWithNibName:(NSString *)nibNameOrNil
57                bundle:(NSBundle *)nibBundleOrNil;
58 
59 - (void)setRepresentedObject:(id)representedObject;
60 - (id)representedObject;
61 
62 - (void)setTitle:(NSString *)title;
63 - (NSString *)title;
64 
65 - (void)setView:(NSView *)aView;
66 - (NSView *)view;
67 - (void)loadView;
68 
69 - (NSString *)nibName;
70 - (NSBundle *)nibBundle;
71 @end
72 
73 #endif // OS_API_VERSION
74 #endif /* _GNUstep_H_NSViewController */
75