00001 00002 #import <Cocoa/Cocoa.h> 00003 #import "macros.h" 00004 #import "GDBaseObject.h" 00005 #import "GDCallback.h" 00006 00013 @class GDDocument; 00014 @class GDWindowController; 00015 00022 #if MAC_OS_X_VERSION_MAX_ALLOWED > MAC_OS_X_VERSION_10_5 00023 @interface GDExternalNibController : GDBaseObject <NSWindowDelegate> { 00024 #else 00025 @interface GDExternalNibController : GDBaseObject { 00026 #endif 00027 00031 BOOL isSheet; 00032 00036 BOOL available; 00037 00041 BOOL disposesNibsOnWindowClose; 00042 00046 BOOL disposesNibsOnEscapeKey; 00047 00051 BOOL switchingToWindow; 00052 00056 BOOL switchingToSheet; 00057 00061 NSString * nibName; 00062 00068 GDCallback * callback; 00069 00073 IBOutlet GDWindowController * windows; 00074 } 00075 00079 @property (copy,nonatomic) NSString * nibName; 00080 00084 @property (assign,nonatomic) IBOutlet GDWindowController * windows; 00085 00089 @property (assign,nonatomic) BOOL disposesNibsOnWindowClose; 00090 00094 @property (assign,nonatomic) BOOL disposesNibsOnEscapeKey; 00095 00101 @property (retain,nonatomic) GDCallback * callback; 00102 00106 - (void) close:(id) sender; 00107 00111 - (void) closeWindows; 00112 00116 - (void) disposeNibs; 00117 00124 - (void) lazyInitWithGD:(id) _gd andNibName:(NSString *) _nibName; 00125 00133 - (void) lazyInitWithGD:(id) _gd andNibName:(NSString *) _nibName andCallback:(GDCallback *) _callback; 00134 00138 - (void) loadNibs; 00139 00145 - (void) prepare; 00146 00150 - (void) resetSwitchFlags; 00151 00155 - (void) setDisposesNibsOnEscapeKey:(BOOL) _disposeOnEscape andDisposesNibsOnWindowClose:(BOOL) _disposeOnWinClose; 00156 00160 - (void) setNibName:(NSString *) _nibName andCallback:(GDCallback *) _callback; 00161 00165 - (void) show; 00166 00170 - (void) showAsSheetForWindow:(NSWindow *) _window; 00171 00175 - (void) sheetEnded; 00176 00183 - (id) initWithGD:(id) _gd andNibName:(NSString *) _nibName; 00184 00192 - (id) initWithGD:(id) _gd andNibName:(NSString *) _nibName andCallback:(GDCallback *) _callback; 00193 00194 00195 @end