This is SwapViewDocs.rtf in view mode; [Download] [Up]
Release 2.0  by Greg Burd
SwapView
INHERITS FROM	View:Responder : Object
DECLARED IN	"SwapView.h"
CLASS DESCRIPTION
SwapView is a class that provides all the necessary functionality to swap out several views (ie. inspectors).  This is a simple class that is intended to allow the common programmer to create inspectors quickly without a huge expense.  This view will swap any panel's content view into itself and then put it back.  It stores none of the inspector panels as some other views of this nature do.  To do that in my opinion is to limit the functionality.  Instead this is a class that will cover all the areas where one area needs to display more than one view.  Also other implementations limit the views to only those registered to them.  This allows 'dynamic' (meaning non-static) swapping of views (ie. you could dynamically load a class with another panel and have no problem swapping to it). 
When you want to swap to a view, simply send a - swapIt call to the SwapView.  It in turn will ask its delegate - whatPanel.  The delegate will return the panel id and that panel's content view will be swapped in.  If the delegate responds with NULL to the -whatPanel call then the SwapView will 'erase' itself by filling its bounds with NX_LTGRAY.
INSTANCE VARIABLES
Inherited from Object	Class	isa;
Inherited from Responder	id	nextResponder;
Inherited from View	NXRect	frame;
NXRect	bounds;
id	superview;
id	subviews;
id	window;
struct __vFlags {
unsigned int		noClip:1;
unsigned int		translatedDraw:1;
unsigned int		drawInSuperview:1;
unsigned int		alreadyFlipped:1;
unsigned int		needsFlipped:1;
unsigned int		rotatedFromBase:1;
unsigned int		rotatedOrScaledFromBase:1;
unsigned int		opaque:1;
unsigned int		disableAutodisplay:1;
unsigned int		needsDisplay:1;
unsigned int		validGState:1;
unsigned int		newGState:1;
}	vFlags;
Declared in SwapView	id	lastInspector;
id	currentInspector;
id	delegate;
float	backgroundGray;
lastInspector 	This is the id of the last panel swapped in.  SwapView will make sure that you are not swapping the same panel in when its content view is already the swap view.
currentInspector 	This is the id of the current panel.  That panel's contentView is the current SwapView contentView.
delegate 	This is the id of the delegate who is expected to answer the call - whatPanel.
METHOD TYPES
Initializing and freeing View objects
- initFrame:
- init
- free
Objects and Delegate Methods	- delegate
- setDelegate: 
- currentInspector 
- lastInspector 
Background Gray Methods	- backgroundGray
- setBackgroundGray: 
Swapping out views	- swapIt:
- swapIt
INSTANCE METHODS
currentInspector
- currentInspector
Returns the id of the panel.  It is that panel's content view which is currently the visible view in the SwapView.  If this returns NULL, there is no current panel, and the view should be NX_LTGRAY.
See also:  - lastInspector
backgroundGray
-  (float)backgroundGray
Returns a float value which will be used as the gray to  erase the view when the delegate returns a NULL id to the call -whatPanel.  The default is NX_LTGRAY.
See also:  - setBackgroundGray:
delegate
- delegate
Returns the id of the current delegate.  The delegate should respond to - whatPanel.
See also:  - setDelegate:
init
- init
Returns [self  initFrame:defaultFrame].  The default frame is {{0.0, 0.0}, {0.0, 0.0}}.
See also:  - initFrame:
initFrame
- initFrame:(NXRect *)frame
Sets all instance vars to NULL and calls super - initFrame:frame.
See also:  - init
lastInspector
- lastInspector
Returns the id of the panel where the current contentView of SwapView came from.
See also:  - currentInspector
setBackgroundGray
- setBackgroundGray:(float)aGray
Sets the  float value which will be used as the gray to  erase the view when the delegate returns a NULL id to the call -whatPanel.  The default is NX_LTGRAY.
See also:  - backgroundGray
setDelegate
- setDelegate:anObject
Sets the delegate to anObject.  The delegate must respond to - whatPanel for the -swapIt call to swap out to another view.
See also:  - delegate
swapIt
- swapIt
This is the heart of this class.  This method calls the delegate with - whatPanel.  It then removes the current subview of SwapView, if there is one (ie lastInspector).  Then it installs the offscreen panel's contentView as the currentInspector, and sends it - display.  If  the delegate responds with NULL or there is no delegate, then the SwapView is NX_LTGRAY.  Returns self.
See also:  - swapIt:
swapIt:
- swapIt:sender
Sender is not used for anything.  This simply calls - swapIt.
See also:  - swapIt
METHODS IMPLEMENTED BY DELEGATE
whatPanel
- whatPanel
This should return the id of the panel who's contentView should be swapped into the SwapView on screen.  Most of the time this panel should be offscreen.  It is important to set up the panel so that it is not deferred.  If it is deferred, - swapIt will not be able to allocate a gstate for the contentView and therefore will not be able to swap it onto the screen.
See also:  - delegate,  - setDelegate
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.