diff -r 000000000000 -r e686773b3f54 phonebookui/Phonebook2/inc/TPbk2AddressSelectParams.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phonebookui/Phonebook2/inc/TPbk2AddressSelectParams.h Tue Feb 02 10:12:17 2010 +0200 @@ -0,0 +1,172 @@ +/* +* Copyright (c) 2005-2007 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: Phonebook 2 address selection parameters. +* +*/ + + +#ifndef TPBK2ADDRESSSELECTPARAMS_H +#define TPBK2ADDRESSSELECTPARAMS_H + +// INCLUDES +#include +#include +#include +#include +#include + +// FORWARD DECLARATIONS +class MVPbkStoreContact; +class MVPbkStoreContactField; +class MPbk2ContactNameFormatter; +class CVPbkContactManager; +class CPbk2FieldPropertyArray; + +// CLASS DECLARATION + +/** + * Phonebook 2 address selection parameters. + * Responsible for carrying the parameters to the address select class. + */ +class TPbk2AddressSelectParams + { + public: // Construction + + /** + * Constructor. + * + * @param aContact Contact from where to select + * an address. + * @param aContactManager Virtual Phonebook contact manager. + * @param aNameFormatter Name formatter. + * @param aFieldPropertyArray Phonebook 2 field property array. + * @param aReader Resource reader pointed to + * PBK2_ADDRESS_SELECT structure. + * @param aTitleResId Resource id for title text. + * Default = 0. If default, the memory + * entry name is used as a title. + */ + IMPORT_C TPbk2AddressSelectParams( + MVPbkStoreContact& aContact, + const CVPbkContactManager& aContactManager, + MPbk2ContactNameFormatter& aNameFormatter, + const CPbk2FieldPropertyArray& aFieldPropertyArray, + TResourceReader& aReader, + TInt aTitleResId = 0 ); + + public: // Interface + + /** + * Sets the focused field of the contact. If focused field + * is a non-empty address field it is returned directly by + * ExecuteLD. Defaults to NULL. + * + * @param aFocusedField The focused field to set. + */ + IMPORT_C void SetFocusedField( + const MVPbkStoreContactField* aFocusedField ); + + /** + * Sets the default to be used in address select. The + * defaults in the array should be in priority order. + * If the priorities array is not set, no defaults are used. + * Focused field overrides default address if both are + * available. + * + * @param aDefaultPriorities An array of default properties in + * priority order. + */ + IMPORT_C void SetDefaultPriorities( + const RVPbkContactFieldDefaultPriorities& aDefaultPriorities ); + + /** + * Set to ETrue to use default address of the contact directly. + * Focused field overrides default address if both are + * available. Default value for this parameter is EFalse. + * + * @param aUseDefaultDirectly Defines should the default address + * be used directly. + */ + IMPORT_C void SetUseDefaultDirectly( + TBool aUseDefaultDirectly ); + + /** + * Set to ETrue if the query should be shown always, even if + * it possible to select only one field. This overrides defaults + * also. Default value for this parameter is EFalse. + * + * @param aQueryAlways Set to ETrue if the query should + * be always shown. + */ + IMPORT_C void SetQueryAlways( + TBool aQueryAlways ); + + /** + * Sets custom title type. Indicates whether the resource string + * must have one "%U" in it, which the contact name will replace. + * + * @param aIncludeContactName If ETrue the prompt will include + * contact name in it. If EFalse, + * the prompt include contact name. + * Default is ETrue. + */ + IMPORT_C void SetTitleToIncludeContactName( + TBool aIncludeContactName ); + + /** + * Set to ETrue if the warnings should be suppressed. + * Default value for this parameter is EFalse. + * + * @param aSuppressWarnings Set to ETrue if the warnings + * should be suppressed. + */ + IMPORT_C void SetSuppressWarnings( + TBool aSuppressWarnings ); + + public: // Data + /// Ref: Contact where to select an address from + MVPbkStoreContact& iContact; + /// Ref: Virtual Phonebook contact manager + const CVPbkContactManager& iContactManager; + /// Ref: Contact name formatter. + MPbk2ContactNameFormatter& iNameFormatter; + /// Ref: Phonebook 2 field property array. + const CPbk2FieldPropertyArray& iFieldPropertyArray; + /// Ref: Resource reader. + TResourceReader& iResReader; + /// Own: Title resource id + TInt iTitleResId; + /// Ref: Focused field of the contact. + const MVPbkStoreContactField* iFocusedField; + /// Ref: Prioritized array of defaults to use. + const RVPbkContactFieldDefaultPriorities* iDefaultPriorities; + /// Own: Indicates should the default address be used directly + TBool iUseDefaultDirectly; + /// Own: Indicates should the query be shown always + TBool iQueryAlways; + /// Own: Indicates whether to include contact name in custom prompt. + /// Custom prompt refers to iTitleResId. + TBool iIncludeContactNameInPrompt; + /// Own: Indicates are the warnings suppressed + TBool iSuppressWarnings; + /// Own: Communication method + VPbkFieldTypeSelectorFactory::TVPbkContactActionTypeSelector iCommMethod; + + private: // Friends + friend class CPbk2AddressSelect; + }; + +#endif // TPBK2ADDRESSSELECTPARAMS_H + +// End of File