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

Builds 4.3.7 or newer of the Responder (see versions for more information about software versions) support two different 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 period, 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.

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 1 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