home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / pascal / library / dos / delite / int / dialogs.int < prev    next >
Encoding:
Text File  |  1992-04-01  |  7.7 KB  |  214 lines

  1. UNIT DIALOGS;
  2.  
  3. (*****************************************************************************
  4. Name:              DIALOGS.PAS
  5. Version:           2.1
  6. Edit Datum:        1. April 1992
  7. Autor:             Andreas Schumm
  8. Kurzbeschreibung:  Dialogaufsatz für deLite
  9. *****************************************************************************)
  10.  
  11. INTERFACE
  12.  
  13. USES kernel, api;
  14.  
  15.  
  16. TYPE    Slider = object(DlgItem)
  17.           min, max,
  18.           pos       : integer;
  19.           locked    : integer;
  20.           constructor Init(x1,y1,len, TheId, pmin, pmax: integer; dir: dirtype);
  21.           procedure   Draw; virtual;
  22.           procedure   HandleEvent(TheEvent: EventTyp); virtual;
  23.           function    GetPos: integer;
  24.           procedure   SetPos(thepos: integer);
  25.          private
  26.           sdir      : DirType;
  27.         end;
  28.  
  29.         PSlider   = ^Slider;
  30.  
  31.         EditCharSet = (AllChars, IntChars, RealChars);
  32.  
  33.         EditField = object(DlgItem)
  34.           thelen,
  35.           maxlen    : integer;
  36.           curpos    : integer;
  37.           abspos    : integer;
  38.           cursor    : boolean; { Zustand des Cursors }
  39.           altered   : boolean; { Veränderung }
  40.           TheString : string;
  41.           constructor Init(x,y,len, max, TheId: integer; deflt: string);
  42.           procedure   SetCharSet(CharSet: EditCharSet);
  43.           procedure   Draw;        virtual;
  44.           procedure   HandleEvent(TheEvent: EventTyp); virtual;
  45.           procedure   ClearFocus;  virtual;
  46.           procedure   SetString(TheStr: string);
  47.           function    GetString : string;
  48.           function    IsInteger : boolean;
  49.           function    GetValue  : integer;
  50.           procedure   SetValue(v: integer);
  51.           function    IsReal    : boolean;
  52.           function    GetReal   : real;
  53.           procedure   SetReal(v: real);
  54.           procedure   SetDigits(n: integer);
  55.          private
  56.           TheSet   :  EditCharSet;
  57.           Digits   :  integer;
  58.         End;
  59.  
  60.         PEditField = ^EditField;
  61.  
  62.         PIconListItem = ^IconListItem;
  63.  
  64.         IconListItem  = object
  65.           next      : PIconListItem;
  66.           prev      : PIconListItem;
  67.           icon      : Pointer;
  68.           name      : ListString;
  69.           id,dx,dy  : integer;
  70.           color     : byte;
  71.         end;
  72.  
  73.         PSelectBox = ^SelectBox;
  74.  
  75.         SelectBox = object(DlgGroup)
  76.           Itemwidth : Integer;  { Breite des Feldes }
  77.           constructor Init(x,y,wid,TheID: integer; GetFirst, GetNext: GetListProc);
  78.           destructor  Done; virtual;
  79.           procedure   Draw; virtual;
  80.           procedure   HandleEvent(TheEvent: EventTyp); virtual;
  81.           procedure   Update;         { Liste neu einlesen }
  82.           function    GetSelected: ListString;
  83.           procedure   Select(TheString: ListString);
  84.          private
  85.           GetFirstProc : GetListProc;
  86.           GetNextProc  : GetListProc;
  87.           TheList   : PTextListItem;
  88.           Current   : PTextListItem;
  89.           procedure   ReadList;       { Liste einlesen  }
  90.           procedure   RemoveList;     { Liste entfernen }
  91.         end;
  92.  
  93.         GetIconProc = procedure(var Icon: Pointer; var dx,dy,id: integer; var color: byte;
  94.                                 var name: ListString; var eol: boolean);
  95.  
  96.         IconSelectBox = object(DlgGroup)
  97.           constructor Init(x,y,dx,dy,TheID: integer; GetFirst, GetNext: GetIconProc);
  98.           destructor  Done; virtual;
  99.           procedure   Draw; virtual;
  100.           procedure   HandleEvent(TheEvent: EventTyp); virtual;
  101.           procedure   Update;      { Liste neu einlesen }
  102.           function    GetSelected: integer;
  103.           function    GetSelectedIcon: Pointer;
  104.           function    GetSelectedName: ListString;
  105.           procedure   Select(TheItem: integer);
  106.          private
  107.           ViewWidth : integer;        { Breite in Pixeln }
  108.           ViewHeight: integer;        { Höhe in Pixeln   }
  109.           GetFirstProc : GetIconProc;
  110.           GetNextProc  : GetIconProc;
  111.           TheList   : PIconListItem;
  112.           Current   : PIconListItem;
  113.           procedure   ReadList;       { Liste einlesen  }
  114.           procedure   RemoveList;     { Liste entfernen }
  115.         end;
  116.  
  117.         PIconSelectBox    = ^IconSelectBox;
  118.  
  119.         PRadioButton      = ^RadioButton;
  120.         PRadioButtons     = ^RadioButtons;
  121.         PUserRadio        = ^UserRadioButton;
  122.         PUserRadioButton  = ^UserRadioButton;
  123.         PUserRadios       = ^UserRadioButtons;
  124.         PUserRadioButtons = ^UserRadioButtons;
  125.  
  126.         RadioButton = object(DlgItem)
  127.           TheLabel  : LabelStr;
  128.           MyGroup   : PRadioButtons;
  129.           constructor Init(x1,y1,TheID: Integer; TheText: LabelStr; nextB: PRadioButton);
  130.           procedure   Draw; virtual;
  131.           procedure   HandleEvent(TheEvent: EventTyp);virtual;
  132.         End;
  133.  
  134.         UserRadioButton = object(RadioButton)
  135.           IconPtr   : Pointer;
  136.           dxb,dyb   : Integer;
  137.           constructor Init(x1,y1, dx,dy,xb,yb,TheID: Integer; TheIcon: Pointer; nextB: PUserRadio);
  138.           procedure   Draw; virtual;
  139.         End;
  140.  
  141.         RadioButtons = object(DlgGroup)
  142.           Title     : LabelStr;
  143.           constructor Init(x1,y1,dx,dy,TheID: integer; TheText: LabelStr; nextB:PRadioButton);
  144.           procedure   Draw; virtual;
  145.           procedure   HandleEvent(TheEvent: EventTyp);virtual;
  146.           function    WhosChecked:integer;
  147.           procedure   CheckButton(TheID: integer);
  148.           procedure   HideItem; virtual;
  149.         End;
  150.  
  151.         UserRadioButtons = object(RadioButtons)
  152.           constructor Init(x1,y1,dx,dy, TheID: integer; nextB: PUserRadio);
  153.           procedure   Draw; virtual;
  154.           procedure   SetIcon(TheID: Integer; TheIcon: Pointer);
  155.           procedure   HideItem; virtual;
  156.         End;
  157.  
  158.         TTYScreen   = object(DlgGroup)
  159.           constructor Init(x,y, lin, col, TheID: integer; flag: word);
  160.           destructor  Done; virtual;
  161.           procedure   Draw; virtual;
  162.           procedure   write(str: string);
  163.           procedure   writeln(str: string);
  164.           procedure   GotoXY(x,y: integer);
  165.          private
  166.           lines     : integer;
  167.           columns   : integer;
  168.           curx,cury : integer;   { Cursorposition }
  169.           flags     : word;
  170.           TheElevator  : PVElevator;
  171.         end;
  172.  
  173.         ComboBox = object(DlgGroup)
  174.           constructor  Init(x,y,len,height,TheId: integer; GetFirst, GetNext: GetListProc);
  175.           procedure    HandleEvent(TheEvent: EventTyp); virtual;
  176.           procedure    Update;
  177.           function     GetSelected: Liststring;
  178.           procedure    Select(TheString: ListString);
  179.           destructor   Done; virtual;
  180.          private
  181.           Selected   : ListString;
  182.           IsOpened   : boolean;      { Flag  Combo offen    }
  183.           used       : boolean;      { Combo wurde benutzt  }
  184.           VMEMHdl    : integer;
  185.           Pa,Pe      : DPoint;       { Ausdehnung in Pixeln }
  186.           NormPort   : ViewPortType; { normaler Viewport    }
  187.           procedure    CloseBox;
  188.         end;
  189.  
  190.        PComboBox = ^ComboBox;
  191.  
  192.        PFileRequester = ^FileRequester;
  193.  
  194.        FileRequester = object(DlgGroup)
  195.          lines     : integer;
  196.          TheFirstPath : String;
  197.          constructor Init(x,y,lin, TheID: integer; ThePath: string; TheMask: string);
  198.          destructor  Done; virtual;
  199.          procedure   Draw; virtual;
  200.          procedure   HandleEvent(TheEvent: EventTyp); virtual;
  201.          function    GetSelected: string;
  202.          function    GetPath    : string;
  203.         end;
  204.  
  205.        SelectEditField = object(EditField) { spezielles Editierfeld }
  206.          procedure Draw; virtual;
  207.        end;
  208.  
  209.        PSelectEditField= ^SelectEditField;
  210.  
  211.  
  212. IMPLEMENTATION
  213.  
  214. END.