{$if not def AP_OBERFL_H}
   
CONST
  AP_OBERFL_H = 0;
  
  { edit-Gadgets }
  EDIT_ANREDE = 1;
  EDIT_NAME   = 2;
  EDIT_VORNAME= 3;
  EDIT_CO     = 4;
  EDIT_STRASSE= 5;
  EDIT_PLZ    = 6;
  EDIT_ORT    = 7;
  EDIT_LAND   = 8
  EDIT_TELEFON= 9;
  EDIT_FAX    =10;
  EDIT_BIRTH  =11;
  EDIT_EMAIL1 =12;
  EDIT_EMAIL2 =13;
  EDIT_EMAIL3 =14;
  EDIT_COMMENT=15;
  EDIT_OK     =16;
  EDIT_CANCEL =17;

  { such-gadgets}
  SUCHF_STRING  = 1;
  SUCHF_DSZEIG  = 2;
  SUCHF_NAME    = 3;
  SUCHF_VORNAME = 4
  SUCHF_CO      = 5;
  SUCHF_STRASSE = 6;
  SUCHF_PLZ     = 7;
  SUCHF_ORT     = 8;
  SUCHF_LAND    = 9;
  SUCHF_TELEFON =10;
  SUCHF_FAX     =11;
  SUCHF_EMAIL1  =12;
  SUCHF_EMAIL2  =13;
  SUCHF_EMAIL3  =14;
  SUCHF_BIRTH   =15;
  SUCHF_COMMENT =16;
  SUCHF_SALLE   =17;
  SUCHF_GKEGAL  =18;
  SUCHF_GENAU   =19;
  SUCHF_SUCHEN  =20;
  SUCHF_WSUCHEN =21;
  SUCHF_INFOG   =22;
  SUCHF_ABBRUCH =23;

{ ** Modifiziert die Koordinaten eines Gadgets so, daß sie sich fontsensitiv
     anpassen ** }
PROCEDURE SensitivGadget(VAR ng:NewGadget);
BEGIN
  ng.ng_LeftEdge := ComputeX(ng.ng_LeftEdge)+xoff;
  ng.ng_TopEdge  := ComputeY(ng.ng_TopEdge)+yoff;
  ng.ng_Width    := ComputeX(ng.ng_Width);
  ng.ng_Height   := ComputeY(ng.ng_Height);
END;

{ -- Zeichnet eine BevelBox -- }
PROCEDURE Rahmen(VAR wo : p_Window; x,y,b,h : INTEGER; recessed : BOOLEAN);
BEGIN
  t[1] := TagItem(GT_VisualInfo,LONG(vi));
  t[2] := TagItem(GTBB_Recessed, LONG(recessed));
  t[3].ti_Tag := TAG_DONE;

  DrawBevelBoxA(wo^.RPort,xoff+ComputeX(x),yoff+ComputeY(y),ComputeX(b),ComputeY(h),^t);
END;

{ -- MIK 29.12.95 -- zeichnet eine 2 Pixel Hohe Linie }
PROCEDURE Linie(VAR wo:p_window;x,y,b:INTEGER);
BEGIN
  t[1] := TagItem(GT_VisualInfo,LONG(vi));
  t[2].ti_Tag := TAG_DONE;
  DrawBevelBoxA(wo^.RPort,xoff+ComputeX(x),yoff+ComputeY(y),ComputeX(b),2{Höhe},^t);
END;

FUNCTION GetString(VAR g:p_Gadget) : STR;
VAR
  si : p_StringInfo;
BEGIN
  IF (g^.GadgetType AND GTYP_STRGADGET)=0 THEN EXIT;
  si := g^.SpecialInfo;
  GetString := si^.Buffer;
END;   

PROCEDURE GhostGadget(VAR gad:p_Gadget; VAR wp:p_Window; status:BOOLEAN);
BEGIN
  t[1] := TagItem(GA_Disabled, ORD(status));
  t[2].ti_Tag := TAG_DONE;
  GT_SetGadgetAttrsA(gad, wp, NIL, ^t);
END;


 PROCEDURE raster(win:p_window,x,y,b,h:INTEGER); 
 { zeichnet ein Raster }
 { Thanks And Greetings To PackMAN !!!!!!!!!!!! ....... }
 VAR   pattern : array[0..1] of word;
       rp:p_rastport;

BEGIN
 rp:=win^.rport;
 b:=computex(b+x)+xoff;
 h:=computey(h+y)+yoff;
 x:=computex(x)+xoff;
 y:=computey(y)+yoff;
 pattern[0]:=$AAAA;                { Pattern ausfüllen    }
 pattern[1]:=$5555;
 SetAfPt(RP,^pattern,1);           { Pattern setzen       }
 SetAPen(RP,2);                    { Farben für Raster    } 
 SetBPen(RP,0);
 SetDrMd(RP,JAM2);                 { Schreibmodus setzen  }
 RectFill(RP,x,y,b,h);
 SetAfPt(RP,NIL,0);                { Pattern zurücksetzen }
END;


{** NEW ! MIK22.05.96} 
PROCEDURE rasterabs(win:p_window,x,y,b,h:INTEGER); 
 { zeichnet ein Raster, aber mit absolutwerten!}

 VAR   pattern : array[0..1] of word;
       rp:p_rastport;

BEGIN
 rp:=win^.rport;
 b:=b+x+xoff;
 h:=h+y+yoff;
 x:=x+xoff;
 y:=y+yoff;
 pattern[0]:=$AAAA;
 pattern[1]:=$5555;
 SetAfPt(RP,^pattern,1);
 SetAPen(RP,2);
 SetBPen(RP,0);
 SetDrMd(RP,JAM2);
 RectFill(RP,x,y,b,h);
 SetAfPt(RP,NIL,0);
END;


PROCEDURE clearq(win:p_window;x,y,b,h:INTEGER);
  {löscht einen Quadratischen ähm rechteckigen Bereich} 

VAR rp:p_rastport;

 BEGIN
  rp:=win^.rport;
  b:=computex(b+x)+xoff;  { bis ich hier die richtige Formel hatte! Sche°@}
  h:=computey(h+y)+yoff;
  x:=Computex(x)+xoff;
  y:=Computey(y)+yoff;
  SetApen(rp,0);
  Setdrmd(rp,JAM2);
  rectfill(rp,x,y,b,h);
 END;

