camera_plat/active_palette_2_api/tsrc/src/ActivePaletteContainer.cpp
changeset 0 1ddebce53859
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/camera_plat/active_palette_2_api/tsrc/src/ActivePaletteContainer.cpp	Thu Jan 07 16:18:56 2010 +0200
@@ -0,0 +1,393 @@
+/*
+* Copyright (c) 2009 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: CCActivePaletteContainer implementation.
+*
+*/
+
+#include <w32std.h>
+#include <coeaui.h>
+#include <apgwgnam.h>
+//#include <eikenv.h>
+//#include <eikapp.h>
+//#include <eikappui.h>
+
+
+#include <StifLogger.h>
+
+#include <activepalette2ui.h>
+#include <activepalette2factory.h>
+#include <activepalette2genericpluginint.h>
+#include <activepalette2eventdata.h>
+#include <activepalette2itemvisible.h>
+#include <activepalette2navigationkeys.h>
+
+#include <ActivePalette2ApiTest.mbg>
+
+#include "activepalette2apitest.h"
+#include "ActivePaletteContainer.h"
+
+
+#define LOG(text) iTest->Log()->Log(_L(text))
+#define LOG1(text, param) iTest->Log()->Log(_L(text), param)
+#define LOG2(text, param1, param2) iTest->Log()->Log(_L(text), param1, param2)
+#define LOG3(text, param1, param2, param3) iTest->Log()->Log(_L(text), param1, param2, param3)
+
+namespace 
+    {
+    _LIT( KTrueString,  "true"  );
+    _LIT( KFalseString, "false" );
+    }    
+
+
+// -----------------------------------------------------------------------------
+// CActivePaletteContainer::~CActivePaletteContainer
+// Destructor.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+CActivePaletteContainer::~CActivePaletteContainer()
+    {
+    if( iActivePalette != NULL )
+        {
+        iActivePalette->SetPaletteVisibility(ETrue, EFalse);
+        delete iActivePalette;
+        iActivePalette = NULL;
+        }
+    }
+
+// -----------------------------------------------------------------------------
+// CActivePaletteContainer::ConstructL
+// Second phase constructor.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void 
+CActivePaletteContainer::ConstructL(CActivePalette2ApiTest* aTest)
+    {
+    iTest = aTest;
+
+    LOG("=> CActivePaletteContainer::ConstructL");
+    CreateWindowL();    
+
+    TVwsViewId viewId;
+    CCoeEnv::Static()->AppUi()->GetDefaultViewId(viewId);    
+    iAppUid = viewId.iAppUid;
+    LOG1("<> CActivePalette2ApiTest::ConstructL: GetDefaultViewId() appuid: %d", iAppUid.iUid );
+    LOG("<> CActivePaletteContainer::ConstructL 1");
+    SetRect(CCoeEnv::Static()->ScreenDevice()->SizeInPixels());
+    LOG("<> CActivePaletteContainer::ConstructL 2");
+    CreateActivePaletteL();
+    LOG("<> CActivePaletteContainer::ConstructL 3");
+    ActivateL();
+    LOG("<= CActivePaletteContainer::ConstructL");
+    }
+
+// -----------------------------------------------------------------------------
+// CActivePaletteContainer::CountComponentControls
+// From CCoeControl.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt 
+CActivePaletteContainer::CountComponentControls() const
+    {
+    if( iActivePalette != NULL )
+        return 1;
+    else
+        return 0;
+    }
+
+// -----------------------------------------------------------------------------
+// CActivePaletteContainer::ComponentControl
+// From CCoeControl.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+CCoeControl* 
+CActivePaletteContainer::ComponentControl(TInt aIndex) const
+    {
+    if( aIndex == 0 )
+        return iActivePalette != NULL ? iActivePalette->CoeControl() : NULL;
+    else
+        return NULL;            
+    }
+
+// -----------------------------------------------------------------------------
+// CActivePaletteContainer::Draw
+// From CCoeControl.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void 
+CActivePaletteContainer::Draw(const TRect &aRect) const 
+    {
+    LOG("=> CActivePaletteContainer::Draw");
+    
+    CWindowGc& gc = SystemGc();
+    gc.Reset();
+    gc.SetBrushStyle(CGraphicsContext::ESolidBrush);
+    gc.SetBrushColor(TRgb(0xE0,0xE0,0xFF));
+    gc.Clear(aRect);    
+
+    LOG("<> CActivePaletteContainer::Draw 1");
+    
+    //iActivePalette->RenderActivePalette( TRect(iPosition,iSize) );
+
+    LOG("<= CActivePaletteContainer::Draw");
+    }
+
+// -----------------------------------------------------------------------------
+// CActivePaletteContainer::OfferKeyEventL
+// From CCoeControl.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TKeyResponse 
+CActivePaletteContainer::OfferKeyEventL(const TKeyEvent& aKeyEvent, TEventCode aType) 
+    {
+    LOG3("=> CActivePaletteContainer::OfferKeyEventL - keycode[%d] scancode[%d] type[%d]", 
+          aKeyEvent.iCode, aKeyEvent.iScanCode, aType);
+    
+    TKeyResponse response = EKeyWasNotConsumed; 
+    if( iActivePalette 
+     && iActivePalette->CoeControl() )
+        {
+        response = iActivePalette->CoeControl()->OfferKeyEventL(aKeyEvent,aType);
+        LOG1("<> CActivePaletteContainer::OfferKeyEventL - Active Palette consumed ? %S", 
+             response == EKeyWasConsumed ? &KTrueString : &KFalseString );
+        }
+    if( EKeyWasNotConsumed == response )
+        {
+        response = CCoeControl::OfferKeyEventL(aKeyEvent, aType);        
+        }
+
+    LOG("<= CActivePaletteContainer::OfferKeyEventL");
+    return response;
+    }
+
+// -----------------------------------------------------------------------------
+// CActivePaletteContainer::SizeChanged
+// From CCoeControl.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void 
+CActivePaletteContainer::SizeChanged()
+    {
+    LOG("=> CActivePaletteContainer::SizeChanged");
+    CCoeControl::SizeChanged();    
+    LOG("<= CActivePaletteContainer::SizeChanged");
+    }
+
+
+// -----------------------------------------------------------------------------
+// CActivePaletteContainer::ViewId
+// From MCoeView.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TVwsViewId 
+CActivePaletteContainer::ViewId() const
+    {
+    LOG("=> CActivePaletteContainer::ViewId");    
+    TVwsViewId id;
+    id.iAppUid  = iAppUid;
+    id.iViewUid = TUid::Uid(1234567890);
+    LOG("<= CActivePaletteContainer::ViewId");
+    return id;
+    }
+
+// -----------------------------------------------------------------------------
+// CActivePaletteContainer::ViewActivatedL
+// From MCoeView.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void 
+CActivePaletteContainer::ViewActivatedL(
+        const TVwsViewId& /*aPrevViewId*/, 
+              TUid        /*aCustomMessageId*/, 
+        const TDesC8&     /*aCustomMessage*/ )
+    {
+    LOG("=><= CActivePaletteContainer::ViewActivatedL");    
+    }
+
+// -----------------------------------------------------------------------------
+// CActivePaletteContainer::ViewDeactivated
+// From MCoeView.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void 
+CActivePaletteContainer::ViewDeactivated()
+    {
+    LOG("=><= CActivePaletteContainer::ViewDeactivated");    
+    }
+
+
+// -----------------------------------------------------------------------------
+// CActivePaletteContainer::NotifyItemFocused
+// From MActivePalette2Observer.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void 
+CActivePaletteContainer::NotifyItemFocused(TInt /*aPrevItem*/, TInt /*aFocusedItem*/)
+    {    
+    LOG("=><= CActivePaletteContainer::NotifyItemFocused");    
+    }
+
+// -----------------------------------------------------------------------------
+// CActivePaletteContainer::NotifyItemSelected
+// From MActivePalette2Observer.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void 
+CActivePaletteContainer::NotifyItemSelected(const TActivePalette2EventData& aEvent)
+    {
+    LOG("=> CActivePaletteContainer::NotifyItemSelected");
+    CheckActivePaletteEvent(aEvent);
+    LOG("<= CActivePaletteContainer::NotifyItemSelected");
+    }
+
+// -----------------------------------------------------------------------------
+// CActivePaletteContainer::NotifyItemComplete
+// From MActivePalette2Observer.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void 
+CActivePaletteContainer::NotifyItemComplete(const TActivePalette2EventData& aEvent,
+                                            const TDesC8& aDataDes,
+                                            TInt aDataInt)
+    {
+    LOG ("=> CActivePaletteContainer::NotifyItemComplete");
+    CheckActivePaletteEvent(aEvent);
+    LOG1("<> CActivePaletteContainer::NotifyItemComplete - data descr: %S", &aDataDes);
+    LOG1("<> CActivePaletteContainer::NotifyItemComplete - data int: %d", aDataInt);
+    LOG ("<= CActivePaletteContainer::NotifyItemComplete");
+    }
+
+// -----------------------------------------------------------------------------
+// CActivePaletteContainer::NotifyMessage
+// From MActivePalette2Observer.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void 
+CActivePaletteContainer::NotifyMessage(const TActivePalette2EventData& aEvent,
+                                       TInt aMessageID,
+                                       const TDesC8& aDataDes,
+                                       TInt aDataInt)
+    {
+    LOG ("=> CActivePaletteContainer::NotifyMessage");
+    CheckActivePaletteEvent(aEvent);
+    LOG1("<> CActivePaletteContainer::NotifyMessage - message id: %d", aMessageID);
+    LOG1("<> CActivePaletteContainer::NotifyMessage - data descr: %S", &aDataDes);
+    LOG1("<> CActivePaletteContainer::NotifyMessage - data int: %d", aDataInt);
+    LOG ("<= CActivePaletteContainer::NotifyMessage");
+    }
+
+// -----------------------------------------------------------------------------
+// CActivePaletteContainer::Redraw
+// From MActivePalette2Observer.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void 
+CActivePaletteContainer::Redraw(const TRect& aArea)
+    {
+    LOG("=> CActivePaletteContainer::Redraw");    
+    /*
+    CWindowGc& gc = SystemGc();
+    gc.SetBrushStyle(CGraphicsContext::ESolidBrush);
+    gc.SetBrushColor(TRgb(0x00,0x00,0xFF));
+    gc.Clear(aArea);
+    */
+    Draw(aArea);
+    LOG("<= CActivePaletteContainer::Redraw");    
+    }
+
+// -----------------------------------------------------------------------------
+// CActivePaletteContainer::ActivePaletteUpdated
+// From MActivePalette2Observer.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void 
+CActivePaletteContainer::ActivePaletteUpdated(void)
+    {
+    LOG("=> CActivePaletteContainer::ActivePaletteUpdated");    
+    DrawDeferred();    
+    LOG("<= CActivePaletteContainer::ActivePaletteUpdated");    
+    }
+
+
+
+// -----------------------------------------------------------------------------
+// CActivePaletteContainer::CreateActivePaletteL
+// Helper method for creating ActivePalette.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void
+CActivePaletteContainer::CreateActivePaletteL()
+    {
+    delete iActivePalette;
+    iActivePalette = NULL;
+
+    iActivePalette = ActivePalette2Factory::CreateActivePaletteUIL( EAP2DrawModeSemiTransparent );
+
+    iActivePalette->SetObserver( this );
+    iActivePalette->CoeControl()->SetContainerWindowL( *this );
+    iActivePalette->CoeControl()->SetMopParent( this );  
+    iActivePalette->SetPaletteVisibility(ETrue, EFalse);
+    TRect rect( Rect() );
+    iActivePalette->LocateTo( TPoint(rect.Width()/4, rect.Height()/4) );
+    }
+
+// -----------------------------------------------------------------------------
+// CActivePaletteContainer::ActivePalette
+// Get the Active Palette instance.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+MActivePalette2UI* 
+CActivePaletteContainer::ActivePalette() const 
+    {
+    return iActivePalette;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CActivePaletteContainer::CheckActivePaletteEvent
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void 
+CActivePaletteContainer::CheckActivePaletteEvent( const TActivePalette2EventData& aEvent )
+    {
+    TInt resultCode( aEvent.Result() );
+    TInt currentItem( aEvent.CurItem() );
+    TInt previousItem( aEvent.PrevItem() );
+    TInt servingItem( aEvent.ServingItem() );
+    TUid servingPluginUid( aEvent.ServingPlugin() );
+    
+    iTest->Log()->Log( _L("=><= CActivePaletteContainer::CheckActivePaletteEvent - got: code[%d] items[current:%d previous:%d serving:%d] plugin[%d]"),
+                       resultCode, currentItem, previousItem, servingItem, servingPluginUid.iUid);
+    }
+
+
+