home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / PRECOM.ZIP / SAMPLE.ZIP / LSTBOX.DEF next >
Text File  |  1992-12-09  |  2KB  |  74 lines

  1. DEFINITION MODULE LstBox;
  2. FROM Lists IMPORT GenList,ElmtPntr,Element;
  3. (*FROM GenLists IMPORT GenList;*)
  4. FROM OS2DEF IMPORT HWND;
  5. IMPORT Win;
  6.  
  7. TYPE
  8.   DLPnt = POINTER TO DropDownList;
  9.   LBPnt = POINTER TO ListBox;
  10.   SEPnt = POINTER TO StrElmt;
  11.  
  12. CLASS StrElmt (Element);
  13.   TheStr : ARRAY[0..80] OF CHAR;
  14.   PROCEDURE Assign(AString : ARRAY OF CHAR);
  15.   PROCEDURE GetStr(VAR AString : ARRAY OF CHAR);
  16. END StrElmt;
  17.  
  18. CLASS DropDownList;
  19.  ItemList : GenList;
  20.  init     : CARDINAL;
  21.  Parent   : HWND;
  22.  hwnd     : HWND;
  23.  Id       : CARDINAL;
  24.  PROCEDURE Initialize(FileName : ARRAY OF CHAR);
  25.  PROCEDURE SelectFirst();
  26.  PROCEDURE FillBox(ParentHwnd : HWND; Control : CARDINAL);
  27.  PROCEDURE ReadBox( VAR Value : ARRAY OF CHAR);
  28.  PROCEDURE Initialized() : BOOLEAN;
  29.  PROCEDURE AddScrItem( Str : ARRAY OF CHAR);
  30.  PROCEDURE DeleteScrItem( ItemNbr : CARDINAL);
  31.  PROCEDURE GetSelectedAdr(VAR ObjPnt  : ElmtPntr;  (* get address of item *)
  32.                         VAR ItemNbr : CARDINAL);
  33.  PROCEDURE GetSelected(VAR Object   : Element;   (* get item *)
  34.                         VAR ItemNbr : CARDINAL);
  35.  PROCEDURE GetItemSize(Spot : CARDINAL):CARDINAL;
  36.  PROCEDURE ClearItemScr();
  37.  PROCEDURE Dispose();
  38.  PROCEDURE AddElmt(VAR TheElmt : Element; Size : CARDINAL);
  39.  PROCEDURE SetSelected(J : CARDINAL);
  40.  
  41. END DropDownList;
  42.  
  43. CLASS ListBox(DropDownList);
  44.  
  45.  
  46.       (* on multi select items - return list of selected *)
  47.  
  48.   PROCEDURE GetSelectedLst( VAR Lst : ListBox);
  49.  
  50.       (* Assign the list to the item list *)
  51.  
  52.   PROCEDURE FillList(VAR TheList : GenList);
  53.  
  54.      (* user called routine to get a display line from an object *)
  55.  
  56.  
  57.   VIRTUAL PROCEDURE GetDisplayLine(ObjPnt : ADDRESS; VAR Str : ARRAY OF CHAR);
  58.  
  59.   PROCEDURE GetItemAdr(VAR ItemPnt : ElmtPntr;ItemNbr : CARDINAL);
  60.  
  61.   PROCEDURE GetItemCnt() : CARDINAL;
  62.  
  63.     (* delete an item from the list - no screen update *)
  64.   PROCEDURE DeleteItem(ItemNbr : CARDINAL);
  65.  
  66.       (*  delete an item from the screen list *)
  67.   PROCEDURE DeleteItemScr( ItemNbr : CARDINAL);
  68.  
  69.   PROCEDURE DeleteScrItem(ItemNbr : CARDINAL; ListAlso : BOOLEAN);
  70.  
  71. END ListBox;
  72.  
  73.  
  74. END LstBox.