{ -- Die Editadgets definieren -- }
PROCEDURE SetEditGads;
VAR x : STR;
BEGIN
  ComputeFont(editWinWidth,editWinHeight);
  ww := ComputeX(editWinWidth);
  wh := ComputeY(editWinHeight);
  gl1 := NIL;
  gl1 := CreateContext(^gl1);

  t[1] := TagItem(GT_Underscore, LONG("_"));

  ng := NewGadget(100,2,
                  200,14,
                  {"_Anrede"}GetLocStr(EDIT_GADGET_SALUTATION),
                  mytattr, 
                  EDIT_ANREDE,
                  PLACETEXT_LEFT,
                  vi,
                  NIL); 
  sensitivgadget(ng);  
  t[2] := TagItem(GTST_MaxChars,anlength-1);
  t[3] := TagItem(GTST_String, LONG(^anredebuf));
  t[4].ti_Tag := TAG_DONE;
  egad[EDIT_ANREDE] := CreateGadgetA(STRING_KIND,gl1,^ng,^t);
  
  ng := NewGadget(100,17,
                  200,14,
                  {"_Name"}GetLocStr(EDIT_GADGET_NAME),
      mytattr,
                  EDIT_NAME,
      PLACETEXT_LEFT,
                  vi,
      NIL);
  SensitivGadget(ng);
  t[2] := TagItem(GTST_MaxChars,namelength-1);
  t[3] := TagItem(GTST_String, LONG(^nbuf));
  t[4].ti_Tag := TAG_DONE;
  egad[EDIT_NAME] := CreateGadgetA(STRING_KIND,egad[EDIT_ANREDE],^ng,^t);

  ng := NewGadget(420,17,200,14,
                  {"_Vorname"}GetLocStr(EDIT_GADGET_FIRST),MyTattr,
                  EDIT_VORNAME,PLACETEXT_LEFT,
                  vi,NIL);
  SensitivGadget(ng);
  t[2].ti_Data := vnamelength-1;
  t[3].ti_Data := LONG(^vbuf);
  egad[EDIT_VORNAME] := CreateGadgetA(STRING_KIND,egad[EDIT_NAME],^ng,^t);

  ng := NewGadget(100,32,520,14,
                  {"_c/o"}GetLocStr(EDIT_GADGET_CO),mytattr,
                  EDIT_CO,PLACETEXT_LEFT,
                  vi,NIL);
  sensitivgadget(ng);
  t[2] := TagItem(GTST_MaxChars,colength-1);
  t[3] := TagItem(GTST_String, LONG(^cobuf));
  egad[EDIT_CO] := CreateGadgetA(STRING_KIND,egad[EDIT_VORNAME],^ng,^t);

  ng := NewGadget(100,47,520,14,
                  {"_Straße"}GetLocStr(EDIT_GADGET_STREET),MyTattr,
                  EDIT_STRASSE,PLACETEXT_LEFT,
                  vi,NIL);
  SensitivGadget(ng);
  t[2].ti_Data := strasselength-1;
  t[3].ti_Data := LONG(^sbuf);
  egad[EDIT_STRASSE] := CreateGadgetA(STRING_KIND,egad[EDIT_CO],^ng,^t);


  ng := NewGadget(100,62,100,14,
                  {"_PLZ"}GetLocStr(EDIT_GADGET_ZIP),MyTattr,
                  EDIT_PLZ,PLACETEXT_LEFT,
                  vi,NIL);
  SensitivGadget(ng);

  t[2].ti_Data := plzlength-1;
  t[3].ti_Data := LONG(^pbuf);
  egad[EDIT_PLZ] := CreateGadgetA(STRING_KIND,egad[EDIT_STRASSE],^ng,^t);

  ng := NewGadget(275,62,120,14,
                  {"_Ort"}GetLocStr(EDIT_GADGET_CITY),MyTattr,
                  EDIT_ORT,PLACETEXT_LEFT,
                  vi,NIL);
  SensitivGadget(ng);
  t[2].ti_Data := ortlength-1;
  t[3].ti_Data := LONG(^obuf);
  egad[EDIT_ORT] := CreateGadgetA(STRING_KIND,egad[EDIT_PLZ],^ng,^t);

  ng := NewGadget(470,62,150,14,
                  {"_Land"}GetLocStr(EDIT_GADGET_COUNTRY),mytattr,
                  EDIT_LAND,PLACETEXT_LEFT,
                  vi,NIL);
  sensitivgadget(ng);
  t[2].ti_Data := landlength-1;
  t[3].ti_Data := LONG(^landbuf);
  egad[EDIT_LAND] := CreateGadgetA(STRING_KIND,egad[EDIT_ORT],^ng,^t);      

  ng := NewGadget(100,77,120,14,
                  {"_Telefon"}GetLocStr(EDIT_GADGET_PHONE),MyTattr,
                  EDIT_TELEFON,PLACETEXT_LEFT,
                  vi,NIL);
  SensitivGadget(ng);
  t[2].ti_Data := tellength-1;
  t[3].ti_Data := LONG(^tbuf);
  egad[EDIT_TELEFON] := CreateGadgetA(STRING_KIND,egad[EDIT_LAND],^ng,^t);

  ng := NewGadget(275,77,120,14,
                  {"_Fax"}GetLocStr(EDIT_GADGET_FAX),MyTattr,
                  EDIT_FAX,PLACETEXT_LEFT,
                  vi,NIL);
  SensitivGadget(ng);
  t[2].ti_Data := faxlength-1;
  t[3].ti_Data := LONG(^fbuf);
  egad[EDIT_FAX] := CreateGadgetA(STRING_KIND,egad[EDIT_TELEFON],^ng,^t);

  ng := NewGadget(520,77,100,14,
                  {"_Geburtstag"}GetLocStr(EDIT_GADGET_BIRTHDAY),MyTattr,
                  EDIT_BIRTH,PLACETEXT_LEFT,
                  vi,NIL);
  SensitivGadget(ng);
  t[2].ti_Data := geblength-1;
  t[3].ti_Data := LONG(^gbuf);
  egad[EDIT_BIRTH] := CreateGadgetA(STRING_KIND,egad[EDIT_FAX],^ng,^t);

  ng := NewGadget(100,92,150,14,
                  "EMail _1",MyTattr,
                  EDIT_EMAIL1,PLACETEXT_LEFT,
                  vi,NIL);
  SensitivGadget(ng);
  t[1] := TagItem(GTST_String, LONG(^em1buf));
  t[2] := TagItem(GTST_MaxChars, EMailLength-1);
  t[3] := TagItem(GT_Underscore, LONG("_"));
  t[4].ti_Tag := TAG_DONE;
  egad[EDIT_EMAIL1] := CreateGadgetA(STRING_KIND,egad[EDIT_BIRTH],^ng,^t);      

  ng := NewGadget(290,92,150,14,
                  "_2",MyTattr,
                  EDIT_EMAIL2,PLACETEXT_LEFT,
                  vi,NIL);
  SensitivGadget(ng);
  t[1] := TagItem(GTST_String, LONG(^em2buf));
  t[2] := TagItem(GTST_MaxChars, EMailLength-1);
  t[3] := TagItem(GT_Underscore, LONG("_"));
  t[4].ti_Tag := TAG_DONE;
  egad[EDIT_EMAIL2] := CreateGadgetA(STRING_KIND,egad[EDIT_EMAIL1],^ng,^t);      
  
  
  ng := NewGadget(470,92,150,14,
                  "_3",mytattr,
                  EDIT_EMAIL3,PLACETEXT_LEFT,
                  vi,NIL);
  sensitivgadget(ng);
  t[1].ti_Tag := LONG(^em3buf);
  egad[EDIT_EMAIL3] := CreateGadgetA(STRING_KIND,egad[EDIT_EMAIL2],^ng,^t);      
      
  
  ng := NewGadget(100,107,405,14,
                  {"_Kommentar:"}GetLocStr(EDIT_GADGET_COMMENT),MyTattr,
                  EDIT_COMMENT,PLACETEXT_LEFT,
                  vi,NIL);
  sensitivgadget(ng);
  t[1] := TagItem(GTST_String, LONG(^kombuf));
  t[2] := TagItem(GTST_MaxChars, komlength-1);
  egad[EDIT_COMMENT] := CreateGadgetA(STRING_KIND,egad[EDIT_EMAIL3],^ng,^t);                  

  ng := NewGadget(5,158,150,14,
                  {"_Übernehmen"}GetLocStr(EDIT_GADGET_OK),^tattr,
                  EDIT_OK,PLACETEXT_IN,
                  vi,NIL);
  SensitivGadget(ng);
  t[1] := TagItem(GT_Underscore, LONG("_"));
  t[2].ti_Tag := TAG_DONE;
  egad[EDIT_OK] := CreateGadgetA(BUTTON_KIND,egad[EDIT_COMMENT],^ng,^t);
  
  ng := NewGadget(466,158,150,14,
                  {"A_bbruch"}GetLocStr(EDIT_GADGET_CANCEL),MyTattr,
                  EDIT_CANCEL,PLACETEXT_IN,
                  vi,NIL);
  SensitivGadget(ng);
  egad[EDIT_CANCEL] := CreateGadgetA(BUTTON_KIND,egad[EDIT_OK],^ng,^t);

  j := 7;
  k := 128;
  FOR i := 1 TO 10 DO
  BEGIN
    ng := NewGadget(j,k,27,fontx+3,
                    SelectTexte[i],MyTattr,
                    i+17,PLACETEXT_RIGHT,
                    vi,NIL);
    SensitivGadget(ng);
    t[1] := TagItem(GTCB_Checked,0);
    t[2] := TagItem(GTCB_Scaled, LONG(TRUE));
    t[3].ti_Tag := TAG_DONE;
    egad[i+17] := CreateGadgetA(CHECKBOX_KIND,egad[i+16],^ng,^t);
    j := j + 124;
    IF j > 620 THEN
    BEGIN
      j := 7;
      k := k + 13;
    END;
  END;
