home *** CD-ROM | disk | FTP | other *** search
- UNIT Delite1X;
-
- (*****************************************************************************
- Name: Delite1X.PAS
- Version: 1.0
- Edit Datum: 17.6.91
- Autor: Andreas Schumm
- Kurzbeschreibung: Kompatibilität zu deLite 1.X Dialogen
- *****************************************************************************)
-
- INTERFACE
-
- Uses Kernel, API, RSC, DOS, CRT;
-
- CONST MaxItems = 256; { Anzahl der Einträge im ListDialog }
- MaxListSpot = 32; { Anzahl der gleichzeitig sichtbaren Einträge }
-
- TYPE editset= (all, capital, filename); { Eingabe Zeichensätze }
- DlgSet = (escaped, success, empty); { Ergebnistyp der Api Dialoge }
- DlgStr = string[128];
-
- ListProc = PROCEDURE(VAR item: NameString; VAR eol : BOOLEAN);
- { Prozedurtyp des Listdialogs }
-
-
- HotSpot = RECORD { erogene Zone }
- x1,y1 : INTEGER;
- x2,y2 : INTEGER;
- END;
-
- SmallDialog = RECORD
- text1: Dlgstr;
- text2: DlgStr;
- deflt: DlgStr;
- xorg : INTEGER;
- yorg : INTEGER;
- len : BYTE;
- topic: namestring;
- END;
-
- TwinDialog = RECORD
- text1 : Dlgstr;
- text2 : DlgStr;
- text3 : DlgStr;
- deflt1: DlgStr;
- deflt2: DlgStr;
- xorg : INTEGER;
- yorg : INTEGER;
- len : BYTE;
- topic1: NameString;
- topic2: NameString;
- END;
-
- ListDialog = RECORD
- TEXT : DlgStr; { Überschrift }
- Itemwidth : INTEGER; { Anzeigebreite der Listenelemente }
- ListLength: INTEGER; { Anzahl der sichtbaren Elemente }
- xorg,yorg : INTEGER; { Ursprung }
- GetFirst : ListProc;{ Selektiere erstes Element }
- GetNext : ListProc;{ Selektiere nächstes Element }
- PoppedUp : BOOLEAN; { Kennung: Dialog ist schon da }
- topic : NameString;
- END;
-
- TheListType = RECORD
- NItems : INTEGER; { Anzahl der Elemente }
- eol : BOOLEAN; { end_of_list schon erreicht }
- Item : NameString; { lokale Variable }
- ItemStr: NameString; { aktueller Eintrag }
- Items : ARRAY[1..MaxItems] OF nameString; { Die Liste }
- ListPtr: INTEGER; { relativ zum Fensterbeginn }
- TOLW : INTEGER; { erstes Item im Fenster }
- Spots : ARRAY[1..MaxListSpot] OF HotSpot;
- UpSpot : HotSpot; { Scroll Up }
- DwnSpot: HotSpot; { Scroll Down }
- Elevate: HotSpot; { Der Elevator }
- END;
-
-
- TheList = ^TheListType;
-
-
- { *********************************************************************** }
-
- PROCEDURE InitSmallDlg(rsc: SmallDialog);
- FUNCTION DoSmallDlg(VAR rsc: SmallDialog; VAR res: STRING):DlgSet;
- PROCEDURE CloseSmallDlg;
-
- PROCEDURE InitTwinDlg(rsc: TwinDialog);
- FUNCTION DoTwinDlg1(VAR rsc: TwinDialog; VAR res: STRING):DlgSet;
- FUNCTION DoTwinDlg2(VAR rsc: TwinDialog; VAR res: STRING):DlgSet;
- PROCEDURE CloseTwinDlg;
-
- PROCEDURE InitListDialog(rsc: ListDialog; VAR ThisList: TheList);
- FUNCTION DoListDialog(rsc: ListDialog;
- VAR res: NameString;
- VAR ThisList: TheList):DlgSet;
- PROCEDURE UpdateListDialog(rsc: ListDialog;
- VAR ThisList: TheList;
- JustRedraw: BOOLEAN);
- PROCEDURE CloseListDialog;
-
- IMPLEMENTATION
-
- END.