diff -r 8bda91a87a00 -r 8ee96d21d9bf gsprofilesrv_plat/settings_listbox_api/inc/GSListBox.h --- a/gsprofilesrv_plat/settings_listbox_api/inc/GSListBox.h Thu Aug 19 10:12:30 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,257 +0,0 @@ -/* -* Copyright (c) 2003-2005 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "Eclipse Public License v1.0" -* which accompanies this distribution, and is available -* at the URL "http://www.eclipse.org/legal/epl-v10.html". -* -* Initial Contributors: -* Nokia Corporation - initial contribution. -* -* Contributors: -* -* Description: -* class description for CGSListBox & CGSListBoxItemTextArray. -* -*/ - - - -#ifndef GS_LIST_BOX_H -#define GS_LIST_BOX_H - -#include -#include -#include -#include - -class CAknRadioButtonSettingPage; -class CEikListBox; - - -/*================================================ -* CGSListboxEntry: class to map feature->item index when selected -* from a listbox. This is required when there are features which are -* dynamically shown/hidden. -================================================*/ -class CGSListboxEntry : public CBase - { - public: - IMPORT_C static CGSListboxEntry* NewLC( TResourceReader& aReader ); - IMPORT_C static CGSListboxEntry* NewLC( TInt aFeatureId ); - IMPORT_C static CGSListboxEntry* NewLC( - TUint32 aResId, CCoeEnv& aEnv, TInt aFeatureId ); - IMPORT_C ~CGSListboxEntry(); - - public: // Accessors - IMPORT_C TInt FeatureId() const; - IMPORT_C const TDesC& Caption() const; - IMPORT_C TInt Type() const; - - public: // Manipulators - IMPORT_C void SetDynamicTextL( const TDesC& aText ); - IMPORT_C void SetDynamicTextDoublePaneL( const TDesC& aText ); - - private: - CGSListboxEntry(); - void ConstructL( TResourceReader& aReader ); - void ConstructL( TUint32 aResId, CCoeEnv& aEnv, TInt aFeatureId ); - - private: - inline TInt StaticTextLength() const { return iStaticTextLength; } - - private: - - /** - * The length of the static text which does not change - */ - TInt iStaticTextLength; - - /** - * The static text and dynamic text combined. We can always - * change the dynamic part due to the fact that we know - * the length (prefix) of the static part. - */ - HBufC* iCaption; - - /** - * One of either EGSListBoxItemTypeIsAlwaysVisible or - * EGSListBoxItemTypeIsDynamic - */ - TInt iType; - - /** - * The id of this feature - */ - TInt iFeatureId; - - /** - * Maximum Length of the Dynamic text which doesnot change.. - * This has been added after inclusion Double Pane List Box - */ - TInt iDynamicTextSize; - }; - - - -/*================================================ -================================================*/ -class CGSItemTextArray : public CBase, public MDesCArray - { - public: - enum TVisibility - { - EInvisible = 0, - EVisible = 1 - }; - - public: - IMPORT_C static CGSItemTextArray* NewL( - TUint32 aResId, - CCoeEnv& aEnv ); - ~CGSItemTextArray(); - - protected: - CGSItemTextArray(); - void ConstructL( TUint32 aResId, CCoeEnv& aEnv ); - void ConstructL( TUint32 aResId, CCoeEnv& aEnv, TInt aCount ); - - public: // From MDesCArray - IMPORT_C TInt MdcaCount() const; - IMPORT_C TPtrC MdcaPoint( TInt aIndex ) const; - - public: // API - - /** - * Used to add dynamic text to the end of an existing model item - */ - IMPORT_C void SetDynamicTextL( TInt aFeatureId, - const TDesC& aAdditionalText ); - - /** - * Used to add dynamic text to the end of an existing model item - * When Double Pane List box is used CAknDoubleStyleListBox - */ - IMPORT_C void SetDynamicTextDoublePaneL( TInt aFeatureId, - const TDesC& aAdditionalText ); - - /** - * Specify that this item should be visible / invisible in the - * iCurrentlyDisplayedEntries array - */ - IMPORT_C void SetItemVisibilityL( TInt aFeatureId, - TVisibility aVisibility ); - - /** - * Access the id of the currently selected feature - */ - IMPORT_C virtual TInt CurrentFeature() const; - - /** - * Set the currently selected feature id - */ - IMPORT_C TInt IndexForFeatureIdL(TInt aFeatureId) const; - - /** - * Returns the feature id corresponding to an index - */ - IMPORT_C TInt FeatureIdByIndex(TInt aIndex) const; - - /** - * - */ - IMPORT_C const CGSListboxEntry* FeatureByIdL( TInt aFeatureId ) const; - - /** - * - */ - IMPORT_C static HBufC* GetItemCaptionFromFeatureIdLC(TUint32 aResourceId, TInt aFeatureId, CCoeEnv& aCone); - - - private: - static TBool CompareEntries( const CGSListboxEntry& aLeft, - const CGSListboxEntry& aRight ); - - - protected: - - /** - * All the entries which may potentially be contained within the listbox - * model. This array is owned and destroyed by this class. - */ - RPointerArray< CGSListboxEntry > iAllEntries; - - /** - * The entries which are currently displayed within the listbox. These - * pointers are actually owned in the iAllEntries array and therefore - * this array must not be 'ResetAndDestroyed()' (but rather just Reset()) - * from within this class' destructor. - */ - RPointerArray< CGSListboxEntry > iCurrentlyDisplayedEntries; - }; - - -/*================================================ -================================================*/ -class CGSRadioButtonSettingPageItemTextArray : public CGSItemTextArray - { - public: - IMPORT_C static CGSRadioButtonSettingPageItemTextArray* NewL( - TUint32 aResId, - CCoeEnv& aEnv, - CAknRadioButtonSettingPage* aSettingPage = NULL - ); - - private: - CGSRadioButtonSettingPageItemTextArray( CAknRadioButtonSettingPage* aSettingPage ); - - public: // FROM CGSItemTextArray - IMPORT_C TInt CurrentFeature() const; - - public: // New API - IMPORT_C void SetRadioButtonSettingPage( CAknRadioButtonSettingPage& aPage ); - - private: - - /** - * Underlying setting page - */ - CAknRadioButtonSettingPage* iSettingPage; - }; - - - -/*================================================ -* CGSListBoxItemTextArray: This class acts as a wrapper class for -* CGSListboxEntry. Instance of this class is created from the -* calling function. -================================================*/ -class CGSListBoxItemTextArray : public CGSItemTextArray - { - public: - IMPORT_C static CGSListBoxItemTextArray* NewL( - TUint32 aResId, - CEikListBox& aListBox, - CCoeEnv& aEnv ); - IMPORT_C static CGSListBoxItemTextArray* NewL( - TUint32 aResId, - CEikListBox& aListBox, - CCoeEnv& aEnv, - TInt aCount ); - - private: - CGSListBoxItemTextArray( CEikListBox& aListBox ); - - public: // FROM CGSItemTextArray - IMPORT_C TInt CurrentFeature() const; - - private: - - /** - * Underlying listbox - */ - CEikListBox& iListBox; - }; - -#endif //GS_LIST_BOX_H