END;

PROCEDURE SuchenOberfläche;
BEGIN
  ComputeFont(434,125);
  ww := ComputeX(434);
  wh := ComputeY(125);

  gl2 := NIL;
  gl2 := CreateContext(^gl2); 

  ng := NewGadget(110,7,170,14,
                  GetLocStr(SUCH_SUCHSTRING),MyTattr,
                  SUCHF_STRING,PLACETEXT_LEFT,
                  vi,NIL); 
  SensitivGadget(ng);
  t[1] := TagItem(GT_UNDERSCORE,LONG('_'));
  t[2] := TagItem(GTST_String,LONG(^suchbuf));
  t[3] := TagItem(GTST_MaxChars,39);
  t[4].ti_Tag := TAG_DONE;
  sgad[SUCHF_STRING] := CreateGadgetA(STRING_KIND,gl2,^ng,^t);
  
  t[2].ti_TAG:=TAG_DONE;
  ng:=NewGadget(282,7,140,14,GetLocStr(SUCH_DATENSATZ_ZEIGEN),mytattr,
                SUCHF_DSZEIG,PLACETEXT_IN,
                vi,NIL);
  sensitivgadget(ng);
  sgad[SUCHF_DSZEIG]:=CreateGadgetA(BUTTON_KIND,sgad[SUCHF_STRING],^ng,^t);

  t[2] := TagItem(GTCB_SCALED,1);
  t[3] := TagItem(GTCB_CHECKED,1);
  t[4].ti_tag:=TAG_DONE;

  {BIT rausfiltern }
  IF (suchmerk AND %1)= %1 THEN t[3].ti_data := 1
                           ELSE t[3].ti_data := 0;

  ng := NewGadget(18,27,26,fontx+3,
                  GetLocStr(SUCH_NAME),MyTattr,
                  SUCHF_NAME,PLACETEXT_RIGHT,
                  vi,NIL); 
  SensitivGadget(ng);
  sgad[SUCHF_NAME] := CreateGadgetA(CHECKBOX_KIND,sgad[SUCHF_DSZEIG],^ng,^t);
  
  IF (suchmerk AND %10)=%10 THEN t[3].ti_data := 1
                            ELSE t[3].ti_data := 0;

  ng := NewGadget(18,40,26,fontx+3,
                  GetLocStr(SUCH_VORNAME),MyTattr,
                  SUCHF_VORNAME,PLACETEXT_RIGHT,
                  vi,NIL); 
  SensitivGadget(ng);
  sgad[SUCHF_VORNAME] := CreateGadgetA(CHECKBOX_KIND,sgad[SUCHF_NAME],^ng,^t);

  IF (suchmerk AND %1000000)=%1000000 THEN t[3].ti_data := 1
                                      ELSE t[3].ti_data := 0;

  ng := NewGadget(18,53,26,fontx+3,
                  GetLocStr(SUCH_CO),MyTattr,
                  SUCHF_CO,PLACETEXT_RIGHT,
                  vi,NIL); 
  SensitivGadget(ng);
  sgad[SUCHF_CO] := CreateGadgetA(CHECKBOX_KIND,sgad[SUCHF_VORNAME],^ng,^t);
      
  IF (suchmerk AND %100)=%100 THEN t[3].ti_data := 1
                              ELSE t[3].ti_data := 0;     
  ng := NewGadget(18,66,26,fontx+3,
                  'Stra_ße',MyTattr,
                  SUCHF_STRASSE,PLACETEXT_RIGHT,
                  vi,NIL); 
  SensitivGadget(ng);
  sgad[SUCHF_STRASSE] := CreateGadgetA(CHECKBOX_KIND,sgad[SUCHF_CO],^ng,^t);

  IF (suchmerk AND %1000)=%1000 THEN t[3].ti_data := 1
                                ELSE t[3].ti_data := 0;

  ng := NewGadget(18,79,26,fontx+3,
                  GetLocStr(SUCH_PLZ),MyTattr,
                  SUCHF_PLZ,PLACETEXT_RIGHT,
                  vi,NIL); 
  SensitivGadget(ng);
  sgad[SUCHF_PLZ] := CreateGadgetA(CHECKBOX_KIND,sgad[SUCHF_STRASSE],^ng,^t);
    
  IF (suchmerk AND %10000)=%10000 THEN t[3].ti_data := 1
                                  ELSE t[3].ti_data := 0;
  
  ng := NewGadget(18,92,26,fontx+3,
                  GetLocStr(SUCH_ORT),MyTattr,
                  SUCHF_ORT,PLACETEXT_RIGHT,
                  vi,NIL); 
  SensitivGadget(ng);
  sgad[SUCHF_ORT] := CreateGadgetA(CHECKBOX_KIND,sgad[SUCHF_PLZ],^ng,^t);

  IF (suchmerk AND %100000)=%100000 THEN t[3].ti_data := 1
                                    ELSE t[3].ti_data := 0;

  ng := NewGadget(150,27,26,fontx+3,
                  GetLocStr(SUCH_LAND),MyTattr,
                  SUCHF_LAND,PLACETEXT_RIGHT,
                  vi,NIL); 
  SensitivGadget(ng);
  sgad[SUCHF_LAND] := CreateGadgetA(CHECKBOX_KIND,sgad[SUCHF_ORT],^ng,^t);

  IF (suchmerk AND %10000000)=%10000000 THEN t[3].ti_data := 1
                                        ELSE t[3].ti_data := 0;

  ng := NewGadget(150,40,26,fontx+3,
                  GetLocStr(SUCH_TELEFON),MyTattr,
                  SUCHF_TELEFON,PLACETEXT_RIGHT,
                  vi,NIL); 
  SensitivGadget(ng);
  sgad[SUCHF_TELEFON] := CreateGadgetA(CHECKBOX_KIND,sgad[SUCHF_LAND],^ng,^t);

  IF (suchmerk AND %1000000000)=%1000000000 THEN t[3].ti_data := 1
                                            ELSE t[3].ti_data := 0;

  ng := NewGadget(150,53,26,fontx+3,
                  GetLocStr(SUCH_FAX),MyTattr,
                  SUCHF_FAX,PLACETEXT_RIGHT,
                  vi,NIL); 
  SensitivGadget(ng);
  sgad[SUCHF_FAX] := CreateGadgetA(CHECKBOX_KIND,sgad[SUCHF_TELEFON],^ng,^t);

  IF (suchmerk AND %10000000000)=%10000000000 THEN t[3].ti_data := 1
                                              ELSE t[3].ti_data := 0;

  ng := NewGadget(150,66,26,fontx+3,
                  GetLocStr(SUCH_EMAIL1),MyTattr,
                  SUCHF_EMAIL1,PLACETEXT_RIGHT,
                  vi,NIL); 
  SensitivGadget(ng);
  sgad[SUCHF_EMAIL1] := CreateGadgetA(CHECKBOX_KIND,sgad[SUCHF_FAX],^ng,^t);

  IF (suchmerk AND %100000000000)=%100000000000 THEN t[3].ti_data := 1
                                                ELSE t[3].ti_data := 0;

  ng := NewGadget(150,79,26,fontx+3,
                  GetLocStr(SUCH_EMAIL2),MyTattr,
                  SUCHF_EMAIL2,PLACETEXT_RIGHT,
                  vi,NIL); 
  SensitivGadget(ng);
  sgad[SUCHF_EMAIL2] := CreateGadgetA(CHECKBOX_KIND,sgad[SUCHF_EMAIL1],^ng,^t);

  IF (suchmerk AND %1000000000000)=%1000000000000 THEN t[3].ti_data := 1
                                                  ELSE t[3].ti_data := 0;

  ng := NewGadget(150,92,26,fontx+3,
                  GetLocStr(SUCH_EMAIL3),MyTattr,
                  SUCHF_EMAIL3,PLACETEXT_RIGHT,
                  vi,NIL); 
  SensitivGadget(ng);
  sgad[SUCHF_EMAIL3] := CreateGadgetA(CHECKBOX_KIND,sgad[SUCHF_EMAIL2],^ng,^t);

  IF (suchmerk AND %100000000)=%100000000 THEN t[3].ti_data := 1
                                          ELSE t[3].ti_data := 0;

  ng := NewGadget(282,27,26,fontx+3,
                  GetLocStr(SUCH_GEBURTSTAG),MyTattr,
                  SUCHF_BIRTH,PLACETEXT_RIGHT,
                  vi,NIL); 
  SensitivGadget(ng);
  sgad[SUCHF_BIRTH] := CreateGadgetA(CHECKBOX_KIND,sgad[SUCHF_EMAIL3],^ng,^t);

  IF (suchmerk AND %10000000000000)=%10000000000000 THEN t[3].ti_data := 1
                                                    ELSE t[3].ti_data := 0;

  ng := NewGadget(282,40,26,fontx+3,
                GetLocStr(SUCH_KOMMENTAR),mytattr,
                SUCHF_COMMENT,PLACETEXT_RIGHT,
                vi,NIL);
  sensitivgadget(ng);
  sgad[SUCHF_COMMENT]:=CreateGadgetA(CHECKBOX_KIND,sgad[SUCHF_BIRTH],^ng,^t);

  IF (suchmerk AND %100000000000000)=%100000000000000 THEN t[3].ti_data := 1
                                                      ELSE t[3].ti_data := 0;

  ng:=NewGadget(282,61,26,fontx+3,
                GetLocStr(SUCH_UEBERALL),mytattr,
                SUCHF_SALLE,PLACETEXT_RIGHT,
                vi,NIL);
  sensitivgadget(ng);
  sgad[SUCHF_SALLE]:=CreateGadgetA(CHECKBOX_KIND,sgad[SUCHF_COMMENT],^ng,^t);

  IF (suchmerk AND %1000000000000000)=%1000000000000000 THEN t[3].ti_data := 1
                                                        ELSE t[3].ti_data := 0;

  ng := NewGadget(282,74,26,fontx+3,
                  GetLocStr(SUCH_GKEGAL),MyTattr,
                  SUCHF_GKEGAL,PLACETEXT_RIGHT,
                  vi,NIL); 
  SensitivGadget(ng);
  sgad[SUCHF_GKEGAL] := CreateGadgetA(CHECKBOX_KIND,sgad[SUCHF_SALLE],^ng,^t);
                            
  IF ((suchmerk AND %10000000000000000)=%10000000000000000) THEN t[3].ti_data := 1
                                                               ELSE t[3].ti_data := 0;

  ng := NewGadget(282,87,26,fontx+3,
                  GetLocStr(SUCH_GENAU),MyTattr,
                  SUCHF_GENAU,PLACETEXT_RIGHT,
                  vi,NIL); 
  SensitivGadget(ng);
  sgad[SUCHF_GENAU] := CreateGadgetA(CHECKBOX_KIND,sgad[SUCHF_GKEGAL],^ng,^t);
  
  
  t[2].ti_Tag := TAG_DONE;  
  ng:=NewGadget(6,109,66,15,GetLocStr(SUCH_SUCHEN),mytattr,
                SUCHF_SUCHEN,PLACETEXT_IN,
                vi,NIL);
  sensitivgadget(ng);
  sgad[SUCHF_SUCHEN]:=CreateGadgetA(BUTTON_KIND,sgad[SUCHF_GENAU],^ng,^t);

  ng:=NewGadget(74,109,120,15,GetLocStr(SUCH_WEITERSUCHEN),mytattr,
                SUCHF_WSUCHEN,PLACETEXT_IN,
                vi,NIL);
  sensitivgadget(ng);
  sgad[SUCHF_WSUCHEN]:=CreateGadgetA(BUTTON_KIND,sgad[SUCHF_SUCHEN],^ng,^t);


  ng:=NewGadget(290,109,140,15,GetLocStr(EDRUCK_EW_ABBRUCH),mytattr,
                 SUCHF_ABBRUCH,PLACETEXT_IN,
                  vi,NIL); 
  SensitivGadget(ng);
  sgad[SUCHF_ABBRUCH]:=CreateGadgetA(BUTTON_KIND,sgad[SUCHF_WSUCHEN],^ng,^t);  
