USES SupportIntuition;

{ ============================================== }
{ ==          SupportIntuition-Demo           == }
{ ============================================== }
{ == Autor: Roger Fischlin, 08.April 1992     == }
{ ============================================== }

VAR Fenster: p_Window;
    NWTags : ARRAY[1..12] OF TagItem;
    Name   : STRING[MAXPUBSCREENNAME];
    Titel  : STRING[80];
    Msg    : p_IntuiMessage;
    Ende   : BOOLEAN;

BEGIN
  Titel:="PubScreen-Demo in Kickpascal";

  { OS 2.0 vorhanden ? }

  IF NOT IntuitionV36 THEN
      ERROR("Kickstart 2.0 benötigt !");


  { Namem des Public-Screens ermitteln }

  WRITELN("Auf welches Public Screen soll das Window geöffnet werden ?");
  WRITELN("Bei [RETURN] ohne Name wird der Default-Screen genutzt.");
  READLN(Name);

  { Tags einrichten }

  IF Name="" THEN NWTags[1]:=TagItem(WA_PubScreen,LONG(LockPublicScreen(NIL,TRUE)))
             ELSE NWTags[1]:=TagItem(WA_PubScreenName,LONG(^Name));

  NWTags[2]:=TagItem(WA_Title,LONG(^Titel));
  NWTags[3]:=TagItem(WA_CloseGadget,ORD(true));
  NWTags[4]:=TagItem(WA_AutoAdjust,ORD(true));
  NWTags[5]:=TagItem(WA_DragBar,ORD(true));
  NWTags[6]:=TagItem(WA_DepthGadget,ORD(true));
  NWTags[7]:=TagItem(WA_SizeGadget,ORD(true));
  NWTags[8]:=TagItem(WA_RMBTrap,ORD(true));
  NWTags[9]:=TagItem(WA_Width,200);
  NWTags[10]:=TagItem(WA_Height,40);
  NWTags[11]:=TagItem(WA_IDCMP,IDCMP_CLOSEWINDOW);
  NWTags[12]:=TagItem(TAG_DONE,0);

  { Window öffnen }

  Fenster:=OpenExtWindow(NIL,^NWTags[1],TRUE);

  { auf CLOSEWINDOW warten... }

  REPEAT
        Msg:=Wait_Port(Fenster^.UserPort);
        Msg:=Get_Msg(Fenster^.UserPort);
        IF Msg<>NIL THEN
            BEGIN
               Ende:=Msg^.Class=IDCMP_CLOSEWINDOW;
               Reply_Msg(Msg);
            END
           ELSE Ende:=FALSE;
  UNTIL Ende;

{ "SupportIntuition" räumt für uns auf... }

END.







