Abstract
The ListBoxClass is a flexible and efficient boopsi gadget class which replaces the original GadTools LISTVIEW_KIND gadget and offers a lot more functionality. It's a subclass of the groupgclass and incorporates several other gadgets to build a full featured listview with vertical and horizontal scroll bars, a surrounding border and, of course, a ListView object.
The ListViewClass is a subclass of Intuition's gadgetclass which builds a plain listview gadget without any border or scroll bars. It handles selection of multiple items and it can be resized on the fly. The GFLG_REL#? attributes are fully supported and you can even display a list of images and other boopsi objects. Lists with multiple columns are possible but not yet implemented. Horizontal scrolling would also be easy to add. Usually you don't need to create objects from this class directly because the ListBoxClass will do it for you.
The LVDemo program demonstrates the usage of both classes. The ListViewClass is attached to scroll bars in the window borders. The demo is also a useful source of information on several Intuition and boopsi topics.
Introduction
I've started writing these classes because I needed a better
ListView for XModule. Eventually
it has now grown to a standalone project. While I was developing this class
I had the idea to write some macros to replace the amiga.lib boopsi stubs,
and so I made some useful header files that I'm now using in several other projects:
Features
Source code
The full source code is distributed along with the binaries for educational pourposes. It will show you how to:
License
This software is distributed under the GNU General Public License.
Distribution You can download the binary and source code distribution archive right here:
BoopsiListView.lha V1.7 ALPHA [164KB]
BoopsiListView.lzx V1.7 ALPHA [118KB]
BoopsiListView (unpacked) V1.7 ALPHA
Three different binary versions are provided:
Works even on plain 68000 systems and includes OS 2.0 support
Optimized for 68020, no OS 2.0 support
Outputs debug messages with kprintf(), which you can view by hooking a terminal to the serial port or with a debug tool such as sushi or Sashimi.
Copyright © 1999,2007 by Bernie Innocenti
$Id: BLV.html,v 1.3 2000/01/12 19:48:53 bernie Exp $