(*-------------------------------------------------------------------------
:Program.       RequesterDemo.mod
:Contents.      Demo for `IntuiSupport'
:Author.        Christian Stiens
:Address.       Heustiege 2, D-4710 Lüdinghausen
:Phone.         02591/6299
:Copyright.     PD
:Language.      Modula-2
:Translator.    M2Amiga V3.3d, © AMSoft
:Imports.       IntuiSupport V1.1
-------------------------------------------------------------------------*)

MODULE RequesterDemo;

  FROM Intuition IMPORT
    WindowPtr,RequesterPtr,Request,CloseWindow,ActivationFlags,GadgetPtr,
    IDCMPFlags,IDCMPFlagSet,ActivationFlagSet,IntuiTextPtr,IntuiMessage;

  FROM IntuiSupport IMPORT
    CreateWindow,CreateRequester,CreateBoolGadget,AddReqGadget,autoBorder,
    GetIMes,topaz80,stdWin,stdIdcmp,stdGadg,stdActv,stdReq,CreateIntuiText;

  FROM Graphics IMPORT jam1;
  FROM Dos      IMPORT Delay;
  FROM SYSTEM   IMPORT ADR;
  FROM InOut    IMPORT WriteString,WriteLn;

  VAR
    rGad1,rGad2  : GadgetPtr;
    selGad       : GadgetPtr;
    req          : RequesterPtr;
    win          : WindowPtr;
    text         : IntuiTextPtr;
    mes          : IntuiMessage;

BEGIN
  win := CreateWindow(ADR("RequesterDemo"),50,0,500,170,NIL,stdWin,
                      IDCMPFlagSet{closeWindow,gadgetUp});

  IF win=NIL THEN HALT END;

  text := CreateIntuiText(1,0,jam1,30,20,topaz80,
                          ADR("Do you like this requester?"),NIL);

  rGad1 := CreateBoolGadget(1, 30,50,40,20,ADR("yes"),
           autoBorder,stdGadg,ActivationFlagSet{relVerify,endGadget});

  rGad2 := CreateBoolGadget(2,330,50,40,20,ADR("no"),
           autoBorder,stdGadg,ActivationFlagSet{relVerify});

  req := CreateRequester(50,30,400,80,0,0,autoBorder,text,stdReq,2);

  AddReqGadget(req,rGad1);
  AddReqGadget(req,rGad2);

  Delay(50);

  IF Request(req,win) THEN END;

  LOOP
    GetIMes(win,mes,TRUE);
    IF closeWindow IN mes.class THEN EXIT END;
    IF gadgetUp    IN mes.class THEN
      selGad := mes.iAddress;
      CASE selGad^.gadgetID OF
      | 1: WriteString("Thank you"); WriteLn
      | 2: WriteString("I wait till you change your mind"); WriteLn
      END
    END
  END;
  CloseWindow(win);
END RequesterDemo.
