List Browsers
From Vectorlab
| This vcor page needs language cleanup.
If you wish to help, clean up the page, then remove me deleting the line "{{Language cleanup}}". In the category:Language cleanup you'll find a list of all pages marked for cleanup. |
List Browsers dissected. By Orso B. Schmid
List Browsers allow for great layout, advanced data management, but also amazing layout features within the single cells. Is not difficult to load them with some text data and make them display a whatever list. Still the advanced settings of List Browsers are quite enigmatic. After years of trial and error, I attempt here to resume what I discovered. If you find an error, I'd be glad to be informed. I am a user and had no reference literature for this article which is based on pure experience, if you are a programmer you will probably find the terms employed not quite the right ones.
Like me, there must be many others who explored extensively List Browsers. Please share your knowledge. Let me know what you know.
Since List Browsers are so complex, the best way to learn how to use them is to have some free code available for experiments. Free code for List Browsers can be counted on one hand and none of the snippets available tells you a single thing about Control Types, Edit Display Types, Item Display Types, Column Data Items and so on. Use the example Dialog with List Browser. It should help experiencing the different List Browser display according to the available options.
This article has been written using VW 13 for compatibility reason. Whenever routines of VW 14 are used, this is mentioned.
For those wishing to deepen the topic: see NSTableView Class (for the MacOs environment).
You'll find a large amount of sub-routines for List Browsers in the category Subroutines - List Browsers.
[edit] List Browsers
The display of List Browsers is determined by the right combination of four settings: Control Type, Display Type, cell's Column Owner and Column Data Items. This is all -pardon my French- bloody difficult, mostly because it is not documented. It resembles a 4D-puzzle.
List Browsers are more than tables of cells, they browse lists. You must imagine them like special containers with built-in lists of data which can be created and used on need. These lists have different validity scope:
- List of icons
- available to the whole List Browser. Items are added with AddLBImage.
- Column Data Items
- available to one column. Items are added with InsertLBColumnDataItem. Column Data Items will often use images from the List Browser's Image list, but they can also contain only strings.
Then List Browsers use special modifiers for changing display and content through the container -lets call it so- Column. You can -but don't have to- define special behaviors for each singular column. For this you use two settings:
- Control Types
- determine HOW the cells inside are meant to be displayed. Columns have seven ways of handling data in their cells and user's response. They are called Control Types.
- Display Types
- determine WHICH DATA the cells inside are meant to display. There are three display types: Text, Image plus the combination of both called: Text and Image. And there are two Display Types: Item Display and Edit Display. Control Types respond to the one or the other.
Last, there are the Cells which can also be specialized in displaying various types of data through:
- Column Owners
- determine WHAT a cell should display. There are nine owner types ranging from generic text and icons up to resource attributes like pen styles, colors or thumbnails. Don't let yourself be misled by the word "column" in "Column Owners", this is a cell property.
| Column Data Items | List Browser set up | ||
|---|---|---|---|
| Resource icons, Strings |
| ||
| Column | Cell | ||
| Control Type
display HOW | Edit/Item Display Type
display WHICH DATA | Column Owner Type
display WHAT | |
|
| ||
- Example Script
In the Dialog with List Browser we create a List Browser with:
- one column for each of the seven Control Types
- one row for each of the nine cell Owners
- each column is connected with a list with three Column Data Items containing both Images and Strings.
Then there are
- one pull-down menu for Item Display
- one pull-down menu for Edit Display
- radio boxes for loading different Data Items: string or image
You are meant to change the values in the pop-up menus Item Display and Edit Display and click around the List Browsers to see what happens. Then experiment with the other available options.
- NOTE
- "Pattern" and "Dual pattern" don't work before VW 2010.
| Introduction | Part 1: Creation and columns | Part 2: Rows and cells |
