Class: List

Module location: Windows.pkg line 3982 (view source)

Class: List 1. Add Standard entry support

Class Hierarchy:

DFBaseListBoxList

Mixins:

Dflabel_Mixin, Multi_Item_Shadow_Mixin, Standard_Object_Mixin,

Direct Known Subclasses:

AbstractTreeView,

Class Definition

Functions and Procedures

Construct_Object()
OnChange()
Page(integer bState)
The following procedures should be moved to C code. This resolves certain issues with mapping DF list controls to windows controls. Users are encouraged to only use two modes of list selection: select_mode = MULTI_SELECT | SINGLE_SELECT DO NOT use NO_Select - it won't work right. Special functionality to Note: 1. Set Select_Count to TRUE : If multi-select sets all select-states to TRUE if single-select sets current item to TRUE Set Select_Count to FALSE: Sets all items to false 2. Space bar no Longer toggles select state. If you want this. Create the following: on_key key_space send toggle_Current_item 3. There is no message that is fired every time the select-state changes. 4. There is no message that ALWAYS gets sent when an object's select_state is toggled (e.g. marking range via shift+mouse). Do not use set select_state or item_changed_state for multi-select augmentations. With single select lists you CAN use set current_item or set Select_State when paging non-multi lists the select-state item is lost. This fixes this
integerSelect_Count()
The internal Select_Count gets hopelessly out of synch with the select count in the windows control. Here is what we must do: 1. If no-window control -find the count the hard way. Count them! 2. If window control and Multi select: Forward get count this works because when paged, DF just gets the LB_SELCOUNT property which is right) 3. If window control and not multi: Will either be 0 or 1. Check current_item to see if it is selected. We can't use LB_SELCOUNT because it returns -1
Set(Integer iItem)
Inherited from Standard_Object_Mixin
set(integer bState)
Inherited from Standard_Object_Mixin
Set Select_Count is supposed to clear or select all items. This fixes it to do the following: If F - clear all selected items if T and Multi - Select all items If T and not Multi - Set select-state of current item to True
Set(Integer iItm Integer bSt)
Inherited from Standard_Object_Mixin
Correct select-states for paged lists. When the list is not paged it is fine. When paged, and singlethe only way to get the item selected is to set its current_item. The only way to clear a selected item is to send the windows message LB_SERCURSEL when multi, we need to send windows messages LB_SETSEL
toggle_Current_item()

References (2):

ModuleContaining SymbolLine
Dftreevw.pkgAbstractTreeView141
ReportInformationCR.rvoSortOrderList128