diff -r 000000000000 -r e686773b3f54 phonebookui/Phonebook2/USIMExtension/inc/CPsu2FdnContactEditorPhoneNumberField.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phonebookui/Phonebook2/USIMExtension/inc/CPsu2FdnContactEditorPhoneNumberField.h Tue Feb 02 10:12:17 2010 +0200 @@ -0,0 +1,118 @@ +/* +* Copyright (c) 2002-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 FDN contact editor phone number field. +* +*/ + + +#ifndef CPSU2FDNCONTACTEDITORPHONENUMBERFIELD_H +#define CPSU2FDNCONTACTEDITORPHONENUMBERFIELD_H + +// INCLUDES +#include +#include + +// FORWARD DECLARATIONS +class CEikEdwin; +class CEikCaptionedControl; +class MVPbkStoreContactField; +class MPbk2ContactEditorUiBuilder; +class MPbk2FieldProperty; +class CPbk2IconInfoContainer; + +// CLASS DECLARATION + +/** + * Phonebook 2 contact editor FDN phone number field. + */ +NONSHARABLE_CLASS(CPsu2FdnContactEditorPhoneNumberField) : + public CBase, + public MPbk2ContactEditorField, + public MPbk2ContactEditorField2 + { + public: // Constructors and destructor + + /** + * Two-phased constructor. + * + * @param aContactField The field to create editor field for. + * @param aFieldProperty Field property. + * @param aUiBuilder Builder for adding the field into + * dialog. + * @param aIconInfoContainer Icon container for setting the icon. + * @return A new instance of this class. + */ + static CPsu2FdnContactEditorPhoneNumberField* NewL( + MVPbkStoreContactField& aContactField, + const MPbk2FieldProperty& aFieldProperty, + MPbk2ContactEditorUiBuilder& aUiBuilder, + CPbk2IconInfoContainer& aIconInfoContainer ); + + /** + * Destructor. + */ + ~CPsu2FdnContactEditorPhoneNumberField(); + + public: // From MPbk2ContactEditorField + TInt ControlId() const; + CEikEdwin* Control() const; + void SaveFieldL(); + + TBool FieldDataChanged() const; + TPtrC FieldLabel() const; + void SetFieldLabelL( + const TDesC& aLabel ); + HBufC* ControlTextL() const; + void SetFocus(); + void ActivateL(); + MVPbkStoreContactField& ContactField() const; + const MPbk2FieldProperty& FieldProperty() const; + void AcceptL( + MPbk2ContactEditorFieldVisitor& aVisitor ); + TBool ConsumesKeyEvent( + const TKeyEvent& aKeyEvent, + TEventCode aType ); + TAny* ContactEditorFieldExtension(TUid aExtensionUid ); + + public: // From MPbk2ContactEditorField2 + TBool HandleCustomFieldCommandL(TInt aCommand ); + + private: // Implementation + CPsu2FdnContactEditorPhoneNumberField( + MVPbkStoreContactField& aContactField, + const MPbk2FieldProperty& aFieldProperty, + MPbk2ContactEditorUiBuilder& aUiBuilder, + const CPbk2IconInfoContainer& aIconInfoContainer ); + void ConstructL(); + + private: // Data + /// Ref: Store contact field + MVPbkStoreContactField& iContactField; + /// Ref: Field property + const MPbk2FieldProperty& iFieldProperty; + /// Ref: UI builder + MPbk2ContactEditorUiBuilder& iUiBuilder; + /// Ref: Icon info container + const CPbk2IconInfoContainer& iIconInfoContainer; + /// Ref: Field editor + CEikEdwin* iControl; + /// Ref: Field captioned control + CEikCaptionedControl* iCaptionedCtrl; + /// Own: Indicates has contact data changed + TBool iContactDataHasChanged; + }; + +#endif // CPSU2FDNCONTACTEDITORPHONENUMBERFIELD_H + +// End of File