END;


FUNCTION speichernalsOberfläche:BOOLEAN;

 TYPE labels=ARRAY[0..12] OF STR;
 VAR CYCLELABELS:labels;
     zustand:INTEGER;
  
 PROCEDURE kram;
  BEGIN
    t[2] := TagItem(GTCB_SCALED,1);
    t[3] := TagItem(GTCB_CHECKED,1);
    t[4].ti_Tag := TAG_DONE;
    IF ((sgad[2]^.flags AND selected) = SELECTED) THEN t[3].ti_data:=0;
    GT_SetGadgetAttrsA(sgad[2],wp2,NIL,^t);  
    si:=sgad[1]^.specialinfo;
    passwort:=si^.buffer;
    t[2]:=TagItem(GTST_Maxchars,200);
    t[3]:=TagItem(GTST_String,LONG(^passwort)); 
    t[4]:=TagItem(GA_DISABLED,1);
    IF ((sgad[2]^.flags AND selected) = SELECTED) THEN t[4].ti_data:=0;
    t[5].ti_tag:=TAG_DONE;
    GT_SetGadgetAttrsA(sgad[1],wp2,NIL,^t);  
  END;
  
 BEGIN
  Cyclelabels:=labels('Aktueller Datensatz',
                      'Alle Datensätze',
                      Selecttexte[1],
                      Selecttexte[2],
                      Selecttexte[3],
                      Selecttexte[4],
                      Selecttexte[5],
                      Selecttexte[6],
                      Selecttexte[7],
                      Selecttexte[8],
                      Selecttexte[9],
                      Selecttexte[10],NIL);  
  dummy:=FALSE;
  Computefont(460,64);
  ww:=computeX(460);
  wh:=computeY(64);
  gl1:=NIL;
  gl1:=CreateContext(^gl1);
 
  t[1]:=TAGITEM(GT_UNDERSCORE,LONG('_'));  
  t[2]:=TagItem(GTST_Maxchars,200);
  t[3]:=TagItem(GTST_String,LONG(^passwort)); 
  t[4]:=TagItem(GA_DISABLED,1);
  t[5].ti_tag:=TAG_DONE;
  
  ng:=NewGadget(86,8,200,15,'_Passwort',mytattr,
                1,PLACETEXT_LEFT,
                vi,NIL);
  sensitivgadget(ng);
  sgad[1]:=CreateGadgetA(STRING_KIND,^gl1,^ng,^t);
  t[2].ti_tag:=TAG_DONE;  

  t[2] := TagItem(GTCB_SCALED,1);
  t[3] := TagItem(GTCB_CHECKED,0);
  t[4].ti_tag:=TAG_DONE;

  ng:=NewGadget(418,9,26,fontx+3,'_Verschlüsseln',mytattr,
                2,PLACETEXT_LEFT,
                vi,NIL);
  sensitivgadget(ng);
  sgad[2]:=CreateGadgetA(CHECKBOX_KIND,sgad[1],^ng,^t);


  zustand:=1;
  t[2]:=TagItem(GTCY_ACTIVE,zustand);
  t[3]:=TagItem(GTCY_Labels,LONG(^Cyclelabels)); 
  t[4].ti_tag:=TAG_DONE;

  ng:=NewGadget(104,26,200,14,'Date_nsätze',mytattr,
                3,PLACETEXT_LEFT,
                vi,NIL);
  sensitivgadget(ng);
  sgad[3]:=CreateGadgetA(CYCLE_KIND,sgad[2],^ng,^t);

  t[2].ti_tag:=TAG_DONE;  

  ng:=NewGadget(6,47,160,15,'_Speichern (Return)',mytattr,
                4,PLACETEXT_IN,
                vi,NIL);
  sensitivgadget(ng);
  sgad[4]:=CreateGadgetA(BUTTON_KIND,sgad[3],^ng,^t);

  ng:=NewGadget(334,47,120,15,'A_bbruch (Esc)',mytattr,
                5,PLACETEXT_IN,
                vi,NIL);
  sensitivgadget(ng);
  sgad[5]:=CreateGadgetA(BUTTON_KIND,sgad[4],^ng,^t);


  t[1] := TagItem(WA_Innerwidth,ww);
  t[2] := TagItem(WA_Innerheight,wh);
  t[3] := Tagitem(WA_Top,druckwintop);
  t[4] := TagItem(WA_Left,druckwinleft);
  t[5].ti_Tag := WA_Title;
  t[5].ti_Data := "AddiPro - Speichern als ...";
  t[6] := TagItem(WA_Idcmp,IDCMP_CLOSEWINDOW+IDCMP_GADGETUP+IDCMP_RAWKEY);
  t[7] := TagItem(WA_Flags,WFLG_CLOSEGADGET+WFLG_DRAGBAR+WFLG_ACTIVATE+WFLG_DEPTHGADGET+
                  WFLG_RMBTRAP+WFLG_SMART_REFRESH+WFLG_NOCAREREFRESH);
  t[8].ti_Tag := TAG_DONE;
  IF pubname <> "" THEN
  BEGIN
    t[8] := TagItem(WA_PubScreenFallBack, 1);
    t[9] := TagItem(WA_PubScreenName, LONG(pubname));
    t[10].ti_Tag := TAG_DONE;
  END;

  wp2 := OpenWindowTagList(NIL,^t);
  IF wp2=NIL THEN exit;
{*}   raster(wp2,0,1,459,63{-1});
   clearq(wp2,6,4,448,39);
   Rahmen(wp2,6,4,448,40,TRUE);
   l:=addgList(wp2,gl1,0,-1,NIL);
   refreshglist(wp2^.firstgadget,wp2,NIL,-1);
   GT_Refreshwindow(wp2,NIL);
   dummy:=FALSE;
   REPEAT
   GetMessage(wp2,class,code,qual,gadnum);
    CASE Class OF

    IDCMP_CLOSEWINDOW: dummy:=TRUE;
  
    IDCMP_RAWKEY:
     IF qual in [32768,32769,32770,32772] THEN
      BEGIN
       CASE code OF
        53,69:BEGIN {B, ESC}  
               Butselecter(wp2,sgad[5]);
               dummy:=TRUE;
               speichernalsoberfläche:=FALSE;
              END;    
        33,68 : BEGIN {S,CR}
              Butselecter(wp2,sgad[4]);
              dummy:=TRUE;
              speichernalsoberfläche:=TRUE;
             END;
        52 : BEGIN {V}
              kram;             
             END;
        25 : BEGIN {P}
              IF ((sgad[1]^.flags AND gadgdisabled) = GADGDISABLED) THEN kram;
              ok:=ActivateGadget(sgad[1],wp2,NIL)
             END;
         54 : BEGIN {N}
              changecycler(wp2,sgad[3],PTR(^Cyclelabels),12,zustand);
             END;
        ELSE END;
      END;

     IDCMP_GadgetUP:
        CASE gadnum OF
          2: BEGIN
              si:=sgad[1]^.specialinfo;
              passwort:=si^.buffer;
              t[2]:=TagItem(GTST_Maxchars,200);
              t[3]:=TagItem(GTST_String,LONG(^passwort)); 
              t[4]:=TagItem(GA_DISABLED,0);
              t[5].ti_tag:=TAG_DONE;
              IF ((sgad[2]^.flags AND selected) <> SELECTED) THEN t[4].ti_data:=1;
              GT_SetGadgetAttrsA(sgad[1],wp2,NIL,^t);  
           END;
          3:IF zustand<12 THEN inc(zustand)
                          ELSE zustand:=0;
          4:BEGIN
             dummy:=TRUE;
             speichernalsoberfläche:=TRUE;
            END;
          5:BEGIN
             dummy:=TRUE;
             speichernalsoberfläche:=FALSE;
            END;
        ELSE END;      
      ELSE END;
  
  UNTIL dummy;
  dummy:=FALSE;
  si:=sgad[1]^.specialinfo;
  passwort:=si^.buffer;
  druckwintop:=wp2^.topedge;
  druckwinleft:=wp2^.leftedge;
  IF ((sgad[2]^.flags AND selected) = SELECTED) THEN verschluesseln:=TRUE
                                                ELSE verschluesseln:=FALSE;
  j:=Cyclezustand(wp2,sgad[3],zustand);
  err:=removegList(wp2,wp2^.firstgadget,-1);
  Freegadgets(gl1);  { war gl2, deswegen Guru !}
  Fenster_zu(wp2);
  ComputeFont(MainWinWidth,MainWinHeight);
 END;
 
