#include <Global/Main_Global.h>


SAVEDS void FileMenu_New( Object *wqw)
{
/*



struct linedata *CurrentLine;
CurrentLine = DoMethod(EDITOR, MUIM_Editor_GetLine, LINE );
DoMethod(EDITOR,MUIM_Editor_Replace,LINE,"WITH THIS",strlen("WITH THIS"));
MUIA_Editor_Lines


 Object *Active;
 struct linedata *CurrentLine;
 struct linedata *Lamer;

 int LineCounter=0;
 char *Buffer;
 int NestCount=0;
 int CurrentCharacter;
 LONG Numbers;
 

 get(Get(App->ProjWindow,MUIA_Project_Lister),MUIA_List_Entries,&Numbers); 
 while(Numbers>0)
  {
   Numbers--;
   DoMethod(Get(App->ProjWindow,MUIA_Project_Lister),MUIM_List_GetEntry,Numbers,&Active);  
   if(Get(Active,MUIA_Window_Activate))    
      {      
         
         while(LineCounter<Get(EDITOR,MUIA_Editor_Lines))
            {            
             CurrentLine = DoMethod(EDITOR,MUIM_Editor_GetLine,LineCounter);
             CurrentCharacter=0;
             while(CurrentCharacter<strlen(CurrentLine->data))
                  {                  
                    if(CurrentLine->data[CurrentCharacter]==0x7B) {
                     {                                
                       NestCount++;
                       printf("Found an { at line %d!\n",LineCounter);
                       if(NestCount==1)  
                           {
                          Lamer = DoMethod(EDITOR,MUIM_Editor_GetLine,LineCounter-1);                                                                         
                          printf("Found Function Start At Line %d\n",LineCounter);
                          }
                     }
                    if(CurrentLine->data[CurrentCharacter]==0x7D) }
                     {
                       NestCount--;
                       printf("Found an } at line %d!\n",LineCounter);
                       if(NestCount==0)
                         {                         
                          printf("Found The End of A Functino At line %d\n",LineCounter);
                          Buffer = Allocate_Memory(1024);
                          sprintf(Buffer,"printf(\"%sn\");",Lamer->data);
                          DoMethod(EDITOR,MUIM_Editor_AddLine,LineCounter,Buffer,strlen(Buffer));
                          LineCounter++;
                          Free_Memory(Buffer);                                                                                                        
                         }                         
                     }                                                                                                                                                                       
                    CurrentCharacter++;
                  }                                                                       
             LineCounter++;               
            }  
          
       MUI_Redraw(EDITOR,MADF_DRAWOBJECT);          
     }     
   }
  */ 
}


SAVEDS void FileMenu_Open(Object *wqw)
{
 /*  
 struct	FileRequester	*Requester;
   Object	*ActiveSource;
   char		*Buffer;
   char		*DirName;
    
   if(!ListIsEmpty() )
    {        
     if(!MUI_Request(NULL,NULL,NULL,"Warning...","_Discard|_Cancel","Unsaved Information Exists!"))      
         return;                                 
    }
             
         DoMethod(App->SourceList,MUIM_List_GetEntry,0,&ActiveSource);
         get(ActiveSource,MUIA_Source_FilePath,&DirName);
         
         Requester = MUI_AllocAslRequestTags(	ASL_FileRequest,ASL_Hail,"Please Select LoadFile.",
  	     					ASLFR_InitialDrawer,DirName,
  	     					ASLFR_Window,Get(App->MainWindow->Editor_Window,MUIA_Window_Window),
       						ASLFR_PositiveText,"Load",ASLFR_NegativeText,"Cancel",
       						TAG_DONE);
       if(!MUI_AslRequest(Requester,NULL))          
            DisplayBeep(0);          
          else
          {
          Buffer = Allocate_Memory(1024);
          strcpy(Buffer,Requester->fr_Drawer);
          if(Buffer[strlen(Buffer)-1]!=':')
             strcat(Buffer,"/");
          strcat(Buffer,Requester->fr_File);
          Buffer[strlen(Buffer)+1]=NULL;
          if(!ListIsEmpty())
          {           
           DoMethod(App->SourceList,MUIM_List_Clear);        
           DoMethod(App->Editor,MUIM_Editor_ClearBuffer);
          }                  
           
           DoMethod(App->SourceList,MUIM_List_InsertSingle,Buffer,MUIV_List_Insert_Top);
         
          Free_Memory(Buffer);
          MUI_FreeAslRequest(Requester);
          }              
          */
}

