#import "FlashController.h"

/* -------------------------------------------------------------------

	RDR, Inc. 

	Objective-C source file for the class Controller

	COPYRIGHT (C), 1991, RDR, Inc.
	ALL RIGHTS RESERVED.

	Responsible:			Approved:
	RDR:Ernest Prabhakar		

	Date:				Rev:
	1991-Oct-04			___

                              Controller                              

	1. Introduction


	2. Revision History

	___	The starting point.	Ernest Prabhakar/1991-Oct-04


	3. Source Code

------------------------------------------------------------------- */

/* ------------------------- Import files ------------------------- */
#import <appkit/nextstd.h>
#import <objc/hashtable.h>
#import <appkit/defaults.h>


/* ------------------------  Classes used  ------------------------ */
#import <objc/List.h>
#import <appkit/Panel.h>

#import "BasicApp.h"
#import "FlashDoc.h"

/* --------------------------  Defines  --------------------------- */
#define ZAlloc(CL) [CL allocFromZone:[self zone]]
#define ClassKind(Obj,Class) [Obj isKindOf:[Class class]]

/* -------------------------  Constants  -------------------------- */


/* ----------------------  Class variables  ----------------------- */


/*====================================================================
                  Implementation of class Controller                  
====================================================================*/
@implementation FlashController : Object
{
  id doc;
}

/*====================================================================
                         Initialize and Free                          
====================================================================*/

/*--------------------------------------------------------------------
|-appWillInit:sender|  				Initializes the defaults. 
Called by the AppKit upon startup.  Not clear if these can be nested.
Sets Window Location, Page Margins.
Sets class version.
Returns self.
                                          Ernest Prabhakar/1991-Jun-27
--------------------------------------------------------------------*/
-appWillInit:sender
{
    static const NXDefaultsVector AppDefaults = 
    {
    {"WinLocX", "64"}, {"WinLocY", "256"},
    {"WinLocDx", "32"}, {"WinLocDy", "8"},
    {"NXMargins", "36 36 36 36"},
	{"NXFont", "Times-Roman"}, {"NXFontSize", "14"},
	{"KeyFont", "Times-Bold"}, {"KeyFontSize", "16"},
    {"Quit", NULL}, {NULL, NULL}
    };
#ifndef DEBUG			/* Don't Dump Core if not Debugging */
    struct rlimit rl={ 0, 0};
    getrlimit( RLIMIT_CORE, &rl);
    rl.rlim_cur=0;
    setrlimit( RLIMIT_CORE, &rl);
#endif

    NXRegisterDefaults([NXApp appName], AppDefaults);

    if (!doc) doc = [FlashDoc class];

    [[doc class] setContentsClass:[List class]];
    [[doc class] setExtension:"flash"];
    [NXApp setDocClass:[doc class]];
    [NXApp setVersion:100];
    return self;
}

@end

