#define THE_SCREEN_WIDTH 960
#define THE_SCREEN_HEIGHT 600
#define THE_SCREEN_DEPTH 7

#include "suit.h"


/*--------------------------------------------------------------------------------*/
/*                                                                                */
/*                                  NOTE:                                         */
/*                                                                                */
/*    This file contains all the permanent properties of this application's       */
/*    objects and is read in as a data file.  Compiling this file as part of      */
/*    your application "hard codes" your interface.  Please see "shipping"        */
/*    in the SUIT reference manual for further information.                       */
/*                                                                                */
/*                                                                                */
/*                              !! DANGER !!                                      */
/*                                                                                */
/*      This file is machine-generated, and its contents are very important.      */
/*                                                                                */
/*          If you must edit this file, do so with extreme caution!               */
/*                                                                                */
/*                              !! DANGER !!                                      */
/*                                                                                */
/*--------------------------------------------------------------------------------*/


extern void SUIT_interiorInitFromCode (char *programName, SUIT_functionPointer suiRoutine,
                                       int width, int height, int depth);

extern SUIT_type *si_getType(char *typeName);

extern void si_addChildToObject(SUIT_object, SUIT_object, boolean);

static void MAKE (char *name, char *class, char *parent) 
{ 
    SUIT_object o = SUIT_name(name); 
    SUIT_object p = SUIT_name(parent); 
    if (p != NULL) {
        if (o == NULL) 
            o = SUIT_createObjectByClass(name, class); 
        si_addChildToObject(SUIT_name(parent), o, FALSE); 
    }
} 
 


static void SET (char *objOrClass, char *propertyName, char *propertyType, boolean atClass,
                 boolean locked, char *stringValue) 
{ 
    SUIT_type	*type; 
    boolean	errorStatus; 
    Pointer	retval; 
    SUIT_level level = OBJECT; 
    SUIT_object o; 
     
    if (atClass) 
        level = CLASS; 
    if (level == CLASS) 
        o = SUIT_dummyObjectInClass(objOrClass); 
    else 
        o = SUIT_name(objOrClass); 
    type = si_getType(propertyType); 
    retval = type->convertFromAscii(stringValue, &errorStatus); 
    if (errorStatus == FALSE) 
	SUIT_setProperty(o, propertyName, propertyType, retval, level); 

    if (locked) 
        SUIT_lockProperty(o, propertyName, level); 
}


static void INIT_suiRoutine(void)
{
/* this line is for parsing simplicity @ */
MAKE("Done","button","ROOT");
MAKE("my patterns","pattern chips","ROOT");
SET("button","disabled color","GP_color",1,0,"grey, black");
SET("button","justification","SUIT_enum",1,0,"\"center\" of {\"left\" \"center\" \"right\"}");
SET("button","shrink to fit","boolean",1,0,"yes");
SET("pattern chips","chip border","double",1,0,"0.080000");
SET("pattern chips","current value","int",1,0,"0");
SET("pattern chips","has background","boolean",1,0,"no");
SET("pattern chips","highlight color","GP_color",1,0,"black, black");
SET("ROOT","animated","boolean",0,0,"no");
SET("ROOT","background color","GP_color",0,0,"grey, white");
SET("ROOT","border color","GP_color",0,0,"grey, black");
SET("ROOT","border raised","boolean",0,0,"yes");
SET("ROOT","border type","SUIT_enum",0,0,"\"motif\" of {\"simple\" \"motif\" \"fancy motif\"}");
SET("ROOT","border width","int",0,0,"2");
SET("ROOT","clip to viewport","boolean",0,0,"yes");
SET("ROOT","default object height","int",0,0,"80");
SET("ROOT","default object width","int",0,0,"80");
SET("ROOT","draw border on inside","boolean",0,0,"no");
SET("ROOT","font","GP_font",0,0,"times,,12.000000");
SET("ROOT","foreground color","GP_color",0,0,"black, black");
SET("ROOT","has background","boolean",0,0,"yes");
SET("ROOT","has border","boolean",0,0,"yes");
SET("ROOT","margin","int",0,0,"5");
SET("ROOT","show temporary properties","boolean",0,0,"no");
SET("ROOT","shrink to fit","boolean",0,0,"no");
SET("ROOT","springiness","SUIT_springiness",0,0,"63");
SET("ROOT","SUIT system font","GP_font",0,0,"helvetica,,14.000000");
SET("ROOT","viewport","viewport",0,1,"0 0 959 599");
SET("ROOT","visible","boolean",0,0,"yes");
SET("ROOT","wallpaper","text",0,0,"");
SET("ROOT","window","window",0,1,"0.000000 0.000000 1.000000 1.000000");
SET("Done","active display","SUIT_enum",0,0,"\"standard\" of {\"button with hotkey\" \"standard\"}");
SET("Done","border raised","boolean",0,0,"yes");
SET("Done","callback function","SUIT_functionPointer",0,0,"function ptr");
SET("Done","disabled","boolean",0,0,"no");
SET("Done","done callback function","SUIT_functionPointer",0,0,"function ptr");
SET("Done","has background","boolean",0,0,"yes");
SET("Done","label","text",0,0,"Done");
SET("Done","viewport","viewport",0,0,"850 75 887 99");
SET("my patterns","active display","SUIT_enum",0,0,"\"parquet\" of {\"standard\" \"parquet\"}");
SET("my patterns","callback function","SUIT_functionPointer",0,0,"function ptr");
SET("my patterns","current value","int",0,0,"19");
SET("my patterns","previous value","int",0,0,"9");
SET("my patterns","viewport","viewport",0,0,"215 189 876 434");


} /* end of INIT_suiRoutine */



void SUIT_initFromCode (char *programName)
{
    SUIT_interiorInitFromCode (programName, INIT_suiRoutine, THE_SCREEN_WIDTH,
                               THE_SCREEN_HEIGHT, THE_SCREEN_DEPTH);
}