SAVEDS void FileMenu_Save(Object *wqw)
{
 
    /*
  Object        *Active;
  LONG          Numbers;
 
 get(Get(App->ProjWindow,MUIA_Project_Lister),MUIA_List_Entries,&Numbers); 
 while(Numbers>0)
  {
  Numbers--;
  DoMethod(Get(App->ProjWindow,MUIA_Project_Lister),MUIM_List_GetEntry,Numbers,&Active);  
  if(Get(Active,MUIA_Window_Activate))    
      DoMethod(Active,MUIM_Source_Save);    
  }
      */  
}


SAVEDS void FileMenu_SaveAs(Object *wqw)
{
/*

 struct	FileRequester	*Requester;
 char	*DirName;
 BPTR	FileHandle;
 struct	SourceFile	*Current;
 char	*FileName;
 if(!ListIsEmpty())
 {
  DoMethod(App->SourceList,MUIM_List_GetEntry,0,&Current);
  DirName = Allocate_Memory(strlen(Current->Source_Path));
  strcpy(DirName,Current->Source_Path);
  FileName = Allocate_Memory(strlen(Current->Source_Name));
  strcpy(FileName,Current->Source_Name);
  Requester = AllocAslRequestTags( ASL_FileRequest,ASL_Hail,"Please Indicate SaveFile.",
  				   ASLFR_InitialDrawer,DirName,
  				   ASLFR_InitialFile,FileName,
  				   ASLFR_PositiveText,"Save",ASLFR_NegativeText,"Cancel",
  				   TAG_DONE);
  				   
 }
 else
 {
  DirName = Allocate_Memory(1024);
  FileName = Allocate_Memory(1024);
  GetCurrentDirName(DirName,1024);
  Requester = AllocAslRequestTags( ASL_FileRequest,ASL_Hail,"Please Indicate SaveFile.",
 				   ASLFR_InitialDrawer,DirName,
 				   ASLFR_InitialFile,"Untitled",
 				   ASLFR_PositiveText,"Save",ASLFR_NegativeText,"Cancel",
 				   TAG_DONE);
 }
 if(!AslRequest(Requester,NULL))
       DisplayBeep(0);
       else
       {
        FileName = Allocate_Memory(strlen(Requester->fr_Drawer)+strlen(Requester->fr_File)+4);
        strcpy(FileName,Requester->fr_Drawer);
        if(FileName[strlen(FileName)-1]!=':')
            strcat(FileName,"/");
        strcat(FileName,Requester->fr_File);
        
        FileHandle = Open(FileName,MODE_NEWFILE);
        DoMethod(App->Editor,MUIM_Editor_Export,FileHandle,LOADMODE_ASCII);
        Close(FileHandle);
       }
 
  FreeAslRequest(Requester);			   
  Free_Memory(DirName);
  Free_Memory(FileName);
  */
 }


SAVEDS void FileMenu_SaveAll(Object *wqw)
{

  /*
  Object        *Active;
  LONG          Numbers;
 
 get(Get(App->ProjWindow,MUIA_Project_Lister),MUIA_List_Entries,&Numbers); 
 while(Numbers>0)
  {
  Numbers--;
  DoMethod(Get(App->ProjWindow,MUIA_Project_Lister),MUIM_List_GetEntry,Numbers,&Active);  
  if(Get(Active,MUIA_Window_Open))    
      DoMethod(Active,MUIM_Source_Save);    
  }
*/

}
SAVEDS void FileMenu_Print(Object *wqw)
{
}
SAVEDS void FileMenu_PrintSetup(Object *wqw)
{
}

SAVEDS void Help_About(Object *Bob)
{
  MUI_Request(App->Application,NULL,NULL, "Information..","*_Fantastic!",
  "\033b\033c\033u SAS Editor Replacment\033n\n\n"
  "An  Object Oriented  Text Editor.  Fully  Internally \n"
  "Multithreading  and   Multitasking.  It  Dynamically \n"
  "Creates and Uses Objects To Edit With. Also Is Fully \n"
  "Integrated With The SAS Development System  To Write \n"
  "Applications, and Keep  Track Of Projects, Uses MUI3 \n"
  "To A Full Extent.\n\n"
  " \033b\033c BETA Version For \033iGAIA\033n\033b\033c - \"C\" Features Disabled!\n"
  "\n\033c © Big Time Digital Design 1996/97"
  );       
}

SAVEDS void FileMenu_Exit(Object *wqw)
{

DoMethod(App->Application,MUIM_Application_ReturnID,MUIV_Application_ReturnID_Quit);
}



BOOL ListIsEmpty(void )
{

/* LONG Numbers;
 get(App->SourceList,MUIA_List_Entries,&Numbers);
 if(Numbers<=0)
  return(TRUE);
  else
  return(FALSE);
  */
}


                                                   
