Class: List [Obsolete]
Properties | Events | Methods | Index of Classes
Manipulates dynamic lists of information
Hierarchy
Library
Windows Application Class Library
Package
Windows.pkg
Mixins
- Standard_Object_Mixin
- Dflabel_Mixin
- Multi_Item_Shadow_Mixin
- RGB_Support_Temp_Mixin
- Help_Mixin
- Shadow_Mixin
Description
This class is obsolete. It has been replaced by the cCJGrid class.
As of revision 16.0, DataFlex includes full support for Codejock Software's COM Report Control package for creating grids. See Using Grids for more information.
List is used to manipulate and display lists of information. This control class is designed to add, insert, delete, and sort items. In addition, the List class uses a scrollbar object to allow users to see more information and use the mouse to navigate through the list. List objects display a list of items in a single column and allow the user to select one or more items in the List.
Syntax
Use dfbase.pkg
Object oContainer is a ContainerClass
:
Object oObjectName is a List
Set Size to height width
Item_List
On_Item [prompt [Send message [of dest_object]]]
:
End_Item_List
End_Object
End_Object
Argument Explanation
Sample 1
This sample code demonstrates a List object within a dialog.
Use Windows.pkg
Object oDialog is a ModalPanel
Set Size to 10 40
Set Caption_Bar to true
Set Label to "Mechanic Checklist"
Object oList is a List
Set Size to 80 50
Item_List
On_Item "Oil Filter" send None
On_Item "Spark Plugs" send None
On_Item "Tire pressure" send None
On_Item "Brake pad" send None
On_Item "Exhaust" send None
On_Item "Radiator" send None
End_Item_List
End_Object
End_Object
Start_Ui oDialog
Sample 2
This sample code shows a view that allows the user to enter a directory name and file filter (e.g., "c:\windows*.exe") and refresh the list when navigating into it (via Tab).
Use DfAllEnt.Pkg
Use Seq_Chnl.Pkg // Package with I/O channel management functions
ACTIVATE_VIEW Activate_oDirLisView FOR oDirListView
Object oDirListView is a dbView
Set Label to "List the directory"
Set Size to 140 268
Set Location to 6 6
Object oMaskForm is a Form
Set Label to "Mask:"
Set Size to 13 226
Set Location to 5 35
Set Label_Col_Offset to 2
Set Label_Justification_Mode to jMode_Right
End_Object // oMaskForm
Object oDirList is a List
Set Label to "Files:"
Set Size to 102 226
Set Location to 20 35
Set Label_Col_Offset to 2
Set Label_Justification_Mode to jMode_Right
Function FindLastBackSlash String sMask Returns String
Integer iPos
String sDirSeparator sChar
Move (Sysconf (SYSCONF_DIR_SEPARATOR)) To sDirSeparator
Move (Length (sMask) - 1) To iPos
Repeat
Move (Mid (sMask, 1, iPos)) To sChar
Decrement iPos
Until (iPos <= 1 Or sChar = sDirSeparator)
If (sChar = sDirSeparator) Begin
Move (Left (sMask, iPos + 1)) To sMask
End
Function_Return sMask
End_Function // FindLastBackSlash
Procedure GoToDirectory
String sDirEntry sMask
Get Value To sDirEntry
Move (Mid (sDirEntry, Length (sDirEntry) - 2, 2)) To sDirEntry
If (sDirEntry <> "..") Begin
Get Value Of oMaskForm To sMask
If (Right (sMask, 1) <> Sysconf (SYSCONF_DIR_SEPARATOR)) Begin
Move (sMask - Sysconf (SYSCONF_DIR_SEPARATOR)) To sMask
End
Move (sMask - sDirEntry) To sMask
Set Value Of oMaskForm To sMask
Send DoFillList
End
Else Begin
Get Value Of oMaskForm To sMask
Get FindLastBackSlash sMask To sMask
Set Value Of oMaskForm To sMask
Send DoFillList
End
End_Procedure // GoToDirectory
On_Key kEnter Send Default_Key
Procedure Mouse_Click Integer iParam1 Integer iParam2
Forward Send Mouse_Click iParam1 iParam2
If (Message (Self, Current) <> Msg_None) Begin
Send GoToDirectory
End
End_Procedure // Mouse_Click
Procedure DoFillList
String sDirMask sDirEntry
Integer iChannel
Boolean bOldState
Get Dynamic_Update_State To bOldState
Set Dynamic_Update_State To False
Send Delete_Data
Get Value Of oMaskForm To sDirMask
Get Seq_New_Channel To iChannel
If (iChannel >= DF_SEQ_CHANNEL_MIN And iChannel <= DF_SEQ_CHANNEL_MAX) Begin
Direct_Input Channel iChannel ("DIR:" - sDirMask)
While (Not (Seqeof))
Readln sDirEntry
If (Not (Seqeof)) Begin
If (Left (sDirEntry, 1) = '[') Begin
Send Add_Item Msg_GoToDirectory sDirEntry
End
Else Begin
Send Add_Item Msg_None sDirEntry
End
End
End
Close_Input Channel iChannel
Send Seq_Release_Channel iChannel
End
Set Dynamic_Update_State To bOldState
End_Procedure // DoFillList
Procedure Entering
Forward Send Entering
Send DoFillList
End_Procedure // Entering
End_Object // oDirList
End_Object // oDirListView
Of Special Note
List-class objects automatically create their own scrollbar and assign its location and colors to match itself. When the object is activated, deactivated, paged, rotated up, or moved, the scrollbar is automatically manipulated by the List-class object. You may make the scrollbar invisible by setting the object's scroll_bar_visible_state to false.
Use of Item List for Initialization
This class is designed to allow the number of items to change based on the amount of data needed when the program is being executed. Normally, the items are added into the object with the add_item and/or insert_item messages. However, if there is an initial set of items to be used when the object is first created, an item list can be defined in this object. This does not preclude changing the content or number of items later in the program.
Shadowing
Shadowing refers to the process of making an object or an item unavailable for data entry. Usually, the appearance of a shadowed object/item is changed in some way to indicate its unavailability. Two types of shadowing are supported: object shadowing and item shadowing.
This class supports both object and item shadowing. Accordingly, objects of this class will be shadowed whenever an ancestor object is shadowed, and its items can be shadowed individually or all together. The enabled_state and item_shadow_state properties are supported, as well as the entire public interface for shadowing.
Accelerator Keys
See Also