browserui/browser/BrowserAppSrc/BrowserWindowSelectionContainer.cpp
branchRCL_3
changeset 64 6385c4c93049
parent 63 4baee4f15982
child 65 8e6fa1719340
--- a/browserui/browser/BrowserAppSrc/BrowserWindowSelectionContainer.cpp	Thu Aug 19 09:57:56 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,317 +0,0 @@
-/*
-* 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 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 CBrowserWindowSelectionContainer.
-*
-*
-*/
-
-
-
-// INCLUDE FILES
-#include "BrowserWindowSelectionContainer.h"
-#include "BrowserWindowSelectionView.h"
-#include "BrowserAppUi.h"
-#include "Display.h"
-#include "WindowInfoProvider.h"
-#include "BrowserWindowManager.h"
-#include "BrowserWindow.h"
-#include <BrowserNG.rsg>
-#include <aknnavi.h>
-#include <akntabgrp.h>
-#include <aknnavide.h> 
-#include <akntabgrp.h>
-#include <eikimage.h>
-#include <barsread.h>
-#include <brctldefs.h>
-#include <brctlinterface.h>
-#include <brctldefs.h>
-#include <browser.mbg>
-#include <gulicon.h>
-
-
-// ---------------------------------------------------------
-// CBrowserWindowSelectionContainer::ConstructL
-// ---------------------------------------------------------
-//
-void CBrowserWindowSelectionContainer::ConstructL(const TRect& aRect)
-    {
-    CreateWindowL();	
-    // Tabgroup has been read from resource and it were pushed to the navi pane.
-    // Get pointer to the navigation decorator with the ResourceDecorator() function.
-    // Application owns the decorator and it has responsibility to delete the object.
-    iNaviDecorator = iView->ApiProvider().Display().NaviPaneL()->CreateTabGroupL();
-    iTabGroup = (CAknTabGroup*)iNaviDecorator->DecoratedControl();   
-    iTabGroup->SetObserver(this);
-
-    /*
-    // Create tab icon  	
-    iTabIcon = new (ELeave) CEikImage;
-    TResourceReader rr;
-    iCoeEnv->CreateResourceReaderLC( rr, R_BROWSER_ICON_PROP_FOLDER );
-    iTabIcon->ConstructFromResourceL( rr );
-    CleanupStack::PopAndDestroy(); // rr
-    */
-         
-    SetRect(aRect);
-    ActivateL();
-    }
-
-// ---------------------------------------------------------
-// CBrowserWindowSelectionContainer::CBrowserWindowSelectionContainer
-// ---------------------------------------------------------
-//    
-CBrowserWindowSelectionContainer::CBrowserWindowSelectionContainer( CBrowserWindowSelectionView *aView ) : iView( aView )
-    {
-    }
-
-// ---------------------------------------------------------
-// CBrowserWindowSelectionContainer::~CBrowserWindowSelectionContainer
-// ---------------------------------------------------------
-//    
-CBrowserWindowSelectionContainer::~CBrowserWindowSelectionContainer()
-    {
-    delete iNaviDecorator;
-    delete iThumbnail;
-    }            
-
-// ---------------------------------------------------------
-// CBrowserWindowSelectionContainer::ChangeTabL
-// ---------------------------------------------------------
-//        
-void CBrowserWindowSelectionContainer::ChangeTabL( CArrayFixFlat<HBufC*>* aTabTexts, TInt aActivateTab )
-    {
-    // If there are any tabs
-    if ( iTabGroup->TabCount() )
-        {
-        TInt tabCount = iTabGroup->TabCount();
-        // Delete all tabs
-        for ( TInt tabIndex = 0; tabIndex < tabCount; tabIndex++ )
-            {
-            // Delete the first tab until there is no more tab...
-            iTabGroup->DeleteTabL( iTabGroup->TabIdFromIndex( 0 )  );
-            }        
-        }        
-    // If only two tabs are needed, dont show more tabs.
-    if ( aTabTexts->Count() == 2 )
-        {
-        GetTabGroup()->SetTabFixedWidthL( EAknTabWidthWithTwoLongTabs );        
-        }
-    // If more than two tabs are needed, maximum 3 tabs are visible
-    else
-        {
-        GetTabGroup()->SetTabFixedWidthL( EAknTabWidthWithThreeLongTabs );                    
-        }    
-    // Add create the tabs
-    for ( TInt tabIndex = 0; tabIndex < aTabTexts->Count(); tabIndex++ )
-        {
-        iTabGroup->AddTabL( tabIndex, (*aTabTexts)[tabIndex]->Des() /*, iTabIcon->Bitmap(), iTabIcon->Mask()*/ );
-        }        
-    // Set focus of the specified tab
-    iTabGroup->SetActiveTabByIndex( aActivateTab );
-    // Handle tab changes.
-    iView->ApiProvider().Display().NaviPaneL()->PushL( *iNaviDecorator );
-    
-    // Draw the thumbnail by the window id.
-    GetWindowThumbnailL( iView->GetWindowIdFromTabIndex( GetTabGroup()->ActiveTabIndex() ) );
-    DrawNow();
-    }
-        
-// ---------------------------------------------------------
-// CBrowserWindowSelectionContainer::SizeChanged
-// ---------------------------------------------------------
-//
-void CBrowserWindowSelectionContainer::SizeChanged()
-    {
-    // TODO: Add here control resize code etc.
-    }
-
-// ---------------------------------------------------------
-// CBrowserWindowSelectionContainer::CountComponentControls
-// ---------------------------------------------------------
-//
-TInt CBrowserWindowSelectionContainer::CountComponentControls() const
-    {
-    return 0; // return nbr of controls inside this container
-    }
-
-// ---------------------------------------------------------
-// CBrowserWindowSelectionContainer::ComponentControl
-// ---------------------------------------------------------
-//
-CCoeControl* CBrowserWindowSelectionContainer::ComponentControl(TInt aIndex) const
-    {
-    switch ( aIndex )
-        {
-        default:
-            return NULL;
-        }
-    }
-
-// ---------------------------------------------------------
-// CBrowserWindowSelectionContainer::Draw
-// ---------------------------------------------------------
-//
-void CBrowserWindowSelectionContainer::Draw(const TRect& aRect) const
-    {
-    CWindowGc& gc = SystemGc();
-    
-    // Create a gray background...
-    gc.SetPenColor(TRgb(45,44,50));
-    gc.SetPenStyle(CGraphicsContext::ESolidPen);
-    gc.SetBrushColor( KRgbDarkGray );
-    gc.SetBrushStyle( CGraphicsContext::ESolidBrush );
-    gc.DrawRect( aRect );
-    
-    if ( iThumbnail )
-        {
-#ifdef BRDO_MULTITOUCH_ENABLED_FF        
-        TSize viewSize(aRect.Width(), aRect.Height());
-        int centerImageWidth(viewSize.iWidth*60/100);
-        int centerImageHeight(viewSize.iHeight*75/100);
-        int centerImageX(viewSize.iWidth*20/100);
-        int centerImageY(viewSize.iHeight*(100-75)/(2*100));
-        TPoint centerImageOrigin(centerImageX, centerImageY);
-#endif        
-        // Put in center        
-        // release
-        TSize bitmapSize = iThumbnail->Bitmap()->SizeInPixels();        
-        // test
-        //TSize bitmapSize = iThumbnail->SizeInPixels();
-        TInt x = ( aRect.Width()-bitmapSize.iWidth ) / 2;
-        TInt y = ( aRect.Height()-bitmapSize.iHeight ) / 2;    
-        // Draw thumbnail
-        // release
-#ifdef BRDO_MULTITOUCH_ENABLED_FF        
-        gc.BitBlt( centerImageOrigin, iThumbnail->Bitmap(), TRect(0, 0, centerImageWidth, centerImageHeight) );
-#else
-        gc.BitBlt( TPoint(x,y), iThumbnail->Bitmap() );
-#endif
-        // test
-        // gc.BitBlt( TPoint(x,y), iThumbnail );                
-        }
-    }
-
-// ---------------------------------------------------------
-// CBrowserWindowSelectionContainer::OfferKeyEventL
-// ---------------------------------------------------------
-//    
-TKeyResponse CBrowserWindowSelectionContainer::OfferKeyEventL( const TKeyEvent& aKeyEvent, TEventCode aType )
-    {
-    // Handle if Ok key was pressed.
-	if ( aType == EEventKey && aKeyEvent.iCode == EKeyOK )
-	    {
-        TInt windowId = iView->GetWindowIdFromTabIndex( GetTabGroup()->ActiveTabIndex() );
-        iView->ApiProvider().WindowMgr().SwitchWindowL( windowId );
-        //If the user switches window we reset the CalledFromAnotherApp status
-        if(iView->ApiProvider().CalledFromAnotherApp())
-            {
-            iView->ApiProvider().SetCalledFromAnotherApp(EFalse);
-            }
-        iView->ApiProvider().SetViewToBeActivatedIfNeededL( iView->GetPreviousViewID() );	    
-	    return EKeyWasConsumed;
-	    }
-    
-    // Check if navipane has valid parameters.
-    if ( !iTabGroup )
-        {
-        return EKeyWasNotConsumed;        
-        }    
-    if ( !iTabGroup->TabCount() )
-        {
-        return EKeyWasNotConsumed;        
-        }        
-    if ( !iNaviDecorator )
-        {
-        return EKeyWasNotConsumed;
-        }
-    // Get tab group
-	CAknTabGroup* tabGroup = STATIC_CAST( CAknTabGroup*, iNaviDecorator->DecoratedControl() );
-    // If tab group was not created succesfully.
-    if ( !tabGroup )	
-        {
-        return EKeyWasNotConsumed;
-        }        
-    // If tab group has no tabs.
-    if ( !tabGroup->TabCount() )
-        {
-        return EKeyWasNotConsumed;
-        }
-    // Forward events to tabgroup.
-    const TKeyResponse result = tabGroup->OfferKeyEventL( aKeyEvent, aType );
-    
-    return result;
-    }
-
-// ---------------------------------------------------------
-// CBrowserWindowSelectionContainer::HandleControlEventL
-// ---------------------------------------------------------
-//
-void CBrowserWindowSelectionContainer::HandleControlEventL(
-    CCoeControl* /*aControl*/,TCoeEvent /*aEventType*/)
-    {
-    // TODO: Add your control event handler code here
-    }
-
-// ---------------------------------------------------------
-// CBrowserWindowSelectionContainer::GetWindowThumbnail
-// ---------------------------------------------------------
-//
-void CBrowserWindowSelectionContainer::GetWindowThumbnailL( TInt aWindowId )
-    {   
-    // Get window url
-    CBrowserWindow* window;
-    iView->ApiProvider().WindowMgr().Window( aWindowId, window );
-    HBufC* windowUrl = window->BrCtlInterface().PageInfoLC( TBrCtlDefs::EPageInfoUrl );
-    
-    // Get thumbnail
-    // release
-    delete iThumbnail;
-    if (windowUrl)
-    {
-    	iThumbnail = window->BrCtlInterface().GetBitmapData( windowUrl->Des(), TBrCtlDefs::EBitmapThumbnail );
-    }
-    else
-    {
-       	iThumbnail = NULL;
-    }
-    // eof release
-   	
-       
-    CleanupStack::PopAndDestroy(); // windowUrl               
-    }
-
-// ---------------------------------------------------------
-// CBrowserWindowSelectionContainer::HandlePointerEventL
-// ---------------------------------------------------------
-//
-void CBrowserWindowSelectionContainer::HandlePointerEventL(const TPointerEvent& aPointerEvent)
-    {
-    if (aPointerEvent.iType == TPointerEvent::EButton1Down)
-        {
-        iView->HandleCommandL(EAknCmdOpen);
-        }
-    }
-
-// ---------------------------------------------------------
-// CBrowserWindowSelectionContainer::TabChangedL
-// ---------------------------------------------------------
-//
-void CBrowserWindowSelectionContainer::TabChangedL(TInt /*aIndex*/)
-    {
-    iView->UpdateTitleL();
-    iView->UpdateTumbnailL();
-    }
-
-// End of File