#include <intuition/intuition.h>
#include <intuition/intuitionbase.h>
#include <functions.h>

#include "Menu_1.src"

struct IntuitionBase *IntuitionBase;

main ()

{
  struct Window *MyWindow;
  struct IntuiMessage *Message;  
  int class, code;
  struct MenuItem *Item;

  if (!(IntuitionBase = (struct IntuitionBase *)
          OpenLibrary ("intuition.library",0)))
     {printf ("Intuition ist nicht da! Was ist los?\n"); exit (0);}

  MyWindow = (struct Window *) OpenWindow (&NewWindowStructure1);
    if (MyWindow == 0) {printf ("Fenster ließ sich nicht öffnen!"); 
                        CloseLibrary(IntuitionBase);
                        exit (0);}

  SetMenuStrip (MyWindow,&Menu1); /* Menü einschalten */

  do {  /* Diese Schleife wird durchlaufen, bis eine CLOSEWINDOW-
           Nachricht kommt.  */

   Wait (1L << MyWindow->UserPort->mp_SigBit); /* Auf (irgend)eine 
            Nachricht warten */

    while (Message = GetMsg (MyWindow->UserPort))

     {
      class = Message -> Class;  /* Class- und Code-Wert  */
      code = Message -> Code;    /* speichern             */

      ReplyMsg (Message);        /* Nachricht quittieren  */

       if (class == CLOSEWINDOW) break; /* Fenster zu! */

       if (class == MENUPICK)       /* Menü angewählt! */

        while (code != MENUNULL) {
       
         Item = ItemAddress (&Menu1,code); /* Strukturadresse des
                                              letzten Menüpunktes
                                              holen */ 
       
         printf ("Ausgewählt wurde Menü %d mit dem Menüpunkt %d und dem Unterpunkt %d.\n",
                  MENUNUM (code), ITEMNUM (code), SUBNUM(code));
                           /* Angewählte Menüpunkte ausgeben */

         code = Item->NextSelect;  /* Code des nächsten Menü-
                                      punktes. Falls keiner da ->
                                      code == MENUNULL */

        } /* Schleife wird beendet, wenn kein weiterer Menüpunkt
             ausgewählt wurde. */

      } /* Ende der while-Schleife */

   } while (class != CLOSEWINDOW);

  CloseWindow (MyWindow);  
  CloseLibrary (IntuitionBase); 
}

