Version History

4.1:

  • Changed the constructors and did other internal changes to support future REALbasic versions.

    4.0:

  • Added a TreeViewCustomNode class that enables users to make custom rendered nodes. (This feature will only work on REALbasic 2007r3 and later)
  • Added a example project to demonstrate the custom node class.

    3.6:

  • Added a DragReceiveBehavior property which allows to let all nodes become possible drop zones in addition to the existing mode where only directories can be drop zones.
  • The Universal Binary is now compiled as Bundle instead of dylib to support the new mechanism in REALbasic to load Mach-O plugins directly into memory.
  • Fixed a problem with Column header text where when having many columns the text got misplaced by few pixels.
  • Improved the Linux portion of the control to get it to draw properly on recent versions of Suse Linux systems.

    3.5.5:

  • Improved look and feel on Linux systems.
  • Added support for node images that are wider than 255 pixels.
  • Improved the documentation for the TreeViewCheckboxNode class.

    3.5.1:

  • Fixed a problem where the DragExit event was missing in the 3.5 build.

    3.5:

  • Added a TreeViewCheckboxNode class that adds support for three state Checkbox nodes where each node can also be enabled or disabled.
  • Added a NodeAction event to the TreeView control, where action events for special nodes such as the Checkbox nodes will fire.
  • Added a new part constant to the TreeViewParts module. (NodeCheckbox area)
  • Added a new example project to demonstrate use of Checkbox nodes.

    3.1:

  • Fixed a draw glitch in built in Quartz Acceleration module.
  • Added a Swap method to the TreeViewNode class to swap child nodes.
  • Added a Swap method to the TreeView control class to swap root level nodes.
  • Added a Index function to the TreeViewNode class to lookup the screen index for the given node.
  • All remove functions will now detach nodes so they are reusable for insertion again.
  • Remove functions will no longer collapse them self's before getting removed, making them preserve expanded state if they get re-attached.
  • Added a HorizontalScrollbarValue property (not officially supported in this version).

    3.0:

  • Added support for MacOS X Universal Build.
  • Fixed a Drag & Drop issue relating to use of late REALbasic 2006 versions.
  • Fixed a tree line rendering glitch.

    2.6.2:

  • Fixed various of problems related to setting the Enabled property to false.
  • Windows segments are now compiled with a different compiler to support future roadmap and long term goals for the plugin.

    2.6:

  • Accelerated the rendering engine - all platforms will benefit from this.
  • The node rendering proc now uses exclusive Quartz when running on MacOS X Mach-O targets.
  • Added a QuartzShading property to optionally shade the selection when running on MacOS X Mach-O target.

    2.5:

  • The NodeHeight property is now both Read and Write.
  • Added a extra parameter to the DragOverNode event. (REALbasic 2006 and later only)
  • Added a extra parameter to the DropObject event. (REALbasic 2006 and later only)
  • Added a BeginDragNode event. (REALbasic 2006 and later only)
  • Added a part code parameter to the DragOver event. (REALbasic 2006 and later only)
  • Improved the visual feedback of drag over handling.
  • The Tree-Line rendering algorithm is now faster.
  • Added a isRightButton parameter to the MouseDown event.
  • Headers no longer get clicked when the mouse click is right click.
  • The right click is no longer marked as handled by the TreeView which should let REALbasic properly fire the new REALbasic ContextMenu events.
  • Right clicks are no longer counted in DoubleClick evaluations.

    2.3:

  • Added support for live Drag Tracking when used with REALbasic 2006 or later.
  • Added a DragOver event. (Only visible in REALbasic 2006 and later)
  • Added a DragOverNode event. (Only visible in REALbasic 2006 and later)

    2.2:

  • Added a SelectionSeparator property.
  • Fixed a problem with using the TreeView control on Windows 2003 Server.

    2.1:

  • Added a RemoveChildAt method to the TreeViewNode class.
  • Added a RemoveChild method to the TreeViewNode class.
  • Added another variation of the constructor for the TreeViewNode class that additionally takes hasExpander parameter.
  • Setting the SelectedIndex property to -1 will now clear all selection in the TreeView.

    2.0.4:

  • Improved the Scrollbar Page scrolling.

    2.0.2:

  • Fixed a problem where the scroll wheel was in some cases crashing Mach-O Applications.
  • Added support for users of the plugin to decide on if using more optimized GCC 4.0 Mach-O segment or a more backward compatible GCC 3.3 Mach-O segment. (Can be configured by using Plugin Tool 2.5 or later).

    2.0:

  • Added support for the REALbasic Linux IDE.
  • Ported the Mach-O target to use Xcode to prepare for upcommig Mac Intel targets.
  • The Mach-O target is now 15% smaller.

    1.9:

  • Added suppport for next generation of REALbasic. (Linux IDE in next generation of REALbasic is not yet supported).

    1.8:

  • Added a UseFocusRing property.
  • Added a MouseUp event.
  • Added a MouseDrag event.
  • Connected the CancelEventAction property to the MouseUp event.
  • Connected the CancelEventAction property to the MouseDrag event.
  • Improved the documentation.

    1.7.3:

  • Fixed a memory leak in the RemoveNode method.

    1.7.2:

  • Fixed a memory leak where the control was leaking one Graphics object per refresh cycle.

    1.7:

  • Added support for Even / Odd colored nodes.
  • Added a NodeEvenColor property.
  • Added a NodeOddColor property.
  • Added a NodeExpandIndent constant for use with the GetMeasure function.
  • MouseWheel events are now ignored if the scrollbar is not currently visible. Before this sometimes caused the MouseWheel to try to push the content up by one pixel.
  • Fixed a problem with mouse hovering effect on the Linux triangle expanders.

    1.6.2:

  • The ScrollNodeToView method is now supported in the Open event of the control.
  • The VerticalScrollbarMax property is now supported in the Open event of the control.
  • The VerticalScrollbarMax property is now supported in the Open event of the control.
  • The VerticalScrollbarValue property is now supported in the Open event of the control.
  • The ContentAreaHeight and ContentAreaWidth constants now work in the Open event of the control.

    1.6:

  • Added a ScrollNodeToView method.
  • Added a VerticalScrollbarMax read only property.
  • Added a VerticalScrollbarValue read and write property.
  • Added a GetMeasures function.
  • Added a TreeViewMeasure constant module which has HeaderHeight, ContentAreaHeight, ContentAreaWidth, NodeHeight.
  • The old NodeHeight property is now depreciated but still supported.
  • Added some open source TreeView extension methods.

    1.5.2:

  • The setter for the ColumnHeaderText property now correctly refreshes the header.
  • The setter for the ColumnWidth property now correctly refreshes the header.
  • The control now gracefully stops redrawing it self instead of crashing when it is scaled to be smaller than the scrollbar.
  • Added a Example project from Nick Loveday.

    1.5:

  • Added Column Header support.
  • Added HeaderClick event.
  • Added HasHeader property.
  • Added ColumnHeaderText setter/getter method.
  • Added a Header constant in the TreeViewParts module for hit testing.
  • Redesigned the plus minus expanders when not using disclosure triangles in MacOS, MacOS X, Linux or Windows (older than Windows XP) mode.
  • Added a InsertNode method to insert a child node at a specific location.
  • Added a InsertNode method to insert a top level node at a specific location.
  • Fixed a critical memory fault error with the multiple columns mechanism.

    1.2.2:

  • Fixed a drawing problem when the control gets resized.

    1.2:

  • Added preliminary support for multiple columns.
  • Added a AddSubItem method to the TreeViewNode class.
  • Added a ItemText setter/getter function to the TreeViewNode class.
  • Added a ColumnCount property to the TreeView control.
  • Added a ColumnWidth setter/getter function to the TreeView control.

    1.1.2:

  • Added a SelectedNode function.
  • Added a Selected function to the TreeViewNode class.
  • Added a Depth function to the TreeViewNode class.
  • The text on the node now vertically aligns it self properly in line with the expanders after changing font or font size.
  • Added a KeyDown event and Connected the CancelEventAction property to it.
  • Added a nice example project from Bradford J Herder.

    1.1:

  • Added a TextFont property.
  • Added a TextSize property.
  • Added a GotFocus event.
  • Added a LostFocus event.
  • Added a Expanded function to the TreeViewNode class.
  • Added a FontItalic property to the TreeViewNode class.
  • Fixed a crash when the control was resized to a negative size.
  • Accelerated rendering of the control, this is most notable on MacOS X.
  • Setting the SelectedIndex property will now trigger redraw when the drawing is not locked.
  • The BeforeNodeExpand will now temporarily lock the drawing during the events execution.
  • The BeforeNodeCollapse will now temporarily lock the drawing during the events execution.
  • Fixed a bug with synchronization between expanding state and selection state.
  • Changed selection events so they attempt to redraw the control when possible before sending the event instead of doing it after it.
  • Using BeforeNodeExpand for loading when expanding now actually works.
  • Added two new example projects.
  • 1.0:

  • This is the first version.