vtuis/videotelui/inc/features/numberentry/cvtuinumberentry.h
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Mon, 23 Nov 2009 14:47:47 +0200
changeset 0 ed9695c8bcbe
permissions -rw-r--r--
Revision: 200948

/*
* Copyright (c) 2006 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:  Number entry UI feature definition.
*
*/


#ifndef C_VTUINUMBERENTRY_H
#define C_VTUINUMBERENTRY_H

#include "mvtuicommandui.h"
#include "cvtuifeaturebase.h"
#include "mvtuinumberentrycontrolobserver.h"
#include "cvtuifeaturemanager.h"

class CVtUiNumberEntryControl;

/**
 *  CVtUiNumberEntry
 *
 *  NumberEntry UI feature.
 *
 *  @since S60 v3.2
 */
 class CVtUiNumberEntry : public CVtUiFeatureBase,
    public MVtUiNumberEntryControlObserver
    {

public:

    /**
     * Static constructor
     */
    static CVtUiNumberEntry* NewL( CVtUiFeatureManager& aFeatureManager );

    /**
     * Destructor
     */
    ~CVtUiNumberEntry();

public: // from CVtUiFeatureBase

    /**
    * @see CVtUiFeatureBase::StartL
    */
    void StartL();

    /**
    * @see CVtUiFeatureBase::Stop
    */
    void Stop();

    /**
    * @see CVtUiFeatureBase::InitFeatureL
    */
    void InitFeatureL();

public: // from MVtUiNumberEntryControlObserver

    /**
     * @see MVtUiNumberEntryControlObserver::ControlActivatedL
     */
    void ControlActivatedL();

    /**
     * @see MVtUiNumberEntryControlObserver::ControlDeactivated
     */
    void ControlDeactivated();

private:

    /**
     * Constructor
     */
    CVtUiNumberEntry( CVtUiFeatureManager& aFeatureManager );

    /**
     * 2nd constructor
     */
    void ConstructL();

    /**
     * Prepares feature
     */
    void PrepareL();

    /**
     * Unprepares feature
     */
     void Unprepare();

    /**
     * Creates number entry control instance
     */
    void CreateNumberEntryControlL();

    /**
     * Deletes number entry control instance
     */
    void DeleteNumberEntryControl();

private:

    // Owned number entry control instance.
    CVtUiNumberEntryControl* iNumberEntryControl;

    };

#endif // C_VTUINUMBERENTRY_H