home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / outlines.zip / readme.txt < prev   
Text File  |  1999-09-30  |  4KB  |  109 lines

  1. TCustomOutline and TCustomDirectoryOutline components
  2. for SpeedSoft Sibyl
  3.  
  4. Written by Aaron Lawrence (aaronl@clear.net.nz)
  5.  
  6. Summary
  7. -------
  8.  
  9. This package contains two Sibyl components that you can use in
  10. your projects. They are an slightly enhanced TOutline and 
  11. a signficantly enhanced TDirectoryOutline
  12.  
  13. License
  14. -------
  15.  
  16. These components are freeware, but comments would be appreciated!
  17. I make no warranty as to the safe operation of these components... etc.
  18.  
  19. You may modify the source code and use it in your own projects.
  20.  
  21. What you need
  22. -------------
  23.  
  24. You should have these files:
  25.  
  26. CustomOutline.pas
  27. CustomDirectoryOutline.pas
  28. CustomOutline.bmp
  29. CustomDirectoryOutline.bmp
  30.  
  31. Installation
  32. ------------
  33.  
  34. Compile the two .pas files, CustomOutline first since it is used by the other.
  35.  
  36. Then, use Component - Install Component to select the two .SPU files produced
  37. and install the components
  38.  
  39. The components should now appear under the User tab.
  40.  
  41. Using the components
  42. --------------------
  43.  
  44. TCustomOutline
  45. --------------
  46. Adds one method and one property over TOutline
  47.  
  48. Procedure SetAndShowSelectedItem( NodeIndex: longint );
  49. This procedure sets the given node as the selected one, and makes sure it is visible.
  50.  
  51. Property PopupNode
  52. While a popup menu for the control is active, this indicates the node
  53. that was right clicked, if any.
  54.  
  55. TCustomDirectoryOutline
  56. -----------------------
  57.  
  58. This component is much more useful than the rather simplistic TDirectoryOutline that 
  59. Sibyl comes with. Also it is based on TCustomOutline so it gains the benefits
  60. above as well.
  61.  
  62. Behaviour
  63. Unlike TDirectoryOutline, this component only reads directories as needed, and re-reads
  64. them whenever a directory is opened (expanded). For speed, you have two options regarding 
  65. subdirectories, controlled by the LookAhead property:
  66.  
  67. LookAhead = false:
  68. In this case the control will display a + for any directories which have not been expanded.
  69. When they are expanded by the user it will see if there are any subdirectories, and if not
  70. the + will disappear (otherwise it becomes a - as usual).
  71. In this mode the control is very fast.
  72.  
  73. LookAhead = true:
  74. This makes sure the + is only displayed if there really are subdirectories. In this case
  75. it will look ahead for any subdirectories - if none are found the + is hidden.
  76. This noticeably slows down display when there are many subdirectories. It is still faster
  77. than TDirectoryOutline since it only looks ahead one level and stops as soon as it finds
  78. any subdirectory.
  79.  
  80. Folder bitmaps
  81. You can change the open/closed/folder bitmaps - you aren't stuck with the built in ones.
  82.  
  83. Root directory selection
  84. There is a bug fix so you can in fact select the root directory!
  85.  
  86. Current Directory
  87. This control keeps track of it's own directory and does not change, or read, the
  88. current directory. This avoids unexpected side effects of dialogs... :-)
  89.  
  90. Reload
  91. This procedure immediately re-reads the directories for the current drive.
  92.  
  93. Navigation methods
  94. ChangeToParent: selects the parent directory of the current selection (if any)
  95. ChangeToRoot: goes to the root directory of the current drive.
  96.  
  97. Information
  98. AtRoot: this function returns true if the user has selected a root directory
  99. Parent: function returns parent of the selected directory.
  100.  
  101.  
  102.  
  103.  
  104. If you have any ideas or comments (especially nice ones) feel free to mail me.
  105. aaronl@clear.net.nz
  106. or
  107. aaronl@pec.co.nz (may change soon)
  108.  
  109.