tsrc/CenrepEditor/Src/cenrepeditorview3container.cpp
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Thu, 17 Dec 2009 08:44:37 +0200
changeset 0 f0cf47e981f9
permissions -rw-r--r--
Revision: 200949 Kit: 200951

/*
* Copyright (c) 2005 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:
*
*/


// INCLUDE FILES
#include "cenrepeditorview3container.h"
#include "cenrepeditordocument.h"
#include "cenrepeditorappui.h"
#include  "cenrepeditormodel.h"



#include <eiklabel.h>  // for example label control


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

// ---------------------------------------------------------
// CCenrepEditorView3Container::ConstructL(const TRect& aRect)
// EPOC two phased constructor
// ---------------------------------------------------------
//
void CCenrepEditorView3Container::ConstructL(const TRect& aRect,TInt aResourceId, CMusApplication*  aMusApplication)
    {      
    CreateWindowL(); 
    iMusApplicationListbox = new(ELeave)CMusApplicationListbox;
    // and put the data in the list
    iMusApplicationListbox->SetData(aMusApplication);
    // setting list is constructed from resources
    iMusApplicationListbox->ConstructFromResourceL(aResourceId);     
    SetRect(aRect);
    iMusApplicationListbox->MakeVisible(ETrue);
    iMusApplicationListbox->SetRect(aRect);    
	iMusApplicationListbox->LoadSettingsL();    
    iMusApplicationListbox->ActivateL();                
    ActivateL();
    }

// Destructor
CCenrepEditorView3Container::~CCenrepEditorView3Container()
    {
    iMusApplicationListbox->StoreSettingsL();
    delete iMusApplicationListbox;
	iMusApplicationListbox = NULL;
    }

// ---------------------------------------------------------
// CCenrepEditorView3Container::StoreSettingsL()
// Store the Settings to Variable
// ---------------------------------------------------------
//
void CCenrepEditorView3Container::StoreSettingsL()
    {    
    iMusApplicationListbox->StoreSettingsL();
    }

// ---------------------------------------------------------
// CCenrepEditorView3Container::SizeChanged()
// Called by framework when the view size is changed
// ---------------------------------------------------------
//
void CCenrepEditorView3Container::SizeChanged()
    {
    // TODO: Add here control resize code etc.
    iMusApplicationListbox->SetRect(Rect());  
    }

// ---------------------------------------------------------
// CCenrepEditorView3Container::CountComponentControls() const
// ---------------------------------------------------------
//
TInt CCenrepEditorView3Container::CountComponentControls() const
    {
    TInt count = 0;    
    if(iMusApplicationListbox)
        count++; 
    return count;
    }

// ---------------------------------------------------------
// CCenrepEditorView3Container::ComponentControl(TInt aIndex) const
// ---------------------------------------------------------
//
CCoeControl* CCenrepEditorView3Container::ComponentControl(TInt /*aIndex*/) const
    {
    return iMusApplicationListbox;     
    }

// ---------------------------------------------------------
// CCenrepEditorView3Container::Draw(const TRect& aRect) const
// ---------------------------------------------------------
//
void CCenrepEditorView3Container::Draw(const TRect& aRect) const
    {
    CWindowGc& gc = SystemGc();    
    gc.SetPenStyle( CGraphicsContext::ENullPen );
    gc.SetBrushColor( KRgbGray );
    gc.SetBrushStyle( CGraphicsContext::ESolidBrush );    
    gc.DrawRect( aRect );   
    }


TKeyResponse CCenrepEditorView3Container::OfferKeyEventL(
    const TKeyEvent& aKeyEvent,
    TEventCode aType )
    {
    if(aType != EEventKey) // Is not key event?
        {
        return EKeyWasNotConsumed;
        }       
    switch (aKeyEvent.iCode)
        {
            case EKeyLeftArrow:
            case EKeyRightArrow:
                 return EKeyWasNotConsumed;
            default:
                 if(iMusApplicationListbox)
                    {
                    return iMusApplicationListbox->OfferKeyEventL( aKeyEvent, aType );   
                    }
                 else
                    {
                    return EKeyWasNotConsumed;
                    }
                 
        }    
    }    




// End of File