/*
\\         Main.c() Initialises MUI Constructor.
*/

      // NewObject(ImageListClass->mcc_Class,NULL,TAG_DONE);

 
        #include <Global/Main_Global.h>
        
     struct MUI_CustomClass	*ImageListClass;   	// BAD SHOW!! TRY AND GET RID OFF!
     Object			*ClassList;		// BAD SHOW!! TRY AND GET RID OFF!

void ASM SAVEDS Image_Display( REG(a1) struct EClass *,    REG(a2) char **);
struct EClass * ASM SAVEDS Image_Construct( REG(a1) struct EClass *);
void ASM SAVEDS Image_Destruct(REG(a1) struct EClass *);


void main( void  )
{
 static const struct Hook ImageList_DisplayHook = { { 0,0 }, (VOID *)Image_Display,NULL,NULL}; 
 static const struct Hook ImageList_ConstructHook = { { 0,0 }, (VOID *)Image_Construct,NULL,NULL};  
 static const struct Hook ImageList_DestructHook = { { 0,0 }, (VOID *)Image_Destruct,NULL,NULL}; 
 
  Object			*Interface;
  ULONG				signals;
  
  OpenLibrarys();
  printf("Librarys Open\n");
  Startup_MemoryManager();  
  printf("Started Memory Manager\n");
  
    ClassList = ListObject,
                MUIA_List_DisplayHook   , &ImageList_DisplayHook, 
                MUIA_List_ConstructHook , &ImageList_ConstructHook,
                MUIA_List_DestructHook  , &ImageList_DestructHook,   
                MUIA_List_Format,",,",
                MUIA_List_MinLineHeight , 40,
                MUIA_List_AdjustHeight  ,TRUE,
	        MUIA_List_AdjustWidth   ,TRUE,End;
	        
     printf("Create List Object\n");
    InstallCustomClasses( ClassList );
    printf("Installed Custom Class List\n");
    ImageListClass = CreateImageList();
    printf("Created Image List Class\n");
    
    /*?*******************************************************?*/
    Interface = Start_Interface( ClassList );    
    printf("Created Interface\n");
     while(DoMethod(Interface,MUIM_Application_NewInput,&signals)!=MUIV_Application_ReturnID_Quit)
                      {
                        if(signals)
                          {
                           signals = Wait(signals | SIGBREAKF_CTRL_C);
                           if (signals & SIGBREAKF_CTRL_C) break;
                          }
                      }         
    Stop_Interface(Interface);
    /*?******************************************************?*/    
        
    RemoveImageList( ImageListClass );
    FlushCustomClasses( ClassList );        
  
  Shutdown_MemoryManager();
 CloseLibrarys();
  
}




