JavaScript Tree Control
|

|
- Overview
- Demo
- Tutorial
- Templates
- Reference
- Portability
- Screenshots
- Rationale
- FAQ
- Acknowledgments
Overview
The JavaScript Tree Control is a simple software component which provides a dynamic hierarchical view of library documentation with a user-interface similar to the the filesystem viewers Windows Explorer or Nautilius. It is designed to allow convenient navigation of documentation while overcoming some of the criticisms of client-side scripting which lead to the current Boost prohibition against JavaScript. (See the ECMAScript/JavaScript Rationale in the Boost Library Requirements and Guidelines.)
Its features include:
- A simple object-oriented interface (see Reference).
- Portable implementation (see Portability and Screenshots).
- Small code size (see Rationale).
- The ability to address arbitrary positions in documentation, for bookmarking or publication (see Rationale).
- Customizability using Cascading Style Sheets (CSS) (see Reference).
Demo
Before continuing with the Tutorial, the reader may wish to view this documentation using a tree control, or view an example website constructed from Templates.
Acknowledgments
-
Robert Ramey's documentation for Boost.Serialization was the inspiration for the tree control component.
-
Matthias Flodin pointed out the importance of ensuring that the control is usable with browsers which do not support scripting or which have had scripting disabled. This lead to the
dump_html feature.
-
Vladimir Prus pointed out the importance of supporting the Konqueror browser and supporting browsers with image loading disabled. The latter consideration lead to the use of the characters
+ and - as clickable icons in place of gif or png images.
-
David Abrahams pointed out the importance of being able to link to arbitrary positions in the documentation. This lead to the
synchronization feature. (See also the Tutorial — 'Viewing Documentation with a Tree Control' — and the Rationale — 'Completely Addresssable.')
-
Reece Dunne and Rene Rivera suggested ways to make documentation using the tree control self-syncrhonizing. (See the Rationale — 'Completely Addresssable.')
-
Martine Wille reported that the tree control is not functional on the Links2 browsers with JavaScript is enabled. This has not yet been fixed. (See Portability.)
Revised
22 July, 2004
© Copyright Jonathan D. Turkanis, 2004
Use, modification, and distribution are subject to the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)