1.1 --- a/epoc32/include/cntview.h Tue Mar 16 16:12:26 2010 +0000
1.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
1.3 @@ -1,480 +0,0 @@
1.4 -// Copyright (c) 2001-2009 Nokia Corporation and/or its subsidiary(-ies).
1.5 -// All rights reserved.
1.6 -// This component and the accompanying materials are made available
1.7 -// under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members
1.8 -// which accompanies this distribution, and is available
1.9 -// at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
1.10 -//
1.11 -// Initial Contributors:
1.12 -// Nokia Corporation - initial contribution.
1.13 -//
1.14 -// Contributors:
1.15 -//
1.16 -// Description:
1.17 -//
1.18 -
1.19 -#ifndef __CNTVIEW_H__
1.20 -#define __CNTVIEW_H__
1.21 -
1.22 -#include <cntviewbase.h>
1.23 -
1.24 -/** The maximum length of the string used by contact sub view ranges to find the
1.25 -item at the upper or lower limit of the range.
1.26 -
1.27 -In practice, only the first character in the string is used and this value
1.28 -is ignored. */
1.29 -const TInt KMaxBoundaryMatchLength=8;
1.30 -
1.31 -class CContactGroupView: public CContactViewBase, public MContactViewObserver
1.32 -/** Provides a view of a group of contact items.
1.33 -
1.34 -The view uses an underlying view. For items to appear in the group view, they
1.35 -must exist in the underlying view.
1.36 -
1.37 -The TGroupType enumeration defines whether the view displays items that belong
1.38 -to the group, items that do not belong to the group, or items that do not
1.39 -belong to any group.
1.40 -
1.41 -The group view observes its underlying view so that it is kept up to date
1.42 -if the contents of the underlying view change.
1.43 -
1.44 -The group can be identified by a contact item ID or by a label, e.g. "family",
1.45 -or "colleagues".
1.46 -
1.47 -@see CContactGroup
1.48 -@publishedAll
1.49 -@released
1.50 -*/
1.51 - {
1.52 -friend class CGroupViewTester;
1.53 -public:
1.54 - /** Defines the types of contact group view. */
1.55 - enum TGroupType
1.56 - {
1.57 - /** The view contains contact items in the group. */
1.58 - EShowContactsInGroup,
1.59 - /** The view contains contact items not in the group. */
1.60 - EShowContactsNotInGroup,
1.61 - /** The view contains contact items not in any group. */
1.62 - EShowContactsNotInAnyGroup
1.63 - };
1.64 -public:
1.65 - IMPORT_C static CContactGroupView* NewL(const CContactDatabase& aDb,CContactViewBase& aView,MContactViewObserver& aObserver,const TContactItemId aGroupId,const TGroupType aGroupType);
1.66 - IMPORT_C static CContactGroupView* NewL(const CContactDatabase& aDb,CContactViewBase& aView,MContactViewObserver& aObserver, const TDesC& aGroupName,const TGroupType aGroupType);
1.67 -
1.68 - // Factory constructor for version 2 behaviour
1.69 - IMPORT_C static CContactGroupView* NewL(CContactViewBase& aView,const CContactDatabase& aDb, MContactViewObserver& aObserver,const TContactItemId aGroupId,const TGroupType aGroupType);
1.70 - // Factory constructor for version 2 behaviour
1.71 - IMPORT_C static CContactGroupView* NewL(CContactViewBase& aView,const CContactDatabase& aDb, MContactViewObserver& aObserver, const TDesC& aGroupName,const TGroupType aGroupType);
1.72 - //All CContactViewBase derived classes in public headers,
1.73 - //should mandatorily implement this reserved function.
1.74 - TAny* CContactViewBase_Reserved_1(TFunction aFunction,TAny* aParams);
1.75 - ~CContactGroupView();
1.76 -public: // From CContactViewBase
1.77 - TContactItemId AtL(TInt aIndex) const;
1.78 - TInt CountL() const;
1.79 - TInt FindL(TContactItemId aId) const;
1.80 - HBufC* AllFieldsLC(TInt aIndex,const TDesC& aSeparator) const;
1.81 - const CViewContact& ContactAtL(TInt aIndex) const;
1.82 - TContactViewPreferences ContactViewPreferences();
1.83 - const RContactViewSortOrder& SortOrderL() const;
1.84 -protected:
1.85 - IMPORT_C virtual void UpdateGroupViewL();
1.86 -private: // From MContactViewObserver.
1.87 - void HandleContactViewEvent(const CContactViewBase& aView,const TContactViewEvent& aEvent);
1.88 -private:
1.89 - void ConstructL(MContactViewObserver& aObserver,TContactItemId aGroupId);
1.90 - void UpdateForContactsInGroupL();
1.91 - void UpdateForContactsNotInThisGroupL();
1.92 - void UpdateForUnfiledContactsL();
1.93 - void UpdateForContactListL(const CContactIdArray* aArray);
1.94 - TContactItemId GetGroupIdbyNameL(const TDesC& aGroupName);
1.95 - TBool HandleRemoveEventL(TContactViewEvent& aEvent);
1.96 - TBool HandleAddEventL(TContactViewEvent& aEvent);
1.97 - TBool HandleAddEventForUnfiledContactsL(const TContactViewEvent& aEvent );
1.98 - static TInt CompareMappingsL(const TContactIdWithMapping& aFirst,const TContactIdWithMapping& aSecond);
1.99 - TInt static CompareIndexesAllowingDuplicates(const TContactIdWithMapping& aFirst, const TContactIdWithMapping& aSecond);
1.100 -private:
1.101 - CContactGroupView(const CContactDatabase& aDb,CContactViewBase& aView,TGroupType aGroupType);
1.102 - void UpdateMappingsL();
1.103 - void NotifyRemovedMembersL(const CContactIdArray* aArray);
1.104 -private:
1.105 - RArray<TContactIdWithMapping> iGroupContacts;
1.106 - TContactItemId iGroupId;
1.107 - CContactViewBase& iView;
1.108 - TGroupType iGroupType;
1.109 - TUint iClassVersion; //version class - used for TContactViewEvent dispatching
1.110 - };
1.111 -
1.112 -
1.113 -class CContactFindView: public CContactViewBase, public MContactViewObserver
1.114 -/** Provides a view of an existing CContactViewBase-derived object, populated using
1.115 -search criteria.
1.116 -
1.117 -The find view only contains contact items from the underlying view that match
1.118 -the search criteria.
1.119 -
1.120 -The find view observes its underlying view so that it is kept up to date if
1.121 -the contents of the underlying view change.
1.122 -
1.123 -The search criteria (one or more words) are held in an MDesCArray object.
1.124 -The fields involved in the search are those that have been used to sort the
1.125 -underlying view.
1.126 -@publishedAll
1.127 -@released
1.128 -*/
1.129 - {
1.130 -public:
1.131 - IMPORT_C static CContactFindView* NewL(const CContactDatabase& aDb,CContactViewBase& aView,MContactViewObserver& aObserver,MDesCArray* aFindWords);
1.132 - IMPORT_C static CContactFindView* NewL(const CContactDatabase& aDb,CContactViewBase& aView,MContactViewObserver& aObserver,MDesCArray* aFindWords, TSearchType aSearchType);
1.133 -
1.134 - // Factory constructor for version 2 behaviour
1.135 - IMPORT_C static CContactFindView* NewL(CContactViewBase& aView,const CContactDatabase& aDb,MContactViewObserver& aObserver,MDesCArray* aFindWords);
1.136 - // Factory constructor for version 2 behaviour
1.137 - IMPORT_C static CContactFindView* NewL(CContactViewBase& aView,const CContactDatabase& aDb,MContactViewObserver& aObserver,MDesCArray* aFindWords, TSearchType aSearchType);
1.138 -
1.139 - ~CContactFindView();
1.140 -public: // From CContactViewBase
1.141 - TContactItemId AtL(TInt aIndex) const;
1.142 - TInt CountL() const;
1.143 - TInt FindL(TContactItemId aId) const;
1.144 - HBufC* AllFieldsLC(TInt aIndex,const TDesC& aSeparator) const;
1.145 - const CViewContact& ContactAtL(TInt aIndex) const;
1.146 - TContactViewPreferences ContactViewPreferences();
1.147 - const RContactViewSortOrder& SortOrderL() const;
1.148 -protected:
1.149 - IMPORT_C virtual void UpdateFindViewL();
1.150 -public:
1.151 - IMPORT_C void RefineFindViewL(MDesCArray* aFindWords);
1.152 - //All CContactViewBase derived classes in public headers,
1.153 - //should mandatorily implement this reserved function.
1.154 - TAny* CContactViewBase_Reserved_1(TFunction aFunction,TAny* aParams);
1.155 -private: // From MContactViewObserver.
1.156 - virtual void HandleContactViewEvent(const CContactViewBase& aView,const TContactViewEvent& aEvent);
1.157 -private:
1.158 - void ConstructL(MContactViewObserver& aObserver,MDesCArray* aFindWords);
1.159 - void DeleteFindContacts();
1.160 - void TightenFindViewCriteriaL();
1.161 - void HandleRemoveEventL(TContactViewEvent& aEvent);
1.162 - void HandleAddEventL(TContactViewEvent& aEvent);
1.163 - void CopyNewFindWordsL(MDesCArray* aFindWords);
1.164 - void DestroyFindWordsArray();
1.165 - TInt InsertContact(const CViewContact* aNewContact);
1.166 -private:
1.167 - CContactFindView(const CContactDatabase& aDb,CContactViewBase& aView, TSearchType aSearchType);
1.168 -private:
1.169 - RPointerArray<CViewContact> iFindContacts;
1.170 - CPtrCArray* iFindWords;
1.171 - CContactViewBase& iView;
1.172 - const TSearchType iSearchType;
1.173 - TUint iClassVersion; //version class - used for TContactViewEvent dispatching
1.174 - };
1.175 -
1.176 -
1.177 -class CContactFilteredView : public CContactViewBase, public MContactViewObserver
1.178 -/** Provides a filtered view over an existing CContactViewBase derived object.
1.179 -
1.180 -For example, it might provide a view containing only contacts that have an
1.181 -email address. For efficiency reasons there are a limited set of filters available
1.182 -(defined in CContactDatabase::TContactViewFilter).
1.183 -
1.184 -The filtered view observes its underlying view so that it is kept up to date
1.185 -if the contents of the underlying view change. It will, in turn, notify its
1.186 -observers.
1.187 -
1.188 -Filters only apply to non-hidden contact fields with content.
1.189 -@publishedAll
1.190 -@released
1.191 -*/
1.192 - {
1.193 -public:
1.194 - IMPORT_C static CContactFilteredView* NewL(MContactViewObserver& aObserver,const CContactDatabase& aDb,CContactViewBase& aView,TInt aFilter);
1.195 - // Factory constructor for version 2 behaviour
1.196 - IMPORT_C static CContactFilteredView* NewL(CContactViewBase& aView,const CContactDatabase& aDb,MContactViewObserver& aObserver,TInt aFilter);
1.197 -
1.198 - //All CContactViewBase derived classes in public headers,
1.199 - //should mandatorily implement this reserved function.
1.200 - TAny* CContactViewBase_Reserved_1(TFunction aFunction,TAny* aParams);
1.201 - ~CContactFilteredView();
1.202 -public: // From CContactViewBase.
1.203 - TContactItemId AtL(TInt aIndex) const;
1.204 - TInt CountL() const;
1.205 - TInt FindL(TContactItemId aId) const;
1.206 - HBufC* AllFieldsLC(TInt aIndex,const TDesC& aSeparator) const;
1.207 - const CViewContact& ContactAtL(TInt aIndex) const;
1.208 - TContactViewPreferences ContactViewPreferences();
1.209 - const RContactViewSortOrder& SortOrderL() const;
1.210 - virtual void ContactsMatchingCriteriaL(const MDesCArray& aFindWords,RPointerArray<CViewContact>& aMatchedContacts);
1.211 - virtual void ContactsMatchingPrefixL(const MDesCArray& aFindWords, RPointerArray<CViewContact>& aMatchedContacts);
1.212 -private: // From MContactViewObserver.
1.213 - virtual void HandleContactViewEvent(const CContactViewBase& aView,const TContactViewEvent& aEvent);
1.214 -private:
1.215 - CContactFilteredView(const CContactDatabase& aDb,TInt aFilter,CContactViewBase& aView);
1.216 - void ConstructL(MContactViewObserver& aObserver);
1.217 - void CreateFilteredIdArray();
1.218 - void UpdateFilteredIdArrayL(TContactViewEvent& aEvent, TBool& aViewModified);
1.219 - void HandleAddEventL(TContactViewEvent& aEvent, TBool& aViewModified);
1.220 - void HandleRemoveEventL(TContactViewEvent& aEvent, TBool& aViewModified);
1.221 - TInt BinaryInsertL(TContactIdWithMapping aId);
1.222 - static TInt FilterCallBack(TAny* aSelf);
1.223 - static TBool CompareMappings(const TContactIdWithMapping& aFirst,const TContactIdWithMapping& aSecond);
1.224 - void FilterResultsArray(RPointerArray<CViewContact>& aMatchedContacts);
1.225 - TInt DoFilterIncrementL();
1.226 - void UpdateMappingsL();
1.227 -private:
1.228 - const TInt iFilter;
1.229 - CContactViewBase& iView;
1.230 - RArray<TContactIdWithMapping> iFilteredIdArray;
1.231 - TUint iClassVersion; //version class - used for TContactViewEvent dispatching
1.232 - };
1.233 -
1.234 -
1.235 -class CContactViewRangeBase : public CBase
1.236 -/** The abstract base class for all contact view range classes.
1.237 -
1.238 -Range classes are used by contact sub views to specify the upper and lower
1.239 -range boundaries and for searching their underlying view.
1.240 -
1.241 -@see CContactSubView
1.242 -@publishedAll
1.243 -@released
1.244 -*/
1.245 - {
1.246 -public:
1.247 - /** Defines the range criteria. */
1.248 - enum TCriteria
1.249 - {
1.250 - /** Less than. */
1.251 - ELessThan,
1.252 - /** Less than or equal to. */
1.253 - ELessThanOrEqualTo,
1.254 - /** Greater than. */
1.255 - EGreaterThan,
1.256 - /** Greater than or equal to. */
1.257 - EGreaterThanOrEqualTo
1.258 - };
1.259 -public:
1.260 - ~CContactViewRangeBase();
1.261 - inline TInt LowIndex() const;
1.262 - inline TInt HighIndex() const;
1.263 - /** Sets the iLow and iHigh members. */
1.264 - virtual void SetL()=0;
1.265 - IMPORT_C TBool IndicesValid() const;
1.266 -protected:
1.267 - CContactViewRangeBase(const CContactViewBase& aView);
1.268 - void ConstructL();
1.269 - TInt FindIndexL(const TDesC& aMatch,TCriteria aCriteria) const;
1.270 - TBool MatchesCriteriaL(TCriteria aCriteria,const TDesC& aMatch,TInt aIndex) const;
1.271 - void ValidateIndices();
1.272 -protected:
1.273 - /** The sub view's underlying view. */
1.274 - const CContactViewBase& iView;
1.275 - /** The index into the sub view's underlying view of the item at the lower limit
1.276 - of the range. */
1.277 - TInt iLow;
1.278 - /** The index into the sub view's underlying view of the item at the upper limit
1.279 - of the range. */
1.280 - TInt iHigh;
1.281 - //ChrisD: contain by value not ptr
1.282 - /** The collation method used to sort the strings.
1.283 -
1.284 - By default, this is the standard collation method for the current locale. */
1.285 - TCollationMethod* iCollateMethod;
1.286 - };
1.287 -
1.288 -
1.289 -class CContactViewRange : public CContactViewRangeBase
1.290 -/** A sub view range with both a lower and upper limit.
1.291 -
1.292 -This is used by sub views when lower and upper boundary criteria are specified.
1.293 -
1.294 -@see CContactSubView
1.295 -@publishedAll
1.296 -@released
1.297 -*/
1.298 - {
1.299 -public:
1.300 - ~CContactViewRange();
1.301 - IMPORT_C static CContactViewRange* NewL(const CContactViewBase& aView,const TDesC& aLowMatch,TCriteria aLowCriteria,const TDesC& aHighMatch,TCriteria aHighCriteria);
1.302 -private: // From CContactViewRangeBase.
1.303 - void SetL();
1.304 -private:
1.305 - CContactViewRange(const CContactViewBase& aView,const TDesC& aLowMatch,TCriteria aLowCriteria,const TDesC& aHighMatch,TCriteria aHighCriteria);
1.306 - void ConstructL();
1.307 -private:
1.308 - TBuf<KMaxBoundaryMatchLength> iLowMatch;
1.309 - TCriteria iLowCriteria;
1.310 - TBuf<KMaxBoundaryMatchLength> iHighMatch;
1.311 - TCriteria iHighCriteria;
1.312 - };
1.313 -
1.314 -
1.315 -class CContactViewLowRange : public CContactViewRangeBase
1.316 -/** A sub view range with an upper limit only.
1.317 -
1.318 -This is used by sub views when the range criteria are CContactViewRangeBase::ELessThan
1.319 -or CContactViewRangeBase::ELessThanOrEqualTo.
1.320 -
1.321 -@see CContactSubView
1.322 -@publishedAll
1.323 -@released
1.324 -*/
1.325 - {
1.326 -public:
1.327 - IMPORT_C static CContactViewLowRange* NewL(const CContactViewBase& aView,const TDesC& aMatch,TCriteria aCriteria);
1.328 -private: // From CContactViewRangeBase.
1.329 - void SetL();
1.330 -private:
1.331 - CContactViewLowRange(const CContactViewBase& aView,const TDesC& aMatch,TCriteria aCriteria);
1.332 -//ChrisD: why private d'tor
1.333 - ~CContactViewLowRange();
1.334 -private:
1.335 - TBuf<KMaxBoundaryMatchLength> iMatch;
1.336 - TCriteria iCriteria;
1.337 - };
1.338 -
1.339 -
1.340 -class CContactViewHighRange : public CContactViewRangeBase
1.341 -/** A sub view range with a lower limit only.
1.342 -
1.343 -This is used by sub views when the range criteria are CContactViewRangeBase::EGreaterThan
1.344 -or CContactViewRangeBase::EGreaterThanOrEqualTo.
1.345 -
1.346 -@see CContactSubView
1.347 -@publishedAll
1.348 -@released
1.349 -*/
1.350 - {
1.351 -public:
1.352 - IMPORT_C static CContactViewHighRange* NewL(const CContactViewBase& aView,const TDesC& aMatch,TCriteria aCriteria);
1.353 -private: // From CContactViewRangeBase.
1.354 - void SetL();
1.355 -private:
1.356 - CContactViewHighRange(const CContactViewBase& aView,const TDesC& aMatch,TCriteria aCriteria);
1.357 -//ChrisD: why private d'tor
1.358 - ~CContactViewHighRange();
1.359 -private:
1.360 - TBuf<KMaxBoundaryMatchLength> iMatch;
1.361 - TCriteria iCriteria;
1.362 - };
1.363 -
1.364 -
1.365 -class CContactSubView : public CContactViewBase, public MContactViewObserver
1.366 -/** Provides a view of a range of contact items from a potentially larger underlying
1.367 -view (another CContactViewBase-derived object).
1.368 -
1.369 -All contact items between a lower and upper boundary in the underlying view
1.370 -are included in the sub view. For example, the sub view might contain all
1.371 -items whose name begins with a character between 'd' and 'f'.
1.372 -
1.373 -The sub view observes its underlying view so that as the underlying view changes,
1.374 -the sub view is kept up to date.
1.375 -@publishedAll
1.376 -@released
1.377 -*/
1.378 - {
1.379 -public:
1.380 - IMPORT_C static CContactSubView* NewL(MContactViewObserver& aObserver,const CContactDatabase& aDb,CContactViewBase& aView,const TDesC& aBoundary);//>= > is infinity <= < =0;
1.381 - IMPORT_C static CContactSubView* NewL(MContactViewObserver& aObserver,const CContactDatabase& aDb,CContactViewBase& aView,const TDesC& aLowBoundary,const TDesC& aHighBoundary);
1.382 -
1.383 - // Factory constructor for version 2 behaviour
1.384 - IMPORT_C static CContactSubView* NewL(CContactViewBase& aView,const CContactDatabase& aDb,MContactViewObserver& aObserver,const TDesC& aBoundary);//>= > is infinity <= < =0;
1.385 - // Factory constructor for version 2 behaviour
1.386 - IMPORT_C static CContactSubView* NewL(CContactViewBase& aView,const CContactDatabase& aDb,MContactViewObserver& aObserver,const TDesC& aLowBoundary,const TDesC& aHighBoundary);
1.387 -
1.388 - //All CContactViewBase derived classes in public headers,
1.389 - //should mandatorily implement this reserved function.
1.390 - TAny* CContactViewBase_Reserved_1(TFunction aFunction,TAny* aParams);
1.391 -public: // From CContactViewBase.
1.392 - TContactItemId AtL(TInt aIndex) const;
1.393 - TInt CountL() const;
1.394 - TInt FindL(TContactItemId aId) const;
1.395 - HBufC* AllFieldsLC(TInt aIndex,const TDesC& aSeparator) const;
1.396 - const CViewContact& ContactAtL(TInt aIndex) const;
1.397 - TContactViewPreferences ContactViewPreferences();
1.398 - const RContactViewSortOrder& SortOrderL() const;
1.399 -private: // From MContactViewObserver.
1.400 - virtual void HandleContactViewEvent(const CContactViewBase& aView,const TContactViewEvent& aEvent);
1.401 -private:
1.402 -//ChrisD: why private d'tor
1.403 - ~CContactSubView();
1.404 - CContactSubView(const CContactDatabase& aDb,CContactViewBase& aView);
1.405 - CContactSubView(const CContactDatabase& aDb,const CContactSubView& aView);
1.406 - void CommonConstructL(MContactViewObserver& aObserver);
1.407 - void ConstructL(MContactViewObserver& aObserver,const TDesC& aBoundary);
1.408 - void ConstructL(MContactViewObserver& aObserver,const CContactSubView& aView);
1.409 - void ConstructL(MContactViewObserver& aObserver,const CContactSubView& aView,const TDesC& aBoundary);
1.410 - void ConstructL(MContactViewObserver& aObserver,const TDesC& aLowBoundary,const TDesC& aHighBoundary);
1.411 - CContactViewRangeBase::TCriteria DecodeBoundary(TDes& aBoundary) const;
1.412 - TInt MapToUnderlyingViewIndex(TInt aSubViewIndex) const;
1.413 - TInt MapToSubViewIndex(TInt aUnderlyingViewIndex) const;
1.414 -private:
1.415 - CContactViewBase& iView;
1.416 - CContactViewRangeBase* iRange;
1.417 - TUint iClassVersion; //version class - used for TContactViewEvent dispatching
1.418 - };
1.419 -
1.420 -
1.421 -class CContactConcatenatedView : public CContactViewBase, public MContactViewObserver
1.422 -/** Concatenates multiple contact views into a single contiguous view.
1.423 -
1.424 -The component views are ordered according to their order in the array passed
1.425 -into the NewL().
1.426 -@publishedAll
1.427 -@released
1.428 -*/
1.429 - {
1.430 -public:
1.431 - IMPORT_C static CContactConcatenatedView* NewL(MContactViewObserver& aObserver,const CContactDatabase& aDb,RPointerArray<CContactViewBase>& aComponentViews);
1.432 - //All CContactViewBase derived classes in public headers,
1.433 - //should mandatorily implement this reserved function.
1.434 - TAny* CContactViewBase_Reserved_1(TFunction aFunction,TAny* aParams);
1.435 -public: // From CContactViewBase.
1.436 - TContactItemId AtL(TInt aIndex) const;
1.437 - TInt CountL() const;
1.438 - TInt FindL(TContactItemId aId) const;
1.439 - HBufC* AllFieldsLC(TInt aIndex,const TDesC& aSeparator) const;
1.440 - const CViewContact& ContactAtL(TInt aIndex) const;
1.441 - TContactViewPreferences ContactViewPreferences();
1.442 - const RContactViewSortOrder& SortOrderL() const;
1.443 -private: // From MContactViewObserver.
1.444 - virtual void HandleContactViewEvent(const CContactViewBase& aView,const TContactViewEvent& aEvent);
1.445 -private:
1.446 - struct TComponentView
1.447 - {
1.448 - TComponentView(CContactViewBase& aView,TState aState);
1.449 - CContactViewBase& iView;
1.450 - TState iState;
1.451 - };
1.452 -private:
1.453 - ~CContactConcatenatedView();
1.454 - CContactConcatenatedView(const CContactDatabase& aDb);
1.455 - void ConstructL(MContactViewObserver& aObserver,RPointerArray<CContactViewBase>& aComponentViews);
1.456 - void CopyComponentViewsL(RPointerArray<CContactViewBase>& aComponentViews);
1.457 - void OpenComponentViewsL();
1.458 - void CloseComponentViews();
1.459 - TBool ComponentViewsReady();
1.460 - void SetComponentViewReady(const CContactViewBase& aView);
1.461 - TInt OffsetL(const CContactViewBase& aView);
1.462 - static TBool ComponentViewsEqual(const TComponentView& aFirst,const TComponentView& aSecond);
1.463 - TInt FindComponentView(const CContactViewBase& aView);
1.464 -private:
1.465 - RArray<TComponentView> iComponentView;
1.466 - };
1.467 -
1.468 -
1.469 -inline TInt CContactViewRangeBase::LowIndex() const
1.470 -/** Gets the index into the sub view's underlying view of the item at the bottom
1.471 -of the range.
1.472 -
1.473 -@return The index of the item at the bottom of the range. */
1.474 - { return iLow; }
1.475 -
1.476 -inline TInt CContactViewRangeBase::HighIndex() const
1.477 -/** Gets the index into the sub view's underlying view of the item at the top of
1.478 -the range.
1.479 -
1.480 -@return The index of the item at the top of the range. */
1.481 - { return iHigh; }
1.482 -
1.483 -#endif