This is the first of many product reviews which I’m happy to perform as one of the purposes of this blog. I decided to choose this product as the first of my reviews, because this library plays one of the most important parts in Work Time Studio. Not only that, but it’s one of the libraries which I consider almost flawless in it’s design and implementation.
Before you start to get the feeling that this is a biased review, I want to state that I am in now way receiving any compensation for posting this review. I have actually had very little correspondence with the company who provides this product, Softel vdm, inc. I also want to mention, that although this review is for the SftTree/DLL in particular, Softel vdm, inc also offers a SftTree for other windows environments such as for dotnet and ActiveX.
The SftTree/DLL is a windows based C++ library tree component which developers can use in their visual studio products to provide a tree-like interface in their applications. If you’re a Visual Studio developer, you’re well aware that the standard tree controls available in Visual Studio are very basic and limited in functionality. The SftTree/DLL provides developers with a ’super charged’ tree control that they can use to replace the standard tree control in their applications. Actually, the SftTree/DLL provides so many features, it can also double as a list control, which I also use it for in Work Time Studio.
The features provided by SftTree/DLL are too numerous to cover in this review, but I do want to cover some of the main ones which are key features needed within Work Time Studio.
Multiple Column Support
The SftTree/DLL provides multiple column support in the tree control. Most developers can attest that this is a very big deal, because it allows users to see all the values which are associated with a particular row, or node. SftTree/DLL also allows you to configure the columns in various ways, such as specifying the background/foreground colors, width/minimum width, and many other options. These options can also be specified per individual cell.
Embedded Controls Within the Cells
The ability to embed UI controls within individual cells in another feature that developers desire to have in not only tree controls, but in list controls which the SftTree/DLL doubles as. The reason this is so important, is because it allows users to edit/change values associated with a particular node or row inline, right inside of the tree control. The SftTree handles the embedding of other controls very well, as demonstrated in Work Time Studio’s Activity Tree. With SftTree/DLL’s extensive API, you can pretty much embed any kind of control in any of its cells.
Cell Text and Background Color Support
This feature is particularly useful as it allows color to be used to emphasize particular rows or nodes. The SftTree/DLL also allows color attributes to be set for the row/column headers. In addition, the SftTree/DLL now supports gradient colors and progress bar support.
The Documentation for the SftTree/DLL is top notch. If you’re used to seeing sparse or auto-generated documentation for your library products, you’re in for a treat with the documentation for the SftTree/DLL. Each operation is completely described with examples. The documentation help file is well organized so you can find what you’re looking for quickly. Even more complicated topics, such as linking options, and messaging/event processing are discussed thoroughly and completely. A demo application is also provided which includes a configuration program which you can use to help you configure a tree for your particular application.
Although I have had no real reason to contact support, I do get an occasional email to inform me of product updates, which is very handy. Updates seem to occur two or three times a year, at least for the SftTree/DLL.
If you’re looking for a tree component for your application, I’d highly encourage you to take a look at Softel’s SftTree. The amount of features it provides, plus it’s stability and documentation make this a very professional product. I would go as far to say that this component would also be very suitable for a grid component if that’s what you’re looking for, as it has all the features that a robust grid control would have.
Popularity: 1% [?]