{FUNCTION passwortladenOberfläche:BOOLEAN;
 BEGIN
  ComputeFont(308,44);
  ww := ComputeX(308);
  wh := ComputeY(44);

  gl2 := NIL;
  gl2 := CreateContext(^gl2); 

  ng := NewGadget(94,8,200,14,
                  "_Passwort:",MyTattr,
                  1,PLACETEXT_LEFT,
                  vi,NIL); 
  SensitivGadget(ng);
  t[1] := TagItem(GT_UNDERSCORE,LONG('_'));
  t[2] := TagItem(GTST_String,LONG(^passwort));
  t[3] := TagItem(GTST_MaxChars,39);
  t[4].ti_Tag := TAG_DONE;
  sgad[1] := CreateGadgetA(STRING_KIND,gl2,^ng,^t);
  
  ng := NewGadget(6,29,120,12,
                  '_Laden',MyTattr,
                  2,PLACETEXT_IN,
                  vi,NIL); 
  SensitivGadget(ng);
  t[2].ti_Tag:=TAG_DONE
  
  sgad[2] := CreateGadgetA(BUTTON_KIND,sgad[1],^ng,^t);
  
  ng := NewGadget(182,29,120,12,
                  'A_bbruch (ESC)',MyTattr,
                  3,PLACETEXT_IN,
                  vi,NIL); 
  SensitivGadget(ng);
  t[3].ti_Tag := TAG_DONE;  
  sgad[3] := CreateGadgetA(BUTTON_KIND,sgad[2],^ng,^t);
    t[1] := TagItem(WA_Innerwidth,ww);
  t[2] := TagItem(WA_Innerheight,wh);
  t[3] := Tagitem(WA_Top,druckwintop);
  t[4] := TagItem(WA_Left,druckwinleft);
  t[5].ti_Tag := WA_Title;
  t[5].ti_Data := "Datei ist passwortgeschützt !";
  t[6] := TagItem(WA_Idcmp,IDCMP_CLOSEWINDOW+IDCMP_GADGETUP+IDCMP_GADGETDOWN+IDCMP_RAWKEY);
  t[7] := TagItem(WA_Flags,WFLG_CLOSeditGET+WFLG_DRAGBAR+WFLG_ACTIVATE+WFLG_DEPTHGADGET+
                  WFLG_RMBTRAP+WFLG_SMART_REFRESH+WFLG_NOCAREREFRESH);
  t[8].ti_Tag := TAG_DONE;
  IF pubname <> "" THEN
  BEGIN
    t[8] := TagItem(WA_PubScreenFallBack, 1);
    t[9] := TagItem(WA_PubScreenName, LONG(pubname));
    t[10].ti_Tag := TAG_DONE;
  END;

  wp2 := OpenWindowTagList(NIL,^t);
  IF wp2=NIL THEN exit;
   raster(wp2,0,1,307,43{-1});
   clearq(wp2,6,4,296,21);
   Rahmen(wp2,6,4,296,22,TRUE);
   l:=addgList(wp2,gl2,0,-1,NIL);
   refreshglist(wp2^.firstgadget,wp2,NIL,-1);
   GT_Refreshwindow(wp2,NIL);
   dummy:=FALSE;
   REPEAT
   GetMessage(wp2,class,code,qual,gadnum);
     CASE Class OF

    IDCMP_CLOSEWINDOW: dummy:=TRUE;
  
    IDCMP_RAWKEY:
     IF qual in [32768,32769,32770,32772] THEN
      BEGIN
       CASE code OF
        53,69:BEGIN {B, ESC}  
               Butselecter(wp2,sgad[3]);
               dummy:=TRUE;
                        passwortladenoberfläche:=FALSE;
              END;    
        40 : BEGIN {A}
              Butselecter(wp2,sgad[2]);
              dummy:=TRUE;
              passwortladenoberfläche:=TRUE;
             END;
        25 : ok:=activateditget(sgad[1],wp2,NIL);
           ELSE END;
      END;

     IDCMP_GadgetUP,IDCMP_GADGETDOWN:
        CASE gadnum OF
           
           2 : BEGIN
                dummy:=TRUE;
                passwortladenoberfläche:=FALSE;
               END;
           3 : BEGIN
                dummy:=TRUE;
                passwortladenoberfläche:=TRUE;
               END;
        ELSE END;      
      ELSE END;
  
  UNTIL dummy;
  si:=sgad[1]^.specialinfo;
  passwort:=si^.buffer;
  druckwintop:=wp2^.topedge;
  druckwinleft:=wp2^.leftedge;
  err:=removegList(wp2,wp2^.firstgadget,-1);
  Fenster_zu(wp2);
  Freeditgets(gl2);  
  ComputeFont(MainWinWidth,MainWinHeight);
 END;}



