The Maelstrom TDBOutline component
Release 1.5


TDBOutline is a native VCL Delphi component designed to allow the loading, 
navigation, and manipulation of hierarchically organized data contained in 
a database.

TDBOutline is a descendant of the TOutline Class, inheriting all TOutline's 
properties, methods and events.

TDBOutline has additional properties, methods and events that provide the 
following:

o Automatic loading of recursively related data into the outline, preserving
   the hierarchic structure. One call to method LoadFromDataSet is all it takes
   to populate the outline with all the table data.
o Automatic drag & drop facility that moves a node and all its children to 
   be children of the dropped-on node.  Dragging a node off the outline 
   control will cause the outline to scroll, enabling drag and drop to a 
   node not visible on the same page as the from-node. A default move 
   confirmation message can be enabled, disabled, or overridden with your 
   own custom message.  
o Automatic record-pointer synchronization -- as you navigate through the 
   outline, TDBOutline will move the record pointer in the table to the 
   associated record.  It will even search for the appropriate index to 
   enable FindKey synchronization.
o Automatic outline synchronization -- as you navigate through the dataset,
   you can cause the selected outline to synchronize with the selected 
   dataset record by calling a single method.
o Automatic update of recursive field upon drag & drop -- when a node is 
   dropped on another node, the dropped-on node's key field will be written
   to the dropped node's recursive field.
o Mass update or cancel of drag-drop changes with a single method call.

TDBOutline can be used to display, manipulate and save the hierarchic 
  structure of recursively related (self-referencing) data.  Recursively 
  related tables are used for many purposes, including the following:

o Corporate personnel hierarchy 
o Genealogy (Family trees)
o Notes/subnotes (document management)
o GL Account structures
o Business channel/segment structures
o Project tasks/subtasks
o Decision trees
o Process flows
o Universal Address Master files
o PIMs

TDBOutline has proved to be a very useful tool in Maelstrom's development 
projects. We know there are areas requiring improvement, and they will be 
in the next release.


What's New in version 1.5

o Version 1.5 has been modified to prevent the display of DataField within 
  the node text.  Resulting from this modification, the Data element of 
  each node is now occupied with information TDBOutline needs to navigate 
  and synchronize the DBOutline.

o Several new methods have been added to facilitate the addition/editing 
  of outline nodes after the initial call to LoadFromDataSet.  These methods
  are AddDBRecord and ChangeDBRecord.

o A new method has been added to allow the developer to synchronize the 
  DBOutline's selected node to changes in the underlying dataset's selected
  record: SynchOutline.

o A new property has been added, DataAutoUpdate, that specifies if drag-drop
  changes should be immediately posted to the dataset or not.  In conjunction
  with this new property, a method has been added, UpdateDraggedNodes, that
  will post all un-posted drag-drop changes to the dataset.  This allows the
  manipulation of the DBOutline's structure without changing the dataset.
  The modifications to the hierarchy can be saved with a call to UpdateDragg
  edNodes, or abandoned with a call to LoadFromDataSet.

o In keeping with the above change, AutoDrop has been modified to post 
  drag-drop changes to the dataset only if DataAutoUpdate is True.

o Improved support for TQueries has been added.  DataAutoSynch will now work
  with a TQuery.  All other functionality also works with TQuery, provided 
  the TQuery is capable of being updated.

o A new property has been added to prevent the display of the default 
  error message if a cyclical drag-drop is attempted: IgnoreCyclicalDrops.

o Improved index support has been provided.  The DataAutoSynch mechanism 
  will now maintain the initial index of the dataset, switching to an index
  with primary key DataField as needed, then switching back.


Registration

The trial version of TDBOutline v1.5 is free, but will only run while Delphi
 is running. The commercial version, allowing royalty free run-time 
 distribution, can be ordered for US $39.00.  Contact Information

Maelstrom Software
85 Fernhill Blvd.
Oshawa, Ontario
Canada L1J 5J1
CompuServe: 71431,62
Internet: 71431.62@compuserve.com