home *** CD-ROM | disk | FTP | other *** search
/ Enigma Amiga Life 106 / EnigmaAmiga106CD.iso / software / utilities / installer / gui api / example / igui_askdisk.c < prev    next >
Encoding:
C/C++ Source or Header  |  1999-08-27  |  2.4 KB  |  104 lines

  1.  
  2. #include "includes.h"
  3. #include "installergui_data.h"
  4.  
  5. /********************************************************************
  6.  *
  7.  *  DESCRIPTION
  8.  *
  9.  */
  10.  
  11. /********************************************************************
  12.  *
  13.  *  STATIC
  14.  *
  15.  */
  16.  
  17. /********************************************************************
  18.  *
  19.  *  EXTERN
  20.  *
  21.  */
  22.  
  23. /********************************************************************
  24.  *
  25.  *  PUBLIC
  26.  *
  27.  */
  28.  
  29. /********************************************************************
  30.  *
  31.  *  CODE
  32.  *
  33.  */
  34.  
  35. void __asm igui_AskDisk(register __a0 APTR application,
  36.                         register __a1 struct FunctionEnvironment *localenv)
  37. {
  38.   #ifdef DEBUG
  39.   DEBUG_MAKRO
  40.   #endif
  41.  
  42.   {
  43.     struct Application *app = (struct Application *) application;
  44.  
  45.     APTR must;
  46.     APTR obj = GroupObject,
  47.                  Child, TextObject,
  48.                    MUIA_Frame, MUIV_Frame_None,
  49.                    MUIA_Text_Contents, localenv->fe_Prompt,
  50.                    MUIA_Text_SetMin, TRUE,
  51.                    MUIA_Text_PreParse, "\33c",
  52.                  End,
  53.                  Child, GroupObject,
  54.                    MUIA_Group_Horiz, TRUE,
  55.                    Child, HVSpace,
  56.                    Child, GroupObject,
  57.                      Child, HVSpace,
  58.                      Child, must = TextObject,
  59.                        MUIA_Text_Contents, app->app_Texts[MUST_INSERT_DISK],
  60.                        MUIA_Text_SetMin, TRUE,
  61.                        MUIA_Text_PreParse, "\33c",
  62.                        MUIA_ShowMe, FALSE,
  63.                      End,
  64.                      Child, HVSpace,
  65.                    End,
  66.                    Child, HVSpace,
  67.                  End,
  68.                End;
  69.  
  70.     // show the panel
  71.     if (guistuff_NewContent(app, obj))
  72.     {
  73.       // wait, until the user does anything
  74.       while (TRUE)
  75.       {
  76.         // wait for the user to do anything
  77.         igui_WaitApp(app);
  78.  
  79.         //
  80.         if (igui_QuitApp(app)) { break; }
  81.         else
  82.         {
  83.           // where is the wanted device/volume?
  84.           if (sav_ExistsDosEntry((char *) localenv->fe_Dest, LDF_VOLUMES|LDF_DEVICES)) { break; }
  85.           if (localenv->fe_Assigns)
  86.           {
  87.             if (sav_ExistsDosEntry((char *) localenv->fe_Dest, LDF_ASSIGNS)) { break; }
  88.           }
  89.  
  90.           // no correct disk available
  91.           SetAttrs(must, MUIA_ShowMe, TRUE, TAG_DONE);
  92.           DisplayBeep(NULL);
  93.         }
  94.       }
  95.     }
  96.     else { /* NO GUI OBJECT */ }
  97.  
  98.     //
  99.     igui_EmptyPanel(app);
  100.     return;
  101.   }
  102. }
  103.  
  104.