/***(PanelManager.m)***********************************************************
*H* WideScreen Panel Manager object class implmentation       V0.1, 26-APR-92 *
*C* V0.1 26-APR-92 Initial version  	    	    	    	    	--MDM *
******************************************************************************/

/* Operating System and C Library Definitions */
#import <string.h>  	    	/* Standard C String manipulation functions */

/* VDT Application Object Definitions */
#import "PanelManager.h"
#import "HelpPanel.h"
#import "InfoPanel.h"
#import "PrefPanel.h"

@implementation PanelManager


/******************************************************************************
* INSTANCE METHOD:- init    	    	    	    	    	    	      *
*   Intialize the instance variables 	    	    	    	    	      *
******************************************************************************/
- init

{/* BEGIN init */
self = [super init];

IVhelpPanel = nil;
IVinfoPanel = nil;
IVprefPanel = nil;
return(self);
}/* END init */



/******************************************************************************
* INSTANCE METHOD:- ShowHelpPanel      	    	    	    	    	      *
*   This method is called  when the Help  item is selected from the Info sub- *
* menu.  On the first  entry  this  routine  creates  the help panel and then *
* subsequently it just brings the panel to the foreground.	    	      *
******************************************************************************/
- ShowHelpPanel:sender

{/* BEGIN ShowHelpPanel */
if ( IVhelpPanel == nil )
    /* This is the first entry to this method, unarchive the help panel */
    IVhelpPanel = [[HelpPanel alloc] init];

/* Move the help panel to the top of the window stack and give it focus */
[IVhelpPanel ExposeAndFocus:self];
return self;
}/* END ShowHelpPanel */



/******************************************************************************
* METHOD:- ShowInfoPanel    	    	    	    	    	    	      *
*   This method is called when  the  Info item is selected from the Info sub- *
* menu.  On the first  entry  this  routine  extracts the Info panel from its *
* NIB segment and then subsequently just brings the panel to the foreground.  *
******************************************************************************/
- ShowInfoPanel:sender

{/* BEGIN ShowInfoPanel */
if ( IVinfoPanel == nil )
    /* This is the first entry to this method, unarchive the info panel */
    IVinfoPanel = [[InfoPanel alloc] init];

/* Move the help panel to the top of the window stack and give it focus */
[IVinfoPanel ExposeAndFocus:self];
return(self);
}/* END ShowInfoPanel */



/******************************************************************************
* METHOD:- ShowPrefPanel    	    	    	    	    	    	      *
*   This method is called when  the  Preferences... item is selected from the *
* Info sub-menu.  On  the first entry  this  routine  extracts the Pref panel *
* from its NIB segment and  then  subsequently  just  brings the panel to the *
* foreground.  	    	    	    	    	    	    	    	      *
******************************************************************************/
- ShowPrefPanel:sender

{/* BEGIN ShowPrefPanel */
if ( IVprefPanel == nil )
    /* This is the first entry to this method, unarchive the pref panel */
    IVprefPanel = [[PrefPanel alloc] init];

/* Move the help panel to the top of the window stack and give it focus */
[IVprefPanel ExposeAndFocus:self];
return(self);
}/* END ShowPrefPanel */

@end
