#include <cntview.h>
Link against:
cntview.lib
class CContactGroupView : public CContactViewBase, public MContactViewObserver;
Description
Provides a view of a group of contact items.
The view uses an underlying view. For items to appear in the group view, they must exist in the underlying view.
The TGroupType enumeration defines whether the view displays items that belong to the group, items that do not belong to the
group, or items that do not belong to any group.
The group view observes its underlying view so that it is kept up to date if the contents of the underlying view change.
The group can be identified by a contact item ID or by a label, e.g. "family", or "colleagues".
Derivation
CBase
- Base class for all classes to be instantiated on the heap
CContactGroupView
- Provides a view of a group of contact items
Members
Defined in CContactGroupView
:
AllFieldsLC()
Gets a descriptor containing the contents of all fields in an item in the view
AtL()
Gets the contact item ID at the specified view index
CContactViewBase_Reserved_1()
This is a reserved virtual exported function that is used for BC proofing against addition of new exported virtual functions
ContactAtL()
Gets the contact item at the specified view index
ContactViewPreferences()
Gets the underlying view's view preferences
CountL()
Gets the number of contact item IDs in the group view
EShowContactsInGroup
The view contains contact items in the group
EShowContactsNotInAnyGroup
The view contains contact items not in any group
EShowContactsNotInGroup
The view contains contact items not in the group
FindL()
Finds the index into the group view of the specified contact item
HandleContactViewEvent()
Handles an event in an observed contact view
NewL()
Allocates and constructs a CContactGroupView version 1 object, identifying the group by its ID
NewL()
Allocates and constructs a CContactGroupView version 1 object, identifying the group by its label
NewL()
Allocates and constructs a CContactGroupView version 2 object, identifying the group by its ID
NewL()
Allocates and constructs a CContactGroupView version 2 object, identifying the group by its label
SortOrderL()
Gets the underlying view's sort order
TGroupType
Defines the types of contact group view
UpdateGroupViewL()
Populates the group view
Inherited from CBase
:
Inherited from CContactViewBase
:
Close()
Removes an observer from the view's observer array
CompareFieldsL()
Collates two contact items' field contents
ConstructL()
Protected second phase constructor
ContactsMatchingCriteriaL()
Searches all contact items in the view for fields that contain all of the search strings specified
ContactsMatchingPrefixL()
Searches all contact items in the view for fields that contain all of the search strings specified
ECContactViewBaseVirtualFunction1
Identifies the function CContactViewBase::GetContactIdsL()
ECContactViewBaseVirtualFunction2
Identifies the function CContactViewBase::GetContactsMatchingFilterL()
ECContactViewBaseVirtualFunction3
Identifies the function CContactViewBase::InsertContactInView()
EFullSearch
The search uses full wildcard matching so that the search string can occur anywhere in the item's fields
EInitializing
The view is initialising
ENotReady
The view is not ready to be used, for instance immediately after the sort order has changed, or after an error has occurred
EPrefixSearch
The search uses partial wildcard matching so that the search string can only occur at the beginning of the item's fields
EReady
The view is ready to be used
Error()
Gets the recorded error value
FieldsWithSeparatorLC()
Allocates and returns a descriptor filled with the contents of all the fields in a contact item
GetContactIdsL()
Gets an array containing the IDs of the contact items at the specified view indexes
GetViewFindConfigPlugin()
Gets the UID of the view's find configuration plug-in, as set by SetViewFindConfigPlugin()
IdsEqual()
Tests whether the IDs of two contact items are the same
IdsMatch()
Tests whether the IDs of two contact items are the same
IndexesEqual()
Tests whether the view indexes of two contact items are the same
MatchesCriteriaL()
Searches a single contact item for fields that contain one or more search strings
NotifyObserverAsync()
Called to notify a single view observer asynchronously of an event
NotifyObservers()
Called by derived view classes to notify their observers synchronously of an event, by calling their HandleContactViewEvent()
function
Open()
Appends an observer to the view's observer array
OpenL()
Appends an observer to the view's observer array
SetViewFindConfigPlugin()
Sets the UID of the view's find configuration plug-in to use in calls to ContactsMatchingCriteriaL(), ContactsMatchingPrefixL()
and MatchesCriteriaL()
TFunction
Identifies the functions that have been added to CContactViewBase, or that may be added in the future
TSearchType
Search type
TState
Defines the contact view states
TVirtualFunction1Params
Holds the two parameters passed to the helper method GetContactIdsL() from the reserved function CContactViewBase_Reserved_1()
TVirtualFunction2Params
Holds the two parameters passed to the method GetContactsMatchingFilterL() from the reserved function CContactViewBase_Reserved_1()
iDb
iExtension
iState
See also:
Construction and destruction
static IMPORT_C CContactGroupView *NewL(const CContactDatabase &aDb, CContactViewBase &aView, MContactViewObserver &aObserver,
const TContactItemId aGroupId, const TGroupType aGroupType);
Description
Allocates and constructs a CContactGroupView version 1 object, identifying the group by its ID.
A group with the specified ID must exist in the database, otherwise when an attempt is made to update the view, a leave will
occur with KErrNotFound. To create an unfiled view, the group id must be KNullContactId and the group type 'EShowContactsNotInAnyGroup'.
In this case the group id isn't used and no leave will occur.
When adding contacts in the view, MContactViewObserver
observer will receive TContactViewEvent
events with iInt parameter set to KErrNone. When deleting contacts in the view, MContactViewObserver
observer will receive TContactViewEvent
events with iInt parameter set to index into the observed view of the deleted item
Parameters
const CContactDatabase &aDb |
The database containing the contact group.
|
CContactViewBase &aView |
The underlying view.
|
MContactViewObserver &aObserver |
An observer that receives notifications when this view is ready for use and when changes take place in it. The observer receives
a TContactViewEvent::EReady event when the view is ready. An attempt to use the view before this notification causes a panic.
|
const TContactItemId aGroupId |
The ID of the contact group.
|
const TGroupType aGroupType |
Controls whether the view displays items belonging to the group, items that do not belong to the group or items that do not
belong to any group.
|
|
Return value
static IMPORT_C CContactGroupView *NewL(const CContactDatabase &aDb, CContactViewBase &aView, MContactViewObserver &aObserver,
const TDesC &aGroupName, const TGroupType aGroupType);
Description
Allocates and constructs a CContactGroupView version 1 object, identifying the group by its label.
A group with the specified label must exist in the database, otherwise when an attempt is made to update the view, a leave
will occur with KErrNotFound.
When adding contacts in the view, MContactViewObserver
observer will receive TContactViewEvent
events with iInt parameter set to KErrNone. When deleting contacts in the view, MContactViewObserver
observer will receive TContactViewEvent
events with iInt parameter set to index into the observed view of the deleted item
Parameters
const CContactDatabase &aDb |
The database containing the contact group.
|
CContactViewBase &aView |
The underlying view.
|
MContactViewObserver &aObserver |
An observer that receives notifications when this view is ready for use and when changes take place in it. The observer receives
a TContactViewEvent::EReady event when the view is ready. An attempt to use the view before this notification causes a panic.
|
const TDesC &aGroupName |
The group label.
|
const TGroupType aGroupType |
Controls whether the view displays items belonging to the group, items that do not belong to the group or items that do not
belong to any group.
|
|
Return value
static IMPORT_C CContactGroupView *NewL(CContactViewBase &aView, const CContactDatabase &aDb, MContactViewObserver &aObserver,
const TContactItemId aGroupId, const TGroupType aGroupType);
Description
Allocates and constructs a CContactGroupView version 2 object, identifying the group by its ID.
A group with the specified ID must exist in the database, otherwise when an attempt is made to update the view, a leave will
occur with KErrNotFound. To create an unfiled view, the group id must be KNullContactId and the group type 'EShowContactsNotInAnyGroup'.
In this case the group id isn't used and no leave will occur.
When adding/deleting contacts in the view, MContactViewObserver
observer will receive TContactViewEvent
events with iInt parameter set to index into the observed view of the added/deleted item
Parameters
CContactViewBase &aView |
The underlying view.
|
const CContactDatabase &aDb |
The database containing the contact group.
|
MContactViewObserver &aObserver |
An observer that receives notifications when this view is ready for use and when changes take place in it. The observer receives
a TContactViewEvent::EReady event when the view is ready. An attempt to use the view before this notification causes a panic.
|
const TContactItemId aGroupId |
The ID of the contact group.
|
const TGroupType aGroupType |
Controls whether the view displays items belonging to the group, items that do not belong to the group or items that do not
belong to any group.
|
|
Return value
static IMPORT_C CContactGroupView *NewL(CContactViewBase &aView, const CContactDatabase &aDb, MContactViewObserver &aObserver,
const TDesC &aGroupName, const TGroupType aGroupType);
Description
Allocates and constructs a CContactGroupView version 2 object, identifying the group by its label.
A group with the specified label must exist in the database, otherwise when an attempt is made to update the view, a leave
will occur with KErrNotFound.
When adding/deleting contacts in the view, MContactViewObserver
observer will receive TContactViewEvent
events with iInt parameter set to index into the observed view of the added/deleted item
Parameters
CContactViewBase &aView |
The underlying view.
|
const CContactDatabase &aDb |
The database containing the contact group.
|
MContactViewObserver &aObserver |
An observer that receives notifications when this view is ready for use and when changes take place in it. The observer receives
a TContactViewEvent::EReady event when the view is ready. An attempt to use the view before this notification causes a panic.
|
const TDesC &aGroupName |
The group label.
|
const TGroupType aGroupType |
Controls whether the view displays items belonging to the group, items that do not belong to the group or items that do not
belong to any group.
|
|
Return value
CContactViewBase_Reserved_1()
virtual TAny *CContactViewBase_Reserved_1(TFunction aFunction, TAny *aParams);
Description
This is a reserved virtual exported function that is used for BC proofing against addition of new exported virtual functions.
This function now aids addition of new exported virtual methods without having to break BC,by simply having those virtual
methods as non-virtual and helper methods, called from this one and only reserved virtual exported method.A public enumeration
type that is defined in the base class CContactViewBase
identifies which of the helper 'virtual' methods are being called. All derived classes of CContactViewBase
that are public should mandatorily implement this method.
Returns any return values of the helper methods called from this function.
Parameters
TFunction aFunction |
an enum value that identifies which helper method is called.
|
TAny *aParams |
parameters to the helper method being called.
|
|
Return value
TAny * |
Any return values of the helper methods called from this function or NULL.
|
|
virtual TContactItemId AtL(TInt aIndex) const;
Description
Gets the contact item ID at the specified view index.
Parameters
TInt aIndex |
Index into the group view.
|
|
Return value
Leave codes
KErrNotFound |
aIndex is outside the bounds of the array.
|
|
virtual TInt CountL() const;
Description
Gets the number of contact item IDs in the group view.
Return value
TInt
|
The number of contact items in the group view.
|
|
virtual TInt FindL(TContactItemId aId) const;
Description
Finds the index into the group view of the specified contact item.
Parameters
Return value
TInt
|
The index of the first matching item in the view or KErrNotFound if no matching item can be found.
|
|
Leave codes
KErrNotReady |
The view is not ready for use.
|
|
virtual HBufC *AllFieldsLC(TInt aIndex, const TDesC &aSeparator) const;
Description
Gets a descriptor containing the contents of all fields in an item in the view.
The fields are separated by aSeparator.
Parameters
TInt aIndex |
The index into the view of the contact item.
|
const TDesC &aSeparator |
The string to use to separate the fields.
|
|
Return value
HBufC * |
Pointer to the contact item descriptor.
|
|
virtual const CViewContact &ContactAtL(TInt aIndex) const;
Description
Gets the contact item at the specified view index.
Parameters
TInt aIndex |
Index into the view of the required item.
|
|
Return value
Leave codes
KErrNotFound |
aIndex is outside the bounds of the array.
|
|
virtual TContactViewPreferences ContactViewPreferences();
Description
Gets the underlying view's view preferences.
Return value
virtual const RContactViewSortOrder &SortOrderL() const;
Description
Gets the underlying view's sort order.
Return value
protected: virtual IMPORT_C void UpdateGroupViewL();
Description
Populates the group view.
Removes any existing items from the group view then searches the underlying view. The group view is repopulated with those
items, maintaining the order in which they occur in the underlying view.
Leave codes
KErrNotFound |
The group, identified by the label or ID specified during construction, does not exist in the database.
|
|
private: virtual void HandleContactViewEvent(const CContactViewBase &aView, const TContactViewEvent &aEvent);
Description
Handles an event in an observed contact view.
Parameters
TGroupType
Description
Defines the types of contact group view.