************************************************************************
Confidential Trade Secret.
Copyright 1987-1995 Data Access Corporation, Miami FL, USA
All Rights reserved
DataFlex is a registered trademark of Data Access Corporation.
************************************************************************
************************************************************************
Picklist.Pkg
Version: 1.0
11-05-1992 : Created
Author: John J. Tuohy
************************************************************************
**jjt***********************************************************************
picklist.pkg - Modified picklist which is based on List_wide instead
of wide_list. This is identical to picklist.pkg
except when noted (lines marked with //**jjt**).
John Tuohy
**jjt***********************************************************************
************************************************************************
Confidential Trade Secret.
Copyright 1987-1992 Data Access Corporation, Miami FL, USA
All Rights reserved
DataFlex is a registered trademark of Data Access Corporation.
$Source: k:\source.30b\pkg\rcs\picklist.pkg $
$Revision: 1 $
$State: Exp $
$Author: steve-l $
$Date: Apr 01 16:09:16 1997 $
$Locker:  $
$Log:    picklist.pkg $
Revision 1.7  92/06/05  16:32:31  steve-l
altered set current_item occurrances to use set item false/true/2/3 instead,
in order to properly handle displayonly/noenter items on top-of-panel et al.
Revision 1.6  92/05/29  14:06:05  lee
removed end_construct_* messages from mixins; now, classes that use the mixin
send the message that used to be sent by the end_construct_* message (for
efficiency).
Revision 1.5  92/05/14  15:47:38  unknown
Updated Copyright slug - SWM.
Revision 1.4  92/03/29  18:45:08  lee
added MSG_END_CONSTRUCT_OBJECT, moved ENDMAC macro stuff into END_CONSTRUCT-
OBJECT procedures (in .pkgs). moved Flag_ITems to list.pkg after generalizing
it based on PROTOTYPE_OBJECT instead of Whether or not it is a table-oriented
object. Moved define_access_keys mechanism completely into actionbr.pkg.
fixed two typos: import_class_protocol used !# instead of !3, and register-
procedure used !1 instead of !2.
Revision 1.3  92/03/09  19:03:50  james
Added #CHKSUB directive to insure source
only compiled with correct revision of
compiler.
Revision 1.2  92/01/13  17:39:45  steve-l
DAR 2241: send entering retval  changed to  get msg_entering to retval.
Revision 1.1  91/10/23  10:21:59  elsa
Initial revision
************************************************************************/
************************************************************************
File Name: PickList.Pkg
Creation Date: January 1, 1991
Modified Date: January 13, 1992
Author(s): Steven A. Lowe
This module contains the Pick_List class definition.
************************************************************************/
************************************************************************
Version: 1.0
12-01-1992 : Created
Author: John J. Tuohy
1. Adds Stop_UI_State Support to Picklist
2. Creates Move_Value_Out_State property (set when a popup) - Allows lists
in clients.
3. Adds Auto_Locate_State Support
4. Adds movable support (ver 1.1)
05-09-1993  Add Auto_Locate_State support
03/17/94    Item 4 v.1.1
03/20/94    modified add_item so that it does not change the object's
changed_state. Without this creating a new list makes the
item's changed_state true which sets its server's changed_
state to true.  (v1.1)
03-29-1994  (LS) Added Non_Dependent_Item_Mixin (for manual bcst/delg).
************************************************************************/
************************************************************************/
12/22/94 JJT Merge Changes
Merged the 0 class into entry_form.
Added from List.pkg: Activating, Insert_item, Add_item,
Flag_items and Toggle_select.
09/04/95 JJT - Code Clean up (removed dead commented code)
************************************************************************/
2/26/2002  JJT - 8.2 clean up (indirect_file, local, self, etc.)
picklist.pkg  (view source)- import declarations
			
 - pick_list_mixin : mixin
Construct_Object(integer img)
			 
Initialize_List()
			- Integer
pscope - Integer
item# - String
val 
Fill_List()
			invoked by Initialize_List - intended for override
- integer
First_Selected_Item()
			- Integer
count - Integer
maxx 
 
Move_Value_Out()
			- Integer
item# - Integer
obj# - String
val 
- integer
Entering()
			- Integer
retval - Integer
item# - Integer
selMode 
 - integer
Cancel()
			 - integer
Next_Selection()
			returns -1 if no selections
- Integer
selCounter - Integer
retval - Integer
maxx 
 
Entry_Display(integer mfile# integer flag)
			- Integer
item# - Integer
selMode - Integer
file# - String
astr - Integer
iField 
Entry_Update(integer mfile# integer flag)
			- Integer
item# - Integer
file# - Integer
selMode - String
astr - Integer
iField 
Beginning_of_Data()
			
End_of_Data()
			
Clear()
			- Integer
iFile 
Clear_Set()
			
Clear_All()
			
Display()
			
find_servers_to_watch(integer tableFlag)
			override of SERVER.PKG procedure
- Integer
file# - Integer
obj# - Integer
srvr# 
End_Construct_Object()
			
Activating()
			Augment to Support AutoLocate
as of 15.1 we changed all deactivating/activating signatures to not return values (see windows.pkg / ComboForm / Activating for more)
Returns Integer
- Integer
InvokingId - Integer
RVal 
Insert_Item(Integer iMessage String sValue Integer iItem)
			Description
This procedure inserts a new item into the list before the specified
item#, using the specified message id (msg#) and value.
It ensures that the Entry_State of the new item is FALSE, and that
the Checkbox_Item_State of the new item is TRUE if this object's
Radio_State is TRUE.
Assumptions/Preconditions
msg# should be a valid message id or 0.
item# should be a valid item index (between 0 and Item_Count-1).
Exceptions
None.
Notes
After successful execution, the item index of the new item is the same
as the originally specified item#.
Add_Item(integer iMessage string sValue)
			Description
This procedure adds a new item at the end of the list, using the
specified message id (msg#) and value.
It ensures that the Entry_State of the new item is FALSE, and that
the Checkbox_Item_State of the new item is TRUE if this object's
Radio_State is TRUE.
Assumptions/Preconditions
msg# should be a valid message id or 0.
Exceptions
None.
Notes
After successful execution, the item index of the new item is
Item_Count-1.
- Integer
item# - Integer
Oldst 
Toggle_Select()
			(JJT) from list.pkg
Description
This procedure toggles the select_state of the current item unless the
select-mode of this object is no_select, in which case this procedure
mimics the pressing of the space-bar to generate a space character for
incremental search.
Assumptions/Preconditions
This object must understand the Key message as a method of character
input, and must also understand the Select_Toggling message as a method
of altering the select_state of an item.
Exceptions
None.
Notes
Sent by kSpace.
Flag_Items()
			If the list is radio all items should be checkbox. Since this is
now based on list the entry-state is already set to false (no
need to do that).
- Integer
count - Integer
maxx 
 
References (1):
Field References (0):
| Module | Containing Symbol | Line | 
|---|