mitchenall.com - The Database & Web Enabling Company  
Services Products Resources Contacts
* Consultancy
* Training
* Bespoke Development
* Web Development and Hosting
* 4D Freeware
* Articles & Tutorials
* External Links
* Site Index
* Recommended Reading
* @mitchenall.com
* Feedback

> Home > Resources > News

Hierarchical List Component v1.0 beta 1

Note: This software is still in beta form. There may well be bugs with it, and the documentation isn't finished yet, but we're releasing it as a 4D 6.7 structure file for those who are interested in trying it out for us.

The Component adds around 38 routines for managing hierarchical lists. When you want to set the icon of a list item, rather than having to remember the 3 or 4 other parameters of SET LIST ITEM PROPERTIES, you simply call hlist_Item_Icon_Set. Similarly, if you just want to set the sublist of an item, rather than remembering the parameters of SET LIST ITEM, you can simply call hlist_Item_Sublist_Set passing it the list reference, itemRef and sublist reference.

The idea is that you use the routines provided in the component to create, copy and load lists, and use the manipulation routines provided to set properties of lists and list items. These routines in some cases make your code more readable and are easier to remember than the built-in functions, but also allow your lists to be tracked to aid in debugging and tracking down memory leaks. There are wrappers for nearly all of 4D's built-in functionality, so when we're out of the beta stage, it will be easy for developers to use 4D Insider to replace their list commands with those provided in the component.

The database structure provided with the component contains a test panel dialog which contains some sample hierarchical lists, hierarchical popup menus and tab controls to test the functionality of the component. This gives an idea of how the Debug Panel works, plus gives some examples on how to use the component. The demo database is open-source, and during the beta stage, the component is open source too.

Screenshot of Debug Window

"All Variables Are Typed"

Like all mitchenall.com 4D source code products, this component compiles with the "All Variables Are Typed" option on 4D Compiler. This is important to us, not so much for the slight time savings in compilation times, but so that we know exactly how the compiler will interpret our variables, no matter who compiles the database and with whatever settings.

QuickCodePro v4 Users

Users of ASG's QuickCodePro v4 will be pleased to know that this module has all the parameter lists in the comments page for each individual method. This means you can use the QuickCommand feature just as you do for 4D commands. The comments also contain brief help on each command so that you can use the HotHelp feature to display a bubble with the important information about a routine.

Future Development

This is just the core of the hierarchical list module which we've built over the last few years, but the intention is to extend this module slightly, and to add more sample code for certain extra functionality to the demo database. At the moment, the documentation is contained within the component itself, in the form of comments in the comment windows for methods. Full documentation is currently being written and will be released with the component at a later stage. A tutorial is also being written for general hierarchical list management using 4D's built in functions, and the ones in this component.

Some of the examples which we want to include in our demo database may not be included in the component itself, unless users think that they make a valid contribution. We want to keep the component as generic as possible without leaning too much towards particular applications of the component. The only thing it should lean towards is helping to clean up list management code. We are open to suggestions on any extra things we should include in the sample database on using hierarchical lists.

Download Hierarchical List Component

Structure File
This version has the complete source to the component, so if you do find bugs, you can correct them yourself if you want. Still we'd like to know about any you find as this is just the BETA version of the component.
hlist_100b1.sit.hqx StuffIt/BinHex 132k
hlist_100b1.sit.bin StuffIt/MacBinary 96k
hlist_100b1.zip ZIP file 128k
 
4D 6.7 Component
This is a BETA version of this software, so we urge not to try out this component in a live copy of any of your applications. Please try it out in a new structure first. This software is offered without any warranties and we'd hate to be responsible for something terrible happening to your application.
hlist_component_100b1.sit.hqx StuffIt/BinHex 80k
hlist_100b1.sit.bin StuffIt/MacBinary 60k
hlist_component_100b1.zip ZIP file 64k

4DZine

When this component is released, it will also be available at the 4D Zine website.

Source Code

This 4D structure is completely open-source. You can use the code however you wish. We only ask that you leave the names of the original authors in the comments of the routines contained within the database. If you have improvements to suggest to the database, we'd love to hear about them and perhaps incorporate them into a future release along with an acknowlegement in the ReadMe and code comments. The email address for contacting us about this database is hlistcomponent@mitchenall.com

 

 


> Home > Resources > News

 
4D Solutions Partner Logo

Last modified: 19 March 2001 by webmaster@mitchenall.com

[Home]
[Services]
[Products]
[Resources]
* Articles & Tutorials
* External Links
* Site Index
* Recommended Reading
[Contacts]
 
Toolbar Component Valid HTML 4.01!
© mitchenall.com
1999-2002
Valid CSS!