PROCEDURE SetMainGads;
BEGIN
  gl:=NIL;
  gl:=CreateContext(^gl);
  ng := NewGadget(xoff+3,yoff+3*3+bhöhe+MainTattr^.ta_YSize+4,
                  mainwinwidth-2*3,MainTattr^.ta_YSize*anzlist+4{8},
                  NIL,MainTattr,
                  M_LV,0,
                  vi,NIL);
    
{  IF NOT OS39 THEN ng.ng_TopEdge := ng.ng_TopEdge + 12;}
  
  t[1] := TagItem(GTLV_Labels, LONG(PList));
  t[2] := TagItem(GTLV_ReadOnly, LONG(FALSE));
  t[3] := TagItem(GTLV_ShowSelected, 0);
  t[4] := TagItem(GTLV_Selected, 0);
  IF iconified OR (aktuellgewählt>0) THEN 
  BEGIN
   t[4].ti_data:=aktuellgewählt;
   t[5] := TagItem(GTLV_MakeVisible,AktuellGewählt);
   t[6].ti_Tag := TAG_DONE;
  END
  ELSE t[5].ti_Tag := TAG_DONE;
  
  mgad[1] := CreateGadgetA(LISTVIEW_KIND,gl,^ng,^t);

  ng := NewGadget(xoff+3,yoff+3,
                   bbreite,bhöhe,NIL,NIL,M_NEU,0,vi,NIL);
 
  mgad[M_NEU] := CreateGadgetA(GENERIC_KIND,mgad[1],^ng,^t);
  mgad[M_NEU]^.GadgetType := GTYP_BOOLGADGET;
  mgad[M_NEU]^.Flags := GFLG_GADGIMAGE OR GFLG_GADGHIMAGE+GFLG_EXTENDED;
  mgad[M_NEU]^.Activation := GACT_RELVERIFY;

