Contacts: 1 Setting up a Contact List : 1.4 Alternate Selection Messages

Up: GEOS SDK TechDocs| Up | Prev: 1.3 Detecting Unknown Phone Numbers | Next: 2: Choosing Contacts From a Log

Build 4.3.7 of the Responder (see versions for more information about software versions) supports two methods for selecting contacts from a CCT_PHONE type of contact controller list. If the user quickly presses the Select trigger (F1 on the PC emulator), then, depending on the circumstances, the message specified by ATTR_CONTACT_LIST_NOTIFY_CONTACT_SELECTED_MSG, ATTR_CONTACT_LIST_NOTIFY_NUMBER_ENTERED_MSG, or ATTR_CONTACT_LIST_NOTIFY_MULTIPLE_CONTACTS_SELECTED_MSG is sent. If the user holds the Select trigger for a longer time, an alternate type of message analogous to the normal selection message is sent. These alternate messages include:

ATTR_CONTACT_LIST_ALTERNATE_NOTIFY_CONTACT_SELECTED_MSG
Set this to the message which will be called when the user selects a contact from the list after holding the Select trigger for a long duration. If more than one contact was selected then this message returns the first selection. This message must follow the prototype:
@prototype void CONTACT_LIST_ALTERNATE_NOTIFY_CONTACT_SELECTED_MSG(
                                dword recordID = cx:dx,
                                word fieldID = bp);
fieldID is the ID of the field containing the selected GSM phone number of the record with the ID recordID. This is the same API as that of the normal selection message; you may use the same handler for both messages.
ATTR_CONTACT_LIST_ALTERNATE_NOTIFY_NUMBER_ENTERED_MSG
Set this to the message which should be sent when the user has entered a valid phone number in the search field which does not match any record in the contact list and the user has held the trigger for a long duration. For this message to be sent, CLF_SELECT_CONTACT_NUMBER must be set. The message must follow the prototype:
@prototype void CONTACT_LIST_ALTERNATE_NOTIFY_NUMBER_ENTERED_MSG(
                                MemHandle block = cx);
block will contain the null-terminated phone number.
ATTR_CONTACT_LIST_ALTERNATE_NOTIFY_MULTIPLE_CONTACTS_SELECTED_MSG
Set this to the message which will be sent when the user selects one or more contacts from the list and holds the Select trigger for a long duration. Note that CLF_SELECT_CONTACT_NUMBER and HINT_NON_EXCLUSIVE_LIST must be present for multiple selection contact lists. This message must follow the prototype:
@prototype void CONTACT_LIST_ALTERNATE_NOTIFY_MULTIPLE_CONTACTS_SELECTED_MSG(
                                MemHandle block = cx, 
                                word num = dx);
block will contain the num ContactListSelectedEntry selected items.

Up: GEOS SDK TechDocs| Up | Prev: 1.3 Detecting Unknown Phone Numbers | Next: 2: Choosing Contacts From a Log