browserui/browser/BrowserAppSrc/BrowserInitialContainer.cpp
author Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com>
Mon, 30 Mar 2009 12:49:49 +0300
changeset 0 84ad3b177aa3
permissions -rw-r--r--
Revision: 200911 Kit: 200912

/*
* 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 the License "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 CBrowserInitialContainer.
*
*
*/


// INCLUDE FILES

#include <AknLists.h>
#include <BrowserNG.rsg>
#include <barsread.h>
#include <browser.mbg>
#include <AknsUtils.h>
#include <data_caging_path_literals.hrh>
#include "BrowserInitialContainer.h"
#include "CommonConstants.h"
#include "BrowserInitialView.h"
#include "BrowserAppUi.h"
#include "BrowserUIVariant.hrh"
#include "Display.h"
#include "BrowserGotoPane.h"


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

// ---------------------------------------------------------
// CBrowserInitialContainer::CBrowserInitialContainer
// ---------------------------------------------------------
//
CBrowserInitialContainer::CBrowserInitialContainer( CBrowserInitialView *aView ) : iView( aView )
    {
    // 
    }
    
// ---------------------------------------------------------
// CBrowserInitialContainer::ConstructL
// ---------------------------------------------------------
//
void CBrowserInitialContainer::ConstructL(const TRect& aRect)
    {
    CreateWindowL();	

    // Set view title
	iView->ApiProvider().Display().SetTitleL( TitleResourceId() );
		

	// Create gotopane
    iGotoPane = CBrowserGotoPane::NewL( this );
    
    SetRect(aRect);	
    ActivateL();
    }

// ---------------------------------------------------------
// CBrowserInitialContainer::~CBrowserInitialContainer
// ---------------------------------------------------------
//
CBrowserInitialContainer::~CBrowserInitialContainer()
    {
    delete iGotoPane;
    }

// ---------------------------------------------------------
// CBrowserInitialContainer::SizeChanged
// ---------------------------------------------------------
//
void CBrowserInitialContainer::SizeChanged()
    {
   
	iGotoPane->HandleFindSizeChanged();	
    }

// ---------------------------------------------------------
// CBrowserInitialContainer::CountComponentControls
// ---------------------------------------------------------
//
TInt CBrowserInitialContainer::CountComponentControls() const
    {
    return 1; // return number of controls inside this container
    }

// ---------------------------------------------------------
// CBrowserInitialContainer::ComponentControl
// ---------------------------------------------------------
//
CCoeControl* CBrowserInitialContainer::ComponentControl( TInt aIndex ) const
    {
    switch ( aIndex )
        {
        case 0:
			return iGotoPane;
        default:
            return NULL;
        }
    }

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

// ---------------------------------------------------------
// CBrowserInitialContainer::HandleControlEventL
// ---------------------------------------------------------
//
void CBrowserInitialContainer::HandleControlEventL( CCoeControl* /*aControl*/,
                                                    TCoeEvent /*aEventType*/ )
    {
    // control event handler code here
    }

	

// ----------------------------------------------------------------------------
// CBrowserInitialContainer::OfferKeyEventL
// ----------------------------------------------------------------------------
//    
TKeyResponse CBrowserInitialContainer::OfferKeyEventL(const TKeyEvent& aKeyEvent,TEventCode aType)
	{
    CBrowserAppUi* ui = CBrowserAppUi::Static();
    TKeyResponse result( EKeyWasNotConsumed );

	if (ui->OfferApplicationSpecificKeyEventL(aKeyEvent, aType) == EKeyWasConsumed)
		{
		return EKeyWasConsumed;
		}

    // If goto pane is visible, offer key events to it
	if ( iGotoPane->IsVisible() )
		{
		result = iGotoPane->OfferKeyEventL( aKeyEvent, aType );
		}

    return result;
	}

// ---------------------------------------------------------
// CBrowserInitialContainer::TitleResourceId
// ---------------------------------------------------------
//
TInt CBrowserInitialContainer::TitleResourceId()
    {
    return R_BROWSER_INITIAL_VIEW_TITLE;
    }			
    
//---------------------------------------------------------------------------
// CBrowserInitialContainer::ShutDownGotoURLEditorL
// ---------------------------------------------------------------------------
//
void CBrowserInitialContainer::ShutDownGotoURLEditorL()
    {
    iGotoPane->MakeVisible( EFalse );
    iGotoPane->SetFocus( EFalse );
    SetFocus( ETrue );
    }    
    
// End of File