IF NOT iconleiste THEN 
 BEGIN
  mgad[M_NEU]^.GadgetRender := ^neu_image;      
  mgad[M_NEU]^.SelectRender := ^neus_image;
 END
 ELSE
 BEGIN
  mgad[M_NEU]^.GadgetRender := neu_data;      
  mgad[M_NEU]^.SelectRender := neus_data;
 END;

  t[1].ti_Tag := TAG_DONE;
  IF AktuellePerson = NIL THEN
  BEGIN
    t[1] := TagItem(GA_Disabled,LONG(TRUE));
    t[2].ti_Tag := TAG_DONE;
  END;

   ng := NewGadget(xoff+3+bbreite,yoff+3,
                   bbreite,bhöhe,NIL,NIL,M_ÄNDERN,0,vi,NIL);

  mgad[M_ÄNDERN] := CreateGadgetA(GENERIC_KIND,mgad[M_NEU],^ng,^t);
  mgad[M_ÄNDERN]^.GadgetType := GTYP_BOOLGADGET;
  mgad[M_ÄNDERN]^.Flags := GFLG_GADGIMAGE OR GFLG_GADGHIMAGE+GFLG_EXTENDED;
  mgad[M_ÄNDERN]^.Activation := GACT_RELVERIFY;
  
IF NOT iconleiste THEN
 BEGIN  
  mgad[M_ÄNDERN]^.GadgetRender := ^ändern_image;
  mgad[M_ÄNDERN]^.SelectRender := ^änderns_image;
 END
 ELSE 
 BEGIN  
  mgad[M_ÄNDERN]^.GadgetRender := ändern_data;
  mgad[M_ÄNDERN]^.SelectRender := änderns_data;
 END;

{
  t[1].ti_Tag := TAG_DONE;
  IF AktuellePerson = NIL THEN
  BEGIN
    t[1] := TagItem(GA_Disabled,LONG(TRUE));
    t[2].ti_Tag := TAG_DONE;
  END;
}  
   ng := NewGadget(xoff+2*3+2*bbreite,yoff+3,
                   bbreite,bhöhe,NIL,NIL,M_LÖSCHEN,0,vi,NIL);

  mgad[M_LÖSCHEN] := CreateGadgetA(GENERIC_KIND,mgad[M_ÄNDERN],^ng,^t);
  mgad[M_LÖSCHEN]^.GadgetType := GTYP_BOOLGADGET;
  mgad[M_LÖSCHEN]^.Flags := GFLG_GADGIMAGE OR GFLG_GADGHIMAGE+GFLG_EXTENDED;
  mgad[M_LÖSCHEN]^.Activation := GACT_RELVERIFY;
  
