This is MiscWindowManager.h in view mode; [Download] [Up]
/*
MiscWindowManager.h
Authors: Todd Thomas and Dave Slotnick
$Id:$
*/
// Headers
#import <Foundation/NSObject.h>
// Forward class declarations
@class NSWindow;
@class NSArray;
@class NSString;
@class NSNotification;
@class MiscNibManager;
// Notifications
// You can use this notification for other objects in the nib
// that should go away as soon as the window and window manager
// are released. The MiscInspectorMediator
// is the only object in the MiscController hierarchy that
// currently makes use of this notification but it would probably
// be useful for any object you add to a nib that should release
// when the window manager goes away.
extern NSString* MiscWindowManagerWillReleaseNotification;
@interface MiscWindowManager : NSObject
{
#if HACK_FOR_IB_OUTLETS
id nibManager;
id window;
#endif
@private
MiscNibManager* _nibManager; /*" Our nib manager "*/
NSWindow* _window; /*" Outlet to our window "*/
BOOL _autosavesWindowFrame; /*" Save frame when it changes? "*/
NSString* _windowFrameName; /*" Window frame default name "*/
NSString* _name; /*" Allows for named managers. "*/
float _xOffset; /*" X offset for cascading. "*/
float _yOffset; /*" Y offset for cascading. "*/
BOOL _autoCascadesWindow; /*" Do we cascade our window? "*/
BOOL _releasedWhenWindowClosed; /*" We go when window goes? "*/
}
/*" Class initialization "*/
+ (void) initialize;
/*" Loading nib manager "*/
+ (Class) nibManagerClass;
+ (void) setNibManagerClass:(Class)newNibManagerClass;
/*" Manager instances "*/
+ (NSArray*) allWindowManagers;
/*" Managers by class "*/
+ (NSArray*) windowManagersOfClass:(Class)managerClass;
//+ (MiscWindowManager*) windowManagerOfClass:(Class)managerClass;
+ (id) windowManagerOfClass:(Class)managerClass;
/*" Managers by name "*/
+ (NSArray*) windowManagersWithName:(NSString*)aName;
//+ (MiscWindowManager*) windowManagerWithName:(NSString*)aName;
+ (id) windowManagerWithName:(NSString*)aName;
/*" Initialization / deallocation "*/
- (id) init;
- (void) dealloc;
/*" Named managers "*/
- (NSString *) name;
- (void) setName:(NSString *)ourName;
/*" Our nib manager "*/
- (MiscNibManager*) nibManager;
- (void) setNibManager:(MiscNibManager*)newNibManager;
/*" Accessing the window "*/
- (NSWindow*) window;
- (void) setWindow:(NSWindow*)newWindow;
- (NSString*) windowTitle;
- (void) setWindowTitle:(NSString*)title;
/*" Window cascading "*/
- (BOOL) autoCascadesWindow;
- (void) setAutoCascadesWindow:(BOOL)cascadeIt;
- (void) setCascadeOffset:(float)x :(float)y;
/*" Check the document status "*/
- (BOOL) isDocumentEdited;
- (void) setDocumentEdited:(BOOL)docNowEdited;
/*" Display management "*/
- (void) makeKeyConditionallyAndOrderFront:sender;
- (BOOL) isVisible;
/*" Closing "*/
- (void) performClose:(id)sender;
- (void) close;
/*" Window frame management "*/
- (BOOL) autosavesWindowFrame;
- (void) setAutosavesWindowFrame:(BOOL)saveFrame;
- (NSString*) windowFrameName;
- (void) setWindowFrameName:(NSString*)frameName;
- (void) setWindowFrameFromDefaults;
- (void) saveWindowFrameToDefaults;
/*" Releasing "*/
- (BOOL) isReleasedWhenWindowClosed;
- (void) setReleasedWhenWindowClosed:(BOOL)freeUs;
@end
/*
Any headers from here on are protected and should only be used by
subclasses. They should be considered more volitile than the
public API.
*/
@interface MiscWindowManager (Protected)
/*" Customizing the Window close "*/
- (NSString*) _closeAlertMessage;
- (SEL) _closeAction;
- (NSArray*) _closePanelButtonTitles;
/*" Window closing messages "*/
- (BOOL) _alertUserOfWindowClose:(NSWindow*)ourWindow;
- (BOOL) _shouldSendCloseAction;
- (BOOL) _windowShouldClose:(NSWindow*)ourWindow;
- (void) _windowClosed;
/*" Accessing the miniwindow icon "*/
- (NSString*) _miniwindowIcon;
/*" Autosave frame support "*/
- (void) _possiblySetupWindowFrameAutosaving;
/*" Window cascading "*/
- (void) _tryToCascadeWindow;
/*" Initialization hooks "*/
- (void) _initializeUI;
@end
@interface MiscWindowManager (WindowDelegate)
//- (void) windowDidBecomeKey:(NSNotification*)aNotification;
//- (void) windowDidBecomeMain:(NSNotification*)aNotification;
//- (void) windowDidChangeScreen:(NSNotification*)aNotification;
//- (void) windowDidDeminiaturize:(NSNotification*)aNotification;
//- (void) windowDidExpose:(NSNotification*)aNotification;
//- (void) windowDidMiniaturize:(NSNotification*)aNotification;
//- (void) windowDidMove:(NSNotification*)aNotification;
//- (void) windowDidResignKey:(NSNotification*)aNotification;
//- (void) windowDidResize:(NSNotification*)aNotification;
//- (void) windowDidUpdate:(NSNotification*)aNotification;
- (BOOL) windowShouldClose:(id)ourWindow;
//- (void) windowWillClose:(NSNotification*)notification;
- (void) windowWillMiniaturize:(NSNotification*)notification;
//- (void) windowWillMove:(NSNotification*)notification;
@end
@interface MiscWindowManager (MiscNibManagerNotification)
- (void) _notifyNibManagerOfRelease;
@end
@interface MiscWindowManager (NibNotification)
- (void) awakeFromNib;
@end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.