diff -r 61bc0f252b2b -r bac7acad7cb3 camera_plat/active_palette_2_api/tsrc/inc/ActivePaletteContainer.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/camera_plat/active_palette_2_api/tsrc/inc/ActivePaletteContainer.h Wed Sep 01 12:30:54 2010 +0100 @@ -0,0 +1,160 @@ +/* +* 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 declaration. +* +*/ + +#ifndef ACTIVEPALETTECONTAINER_H +#define ACTIVEPALETTECONTAINER_H + +// INCLUDES +#include +#include +#include +#include +#include + + +// FORWARD DECLARATIONS +class CActivePalette2ApiTest; +class MActivePalette2UI; + + +// CLASS DECLARATION + +/** + * CCActivePaletteContainer + * + */ +class CActivePaletteContainer : public CCoeControl, + public MCoeView, + public MActivePalette2Observer + { +public: + + // Constructors and destructor + void ConstructL(CActivePalette2ApiTest* aTest); + + /** + * Destructor. + */ + ~CActivePaletteContainer(); + + // ------------------------------------------------------------------------- + // From CCoeControl +public: + virtual TInt CountComponentControls() const; + virtual CCoeControl* ComponentControl(TInt aIndex) const; + virtual void Draw(const TRect &aRect) const; + + virtual TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent, TEventCode aType); +protected: + virtual void SizeChanged(); + + // ------------------------------------------------------------------------- + // From MCoeView +public: + virtual TVwsViewId ViewId() const; +private: + virtual void ViewActivatedL(const TVwsViewId &aPrevViewId, TUid aCustomMessageId, const TDesC8 &aCustomMessage); + virtual void ViewDeactivated(); + + // ------------------------------------------------------------------------- + // From MActivePalette2Observer +public: + /** + * Called when a new item is focused + * @param aPrevItem Item ID of previously focused item + * @param aFocusedItem Item ID of newly focused item + */ + virtual void NotifyItemFocused(TInt aPrevItem, TInt aFocusedItem); + + /** + * Called when the user has selected an item from the AP, before the plugin is informed + * @param aEvent The event data + */ + virtual void NotifyItemSelected(const TActivePalette2EventData& aEvent); + + /** + * Called when the user has selected an item from the AP, after the relevant plugin + * has completed processing the event + * @param aEvent The event data + * @param aDataDes Data descriptor + * @param aDataInt Data integer + */ + virtual void NotifyItemComplete(const TActivePalette2EventData& aEvent, + const TDesC8& aDataDes, + TInt aDataInt); + + /** + * Called when a plugin generates a message for the client app. + * @param aEvent The event data + * @param aMessageID The ID of the message + * @param aDataDes Data descriptor + * @param aDataInt Data integer + */ + virtual void NotifyMessage(const TActivePalette2EventData& aEvent, + TInt aMessageID, + const TDesC8& aDataDes, + TInt aDataInt); + + /** + * Request for the client app to redraw the given area underneath the AP. Used to support semi-transparency. + * It is important that this completes quickly. This will only be called if a CCoeControl-derived AP is + * in use. + * @param aArea The area to redraw. + */ + virtual void Redraw(const TRect& aArea); + + /** + * Informs the observer that the AP has been updated in some way. Includes animations. + * Only called if SetGc() has previously been called on the AP with a non-NULL parameter, and if the AP + * in use is a CCoeControl. + */ + virtual void ActivePaletteUpdated(void); + + // ------------------------------------------------------------------------- + // New methods +public: + + /** + * Get the Active Palette instance. + */ + MActivePalette2UI* ActivePalette() const; + +private: + + /** + * Create Active Palette. + */ + void CreateActivePaletteL(); + + /** + * Helper method to trace the Active Palette Event details. + * @param aEvent The event. + */ + void CheckActivePaletteEvent( const TActivePalette2EventData& aEvent ); + + // ------------------------------------------------------------------------- + // Data +private: + + CActivePalette2ApiTest* iTest; + MActivePalette2UI* iActivePalette; + TUid iAppUid; + + // ------------------------------------------------------------------------- + }; + +#endif // ACTIVEPALETTECONTAINER_H