IF NOT iconleiste THEN
 BEGIN  
  mgad[M_LÖSCHEN]^.GadgetRender := ^löschen_image;
  mgad[M_LÖSCHEN]^.SelectRender := ^löschens_image;
 END
 ELSE 
 BEGIN  
  mgad[M_LÖSCHEN]^.GadgetRender := löschen_data;
  mgad[M_LÖSCHEN]^.SelectRender := löschens_data;
 END;

  t[1].ti_Tag := TAG_DONE;

(**
 ** Such-Gadget
 **)
   ng := NewGadget(xoff+2*3+3*bbreite,yoff+3,
                   bbreite,bhöhe,NIL,NIL,M_SUCHEN,0,vi,NIL);

  mgad[M_SUCHEN] := CreateGadgetA(GENERIC_KIND,mgad[M_LÖSCHEN],^ng,^t);
  mgad[M_SUCHEN]^.GadgetType := GTYP_BOOLGADGET;
  mgad[M_SUCHEN]^.Flags := GFLG_GADGIMAGE OR GFLG_GADGHIMAGE+GFLG_EXTENDED;
  mgad[M_SUCHEN]^.Activation := GACT_RELVERIFY;
  
IF NOT iconleiste THEN
 BEGIN  
  mgad[M_SUCHEN]^.GadgetRender := ^suchen_image;
  mgad[M_SUCHEN]^.SelectRender := ^suchens_image;
 END
 ELSE
 BEGIN  
  mgad[M_SUCHEN]^.GadgetRender := suchen_data;
  mgad[M_SUCHEN]^.SelectRender := suchens_data;
 END;

(** Blättern-Gadget **)
   ng := NewGadget(xoff+3*3+4*bbreite,yoff+3,
                   bbreite,bhöhe,NIL,NIL,M_BLÄTTERN,0,vi,NIL);

  IF Anzahl = 0 THEN
  BEGIN
    t[1] := TagItem(GA_Disabled, LONG(TRUE));
    t[2].ti_Tag := TAG_DONE;
  END;
  mgad[M_BLÄTTERN] := CreateGadgetA(GENERIC_KIND,mgad[M_SUCHEN],^ng,^t);
  mgad[M_BLÄTTERN]^.GadgetType := GTYP_BOOLGADGET;
  mgad[M_BLÄTTERN]^.Flags := GFLG_GADGIMAGE OR GFLG_GADGHIMAGE+GFLG_EXTENDED;
  mgad[M_BLÄTTERN]^.Activation := GACT_RELVERIFY;
  
IF NOT iconleiste THEN
 BEGIN  
  mgad[M_BLÄTTERN]^.GadgetRender := ^blättern_image;
  mgad[M_BLÄTTERN]^.SelectRender := ^blätterns_image;
 END 
 ELSE
 BEGIN  
  mgad[M_BLÄTTERN]^.GadgetRender := blättern_data;
  mgad[M_BLÄTTERN]^.SelectRender := blätterns_data;
 END; 
 
(** Prefs-Gadget **)
   ng := NewGadget(xoff+3*3+5*bbreite,yoff+3,
                   bbreite,bhöhe,NIL,NIL,M_PREFS,0,vi,NIL);
 
      
  mgad[M_PREFS] := CreateGadgetA(GENERIC_KIND,mgad[M_BLÄTTERN],^ng,^t);
  mgad[M_PREFS]^.GadgetType := GTYP_BOOLGADGET;
  mgad[M_PREFS]^.Flags := GFLG_GADGIMAGE OR GFLG_GADGHIMAGE+GFLG_EXTENDED;
  mgad[M_PREFS]^.Activation := GACT_RELVERIFY;
  
IF NOT iconleiste THEN
 BEGIN  
  mgad[M_PREFS]^.GadgetRender := ^prefs_image;
  mgad[M_PREFS]^.SelectRender := ^prefss_image;
 END
 ELSE
 BEGIN  
  mgad[M_PREFS]^.GadgetRender := prefs_data;
  mgad[M_PREFS]^.SelectRender := prefss_data;
 END;
      
(** DRUCK-Gadget **)
   ng := NewGadget(xoff+4*3+6*bbreite,yoff+3,
                   bbreite,bhöhe,NIL,NIL,M_DRUCKEN,0,vi,NIL);
 
      
  mgad[M_DRUCKEN] := CreateGadgetA(GENERIC_KIND,mgad[M_PREFS],^ng,^t);
  mgad[M_DRUCKEN]^.GadgetType := GTYP_BOOLGADGET;
  mgad[M_DRUCKEN]^.Flags := GFLG_GADGIMAGE OR GFLG_GADGHIMAGE+GFLG_EXTENDED;
  mgad[M_DRUCKEN]^.Activation := GACT_RELVERIFY;
  
IF NOT iconleiste THEN
 BEGIN  
  mgad[M_DRUCKEN]^.GadgetRender := ^drucken_image;
  mgad[M_DRUCKEN]^.SelectRender := ^druckens_image;
 END
 ELSE
 BEGIN  
  mgad[M_DRUCKEN]^.GadgetRender := drucken_data;
  mgad[M_DRUCKEN]^.SelectRender := druckens_data;
 END;
 
(** INFOGADGET **)                            
  ng := NewGadget(xoff+3,yoff+2*3+bhöhe,mainwinwidth-2*3,MainTattr^.ta_YSize+4,
                  NIL,MainTattr,
                  M_INFOGAD,PLACETEXT_IN,
                  vi,NIL);
  t[1] := TagItem(GTTX_Border, LONG(TRUE));
  t[2].ti_Tag := TAG_DONE;
  mgad[M_INFOGAD] := CreateGadgetA(TEXT_KIND,mgad[M_DRUCKEN],^ng,^t);
END;

PROCEDURE mainchanged;
 BEGIN 
  l:=removeglist(wp,gl,-1);  
  freegadgets(gl);
  mainwinwidth:=wp^.width-9;
  mainwinheight:=wp^.height-yoff-10;
  anzlist:= (mainwinheight-(4*3+bhöhe+MainTattr^.ta_YSize+4+4))
             DIV MainTattr^.ta_YSize;
  setmaingads;
  l:=addgList(wp,gl,-1,-1,NIL);
  move(wp^.rport,0,0);
  clearscreen(wp^.rport);
  refreshwindowframe(wp);
  GT_RefreshWindow(wp, NIL);
 END;

{$endif}
