home *** CD-ROM | disk | FTP | other *** search
/ PC World 1997 November / PCWorld_1997-11_cd.bin / software / programy / komix / DATA.Z / classset.sru < prev    next >
Encoding:
Text File  |  1997-04-03  |  1.7 KB  |  71 lines

  1. $PBExportHeader$classset.sru
  2. $PBExportComments$A set (actually a list) containing setelements
  3. forward
  4. global type classset from nonvisualobject
  5. end type
  6. end forward
  7.  
  8. global type classset from nonvisualobject
  9. end type
  10. global classset classset
  11.  
  12. type variables
  13. integer count = 0
  14. setelement firstElement
  15. end variables
  16.  
  17. forward prototypes
  18. public function boolean contains (powerobject obj)
  19. public subroutine add (powerobject obj)
  20. public function powerobject get (integer index)
  21. public subroutine remove (powerobject obj)
  22. public subroutine remove (integer index)
  23. public function integer size ()
  24. end prototypes
  25.  
  26. public function boolean contains (powerobject obj);// is obj present in list
  27. return firstElement.contains(obj)
  28. end function
  29.  
  30. public subroutine add (powerobject obj);// add obj to front of list
  31. firstElement.add(obj)
  32. count ++
  33. end subroutine
  34.  
  35. public function powerobject get (integer index);// return object on position index
  36. return firstElement.get(index)
  37. end function
  38.  
  39. public subroutine remove (powerobject obj);// remove obj from list
  40. if firstElement.remove(obj) then
  41.     count --
  42. end if
  43. end subroutine
  44.  
  45. public subroutine remove (integer index);// remove object on position index
  46. if firstElement.remove(index) then
  47.     count --
  48. end if
  49. end subroutine
  50.  
  51. public function integer size ();// return size of list
  52. return count
  53. end function
  54.  
  55. on classset.create
  56. TriggerEvent( this, "constructor" )
  57. end on
  58.  
  59. on classset.destroy
  60. TriggerEvent( this, "destructor" )
  61. end on
  62.  
  63. event constructor;// always add an empty/dummy first element
  64. firstelement = create setelement
  65. end event
  66.  
  67. event destructor;// destroy firstElement
  68. destroy firstElement
  69. end event
  70.  
  71.