emailcontacts/contactactionmenu/src/cfsccontactactionmenuitemimpl.cpp
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Tue, 27 Apr 2010 16:20:14 +0300
branchRCL_3
changeset 14 b13141f05c3d
parent 0 8466d47a6819
permissions -rw-r--r--
Revision: 201015 Kit: 201017

/*
* Copyright (c) 2008 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:  Implementation of the class CFscContactActionMenuItemImpl.
*
*/


// INCUDES
#include "emailtrace.h"
#include "cfsccontactactionmenuitemimpl.h"
#include "fsccontactactionmenudefines.h"

// ======== LOCAL FUNCTIONS ========

// ======== MEMBER FUNCTIONS ========

// ---------------------------------------------------------------------------
// CFscContactActionMenuItemImpl::NewL
// ---------------------------------------------------------------------------
//
CFscContactActionMenuItemImpl* CFscContactActionMenuItemImpl::NewL()
    {
    FUNC_LOG;

    CFscContactActionMenuItemImpl* self = 
        CFscContactActionMenuItemImpl::NewLC();
    CleanupStack::Pop( self );
        
    return self;
    }

// ---------------------------------------------------------------------------
// CFscContactActionMenuItemImpl::NewL
// ---------------------------------------------------------------------------
//
CFscContactActionMenuItemImpl* CFscContactActionMenuItemImpl::NewLC()
    {
    FUNC_LOG;

    CFscContactActionMenuItemImpl* self = 
        new (ELeave) CFscContactActionMenuItemImpl( 
            NULL, 0, EFalse, KFscDefaultItemUid );
    CleanupStack::PushL( self );
    self->ConstructL( KNullDesC() );
        
    return self;
    }

// ---------------------------------------------------------------------------
// CFscContactActionMenuItemImpl::NewL
// ---------------------------------------------------------------------------
//
CFscContactActionMenuItemImpl* CFscContactActionMenuItemImpl::NewL( 
    const TDesC& aMenuText,
    const CGulIcon* aIcon,
    TInt aPriority,
    TBool aStatic,
    TUid aUid )
    {
    FUNC_LOG;

    CFscContactActionMenuItemImpl* self = 
        CFscContactActionMenuItemImpl::NewLC( 
            aMenuText, aIcon, aPriority, aStatic, aUid );
    CleanupStack::Pop( self );
        
    return self;
    }

// ---------------------------------------------------------------------------
// CFscContactActionMenuItemImpl::NewL
// ---------------------------------------------------------------------------
//
CFscContactActionMenuItemImpl* CFscContactActionMenuItemImpl::NewLC( 
    const TDesC& aMenuText,
    const CGulIcon* aIcon,
    TInt aPriority,
    TBool aStatic,
    TUid aUid )
    {
    FUNC_LOG;

    CFscContactActionMenuItemImpl* self = 
        new (ELeave) CFscContactActionMenuItemImpl( 
            aIcon, aPriority, aStatic, aUid );
    CleanupStack::PushL( self );
    self->ConstructL(aMenuText);
        
    return self;
    }
    
// ---------------------------------------------------------------------------
// CFscContactActionMenuItemImpl::~CFscContactActionMenuItemImpl
// ---------------------------------------------------------------------------
//
CFscContactActionMenuItemImpl::~CFscContactActionMenuItemImpl()
    {
    FUNC_LOG;
    delete iMenuText;
    delete iDimmReason;
    }

// ---------------------------------------------------------------------------
// CFscContactActionMenuItemImpl::SetMenuTextL
// ---------------------------------------------------------------------------
//
void CFscContactActionMenuItemImpl::SetMenuTextL( const TDesC& aMenuText )
    {
    FUNC_LOG;
    HBufC* temp = aMenuText.AllocL();
    delete iMenuText;
    iMenuText = temp;
    }

// ---------------------------------------------------------------------------
// CFscContactActionMenuItemImpl::MenuText
// ---------------------------------------------------------------------------
//
const TDesC& CFscContactActionMenuItemImpl::MenuText() const
    {
    FUNC_LOG;
    return *iMenuText;
    }

// ---------------------------------------------------------------------------
// CFscContactActionMenuItemImpl::SetIcon
// ---------------------------------------------------------------------------
//
void CFscContactActionMenuItemImpl::SetIcon( const CGulIcon* aIcon )
    {
    FUNC_LOG;
    ASSERT( aIcon != NULL );
    iIcon = aIcon;
    }

// ---------------------------------------------------------------------------
// CFscContactActionMenuItemImpl::Icon
// ---------------------------------------------------------------------------
//
const CGulIcon* CFscContactActionMenuItemImpl::Icon() const
    {
    FUNC_LOG;
    return iIcon;
    }

// ---------------------------------------------------------------------------
// CFscContactActionMenuItemImpl::SetPriority
// ---------------------------------------------------------------------------
//
void CFscContactActionMenuItemImpl::SetPriority( TInt aPriority )
    {
    FUNC_LOG;
    iPriority = aPriority;
    }

// ---------------------------------------------------------------------------
// TInt CFscContactActionMenuItemImpl::Priority
// ---------------------------------------------------------------------------
//
TInt CFscContactActionMenuItemImpl::Priority() const
    {
    FUNC_LOG;
    return iPriority;
    }

// ---------------------------------------------------------------------------
// CFscContactActionMenuItemImpl::SetImplementationUid
// ---------------------------------------------------------------------------
//
void CFscContactActionMenuItemImpl::SetImplementationUid( TUid aUid )
    {
    FUNC_LOG;
    iImplementationUid = aUid;
    }

// ---------------------------------------------------------------------------
// CFscContactActionMenuItemImpl::ImplementationUid
// ---------------------------------------------------------------------------
//
TUid CFscContactActionMenuItemImpl::ImplementationUid() const
    {
    FUNC_LOG;
    return iImplementationUid;
    }

// ---------------------------------------------------------------------------
// CFscContactActionMenuItemImpl::SetDimmed
// ---------------------------------------------------------------------------
//
void CFscContactActionMenuItemImpl::SetDimmed( TBool aDimmed )
    {
    FUNC_LOG;
    iDimmed = aDimmed;
    }

// ---------------------------------------------------------------------------
// CFscContactActionMenuItemImpl::Dimmed
// ---------------------------------------------------------------------------
//
TBool CFscContactActionMenuItemImpl::Dimmed() const
    {
    FUNC_LOG;
    return iDimmed;
    }

// ---------------------------------------------------------------------------
// CFscContactActionMenuItemImpl::SetDimmReasonL
// ---------------------------------------------------------------------------
//
void CFscContactActionMenuItemImpl::SetDimmReasonL( const TDesC& aDimmReason )
    {
    FUNC_LOG;
    HBufC* temp = aDimmReason.AllocL();
    delete iDimmReason;
    iDimmReason = temp;
    }

// ---------------------------------------------------------------------------
// CFscContactActionMenuItemImpl::DimmReason
// ---------------------------------------------------------------------------
//
const TDesC& CFscContactActionMenuItemImpl::DimmReason() const
    {
    FUNC_LOG;
    return *iDimmReason;
    }

// ---------------------------------------------------------------------------
// CFscContactActionMenuItemImpl::SetHidden
// ---------------------------------------------------------------------------
//
void CFscContactActionMenuItemImpl::SetHidden( TBool aHidden )
    {
    FUNC_LOG;
    iHidden = aHidden;
    }

// ---------------------------------------------------------------------------
// CFscContactActionMenuItemImpl::Hidden
// ---------------------------------------------------------------------------
//
TBool CFscContactActionMenuItemImpl::Hidden() const
    {
    FUNC_LOG;
    return iHidden;
    }

// ---------------------------------------------------------------------------
// CFscContactActionMenuItemImpl::SetStatic
// ---------------------------------------------------------------------------
//
void CFscContactActionMenuItemImpl::SetStatic( TBool aStatic )
    {
    FUNC_LOG;
    iStatic = aStatic;
    }

// ---------------------------------------------------------------------------
// CFscContactActionMenuItemImpl::Static
// ---------------------------------------------------------------------------
//
TBool CFscContactActionMenuItemImpl::Static() const
    {
    FUNC_LOG;
    return iStatic;
    }

// ---------------------------------------------------------------------------
// CFscContactActionMenuItemImpl::CFscContactActionMenuItemImpl
// ---------------------------------------------------------------------------
//
CFscContactActionMenuItemImpl::CFscContactActionMenuItemImpl(
    const CGulIcon* aIcon, TInt aPriority, TBool aStatic, TUid aUid ) 
    : iIcon(aIcon), iPriority(aPriority), iImplementationUid(aUid), 
      iDimmed(EFalse), iHidden(EFalse), iStatic(aStatic)
    {
    FUNC_LOG;
    }

// ---------------------------------------------------------------------------
// CFscContactActionMenuItemImpl::ConstructL
// ---------------------------------------------------------------------------
//
void CFscContactActionMenuItemImpl::ConstructL( 
    const TDesC& aMenuText )
    {
    FUNC_LOG;
    iMenuText = aMenuText.AllocL();
    iDimmReason = KNullDesC().AllocL();
    }