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: [email protected]