home *** CD-ROM | disk | FTP | other *** search
/ Atari FTP / ATARI_FTP_0693.zip / ATARI_FTP_0693 / Tex / td187src.lzh / MTDIALS.D < prev    next >
Text File  |  1991-06-08  |  4KB  |  128 lines

  1. DEFINITION MODULE mtDials;
  2.  
  3. FROM SYSTEM IMPORT ADDRESS;
  4. FROM MagicSys   IMPORT  Byte, ByteSet,
  5.                         sWORD, sINTEGER, sCARDINAL, sBITSET,
  6.                         lWORD, lINTEGER, lCARDINAL, lBITSET;
  7.  
  8.  
  9.  
  10. CONST   MoveBox =       17;     (* Neue Objekttypen *)
  11.         SpecButton =    18;
  12.         SpecText =      19;
  13.         FrameBox =      20;
  14.  
  15.  
  16. TYPE    DIALOG;
  17.  
  18.  
  19. PROCEDURE NewDial (tree: ADDRESS; VAR dial: DIALOG): BOOLEAN;
  20. (* Liefert die zu tree passende Dialogvariable *)
  21.  
  22.  
  23. PROCEDURE DisposeDial (VAR dial: DIALOG);
  24. (* Löscht die Dialogvariable *)
  25.  
  26.  
  27. PROCEDURE ObjectType (dial: DIALOG; entry, extyp: sINTEGER);
  28. (* Setzt erweiterten Typ *)
  29.  
  30.  
  31. PROCEDURE InclFlag (dial: DIALOG; entry, bit: sINTEGER);
  32. PROCEDURE ExclFlag (dial: DIALOG; entry, bit: sINTEGER);
  33. (* Setzt bzw. löscht bit in OBJECT.obFlags *)
  34.  
  35.  
  36. PROCEDURE InFlag (dial: DIALOG; entry, bit: sINTEGER): BOOLEAN;
  37. (* TRUE wenn bit in OBJECT.obFlags *)
  38.  
  39.  
  40. PROCEDURE InclState (dial: DIALOG; entry, bit: sINTEGER);
  41. PROCEDURE ExclState (dial: DIALOG; entry, bit: sINTEGER);
  42. (* Setzt bzw. löscht Bit in OBJECT.obState *)
  43.  
  44.  
  45. PROCEDURE InState (dial: DIALOG; entry, bit: sINTEGER): BOOLEAN;
  46. (* TRUE wenn bit in OBJECT.obState *)
  47.  
  48.  
  49. PROCEDURE GetObjectString (dial: DIALOG; entry: sINTEGER; VAR str: ARRAY OF CHAR);
  50. (* Liefert den String der folgenden Objekte: 
  51.  * GBOXCHAR, GTEXT, GBOXTEXT, GFTEXT, GFBOXTEXT, GBUTTON,
  52.  * GSTRING,  GTITLE
  53.  *)
  54.  
  55. PROCEDURE ObjectStringAdr (dial: DIALOG; entry: sINTEGER; str: ADDRESS);
  56. (* Setzt den String der folgenden Objekte durch Austausch des entsprechenden
  57.  * Pointers:  GBOXCHAR, GTEXT, GBOXTEXT, GFTEXT, GFBOXTEXT, GBUTTON,
  58.  * GSTRING,  GTITLE
  59.  *)
  60.  
  61. PROCEDURE ObjectString    (dial: DIALOG; entry: sINTEGER; str: ARRAY OF CHAR);
  62. (* Setzt den String der folgenden Objekte indem str direkt in die Resource
  63.  * kopiert wird:  GBOXCHAR, GTEXT, GBOXTEXT, GFTEXT, GFBOXTEXT, GBUTTON,
  64.  * GSTRING,  GTITLE
  65.  *
  66.  * Ist der String kürzer als die maximale Länge wird mit Blanks bis zur
  67.  * maximalen Länge aufgefüllt. Dies gilt nicht für TEDINFO-Objekte!
  68.  *)
  69.  
  70.  
  71. CONST   CSCREEN =       0;
  72.         CMOUSE =        1;
  73.         CPOS =          2;
  74.  
  75. PROCEDURE DialCenter (dial: DIALOG; flag, x, y: sINTEGER);
  76. (* Zentriert den Dialog.
  77.  * 
  78.  * flag = CSCREEN       Dialog wird auf dem Bildschirm zentriert
  79.  * flag = CMOUSE        Dialog wird um die Maus zentriert
  80.  * flag = CPOS          Dialog wird auf die in x, y übergebene Pos gesetzt
  81.  *)
  82.  
  83.  
  84. CONST   DSTART =        0;
  85.         DGROW =         1;
  86.         DSHRINK =       2;
  87.         DFINISH =       3;
  88.         DDISABLE =      4;
  89.  
  90. PROCEDURE DialForm (dial: DIALOG; flag: sINTEGER);
  91. (* wie bei FormDial, nur da₧ bei DSTART tatsächlich der Hintergrund gebuffert
  92.  * wird und bei DFINISH wieder freigegeben wird.
  93.  *
  94.  * Zusätzliches Flag DDISABLE:  Der Dialog wird im "Desktop-Grau" dargestellt,
  95.  * um zu verdeutlichen, da₧ seine Funktionen derzeit nicht zu erreichen sind.
  96.  * Sinnvoll, wenn man über einen Dialog einen anderen legt - der untere wird
  97.  * grau (nur die gesetzen Pixel).  Wieder normal darstellen mu₧ derzeit über 
  98.  * DialDraw gemacht werden.
  99.  *)
  100.  
  101.  
  102. PROCEDURE DialDraw (dial: DIALOG; entry, depth: sINTEGER);
  103. (* Zeichnet den übergebenen Dialog, handling wie ObjcDraw *)
  104.  
  105.  
  106. PROCEDURE DialDo (dial: DIALOG; edit: sINTEGER): sINTEGER;
  107. (* form_do für MagicDials, edit ist die Nummer des ersten EDITABLE-Objekts *)
  108.  
  109. (*
  110.  * Das Modul initialisiert und deinitilisiert sich jetzt selbsttätig.
  111.  * Am Programmende braucht dazu nur die Prozedur mtAppl.ApplTerm
  112.  * Aufgerufen zu werden!
  113.  *)
  114.  
  115.  
  116. CONST   UseUndo = 0;
  117.  
  118.  
  119. PROCEDURE DialConfig (flag: sINTEGER; set: BOOLEAN);
  120. (* Setzt die Konfiguration der MagicDials. Bisher ist nur UseUndo implememtiert,
  121.  * alle andern Flags werden ignoriert.  Wenn UseUndo mit TRUE übergeben wird,
  122.  * bricht DialDo beim drücken von UNDO den Dialog ab und returniert -1.
  123.  * UseUndo ist mit TRUE voreingestellt.
  124.  *)
  125.  
  126. END mtDials.
  127.  
  128.