diff -r 666f914201fb -r 2fe1408b6811 epoc32/include/app/cpbkselectfielddlg.h --- a/epoc32/include/app/cpbkselectfielddlg.h Tue Nov 24 13:55:44 2009 +0000 +++ b/epoc32/include/app/cpbkselectfielddlg.h Tue Mar 16 16:12:26 2010 +0000 @@ -1,1 +1,113 @@ -cpbkselectfielddlg.h +/* +* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* 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 +* which accompanies this distribution, and is available +* at the URL "http://www.symbianfoundation.org/legal/licencesv10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* Phonebook field selection dialog. +* +*/ + + +#ifndef __CPbkSelectFieldDlg_H__ +#define __CPbkSelectFieldDlg_H__ + +// INCLUDES +#include // CBase + +// FORWARD DECLARATIONS +class TPbkContactItemField; +class CPbkFieldArray; +class MPbkControlKeyObserver; + + +// CLASS DECLARATION + +/** + * Phonebook field selection dialog. This class is used to show a Phonebook + * contact item field selection dialog to the user. The user is able to + * select a particular field from the dialog and this selection is returned + * to the client. + */ +class CPbkSelectFieldDlg : public CBase + { + public: // Interface + /** + * Constructor. + */ + IMPORT_C CPbkSelectFieldDlg(); + + /** + * Runs the dialog and returns selected field. + * NOTE: this object is deleted when this function + * returns or leaves. + * + * @param aArray Array of TPbkContactItemFields + * @param aCbaResourceId Softkey buttons for the control. + * @param aHeading Possible heading for the control. + * @param aFocusIndex Field index to focus initially. + * + * @return The selected contact item field or NULL. + */ + IMPORT_C TPbkContactItemField* ExecuteLD + (CPbkFieldArray& aArray, + TInt aCbaResourceId, + const TDesC& aHeading = KNullDesC, + TInt aFocusIndex=-1); + + /** + * Destructor. + */ + IMPORT_C ~CPbkSelectFieldDlg(); + + /** + * Registers aKeyObserver as a key event observer of this control. + * Only one observer is supported and setting a new one removes the + * previous setting. + * + * @param aKeyObserver A Phonebook control key observer. + */ + IMPORT_C void SetObserver(MPbkControlKeyObserver* aKeyObserver); + + /** + * Attempts to exit this dialog as if a soft button was pressed. + * @see CAknPopupList::AttemptExitL(TBool). + */ + IMPORT_C void AttemptExitL(TBool aAccept); + + /** + * Sets aSelfPtr to NULL when this dialog is destroyed. + * @precond !aSelfPtr || *aSelfPtr==this + */ + IMPORT_C void ResetWhenDestroyed(CPbkSelectFieldDlg** aSelfPtr); + + private: // Data + /// Specialized listbox class + class CListBox; + /// Own: ListBox inside the popuplist + CListBox* iListBox; + /// Specialized popup list class + class CPopupList; + /// Own: popup list query + CPopupList* iPopupList; + /// Ref: key event observer + MPbkControlKeyObserver* iKeyObserver; + /// Ref: Set to ETrue in destructor + TBool* iDestroyedPtr; + /// Ref: Set to NULL when this dialog is destroyed. + CPbkSelectFieldDlg** iSelfPtr; + /// Own: Spare data + TInt32 iSpare1; + }; + +#endif // __CPbkSelectFieldDlg_H__ + +// End of File