/* Libraries */
#include <libraries/mui.h>

/* protos */
#include <clib/muimaster_protos.h>
#include <clib/alib_protos.h>
#include <clib/dos_protos.h>
#include <clib/exec_protos.h>

/*  Pragmas  */
#include <pragmas/muimaster_pragmas.h>
#include <pragmas/exec_pragmas.h>

/*  Ansi  */
#include <stdlib.h>
#include <stdio.h>

/* MUIBuilder */
#include "Small_Example.h"

/* Locale */
#include "Small_Example_cat.h"

struct Library * MUIMasterBase, * LocaleBase;

/* Init function */
static void init( void )
{
	if (!(MUIMasterBase = OpenLibrary(MUIMASTER_NAME,MUIMASTER_VMIN)))
	{
		printf("Can't Open MUIMaster Library");
		exit(20);
	}
}

/* main function */
main()
{
	struct ObjApp * App = NULL;	/* Application object */
	BOOL	running = TRUE;
	ULONG	signal;
	extern struct ObjApp * CreateSmall_Example( void );

	/* Program initialisation ( you need to write it yourself) */
	init();

	/* Create Application : generated by MUIBuilder */
	App = CreateApp();

	/* Notification */
	DoMethod(App->WI_smallexample, MUIM_Notify, MUIA_Window_CloseRequest, TRUE, App->App, 2, MUIM_Application_ReturnID, MUIV_Application_ReturnID_Quit);
	DoMethod( App->BT_ok, MUIM_Notify, MUIA_Pressed, FALSE, App->App, 2, MUIM_Application_ReturnID,  MUIV_Application_ReturnID_Quit);
	DoMethod( App->BT_cancel, MUIM_Notify, MUIA_Pressed, FALSE, App->App, 2, MUIM_Application_ReturnID,  MUIV_Application_ReturnID_Quit);
	
	/* Open Window */
	set( App->WI_smallexample, MUIA_Window_Open, TRUE );

	while (running)
        {
                switch (DoMethod(App->App,MUIM_Application_Input,&signal))
                {
                case MUIV_Application_ReturnID_Quit:
                        running = FALSE;
                        break;
                }
	if (running && signal) Wait(signal);
        }
	DisposeApp(App);
}
