diff -r 8b2d6d0384b0 -r d9aefe59d544 camerauis/cameraapp/generic/inc/camactivepalettehandler.h --- a/camerauis/cameraapp/generic/inc/camactivepalettehandler.h Tue Feb 02 00:01:39 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,403 +0,0 @@ -/* -* Copyright (c) 2007-2008 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: Handler for Active Palette in Camera application -* -*/ - - -#ifndef CAMACTIVEPALETTEHANDLER_H -#define CAMACTIVEPALETTEHANDLER_H - -// INCLUDES -#include -#include - -#include - - -// FORWARD DECLARATIONS -class CCamAppController; -class CCamViewBase; -class TActivePalette2EventData; -class MActivePalette2UI; - -// CLASS DECLARATION - -class TCamActivePaletteItem - { -public: - TInt iItemId; - TInt iCmdId; - TInt iPosition; - TInt iIsVisible; - TInt iType; - }; - -class TCamAPPreCaptureItem - { -public: - TInt iSettingValue; - TInt iBitMapId; - }; - -// struct holding setting item and value -class TCamAPSettingsItem - { -public: - TInt iSettingItem; - TInt iSettingVal; - }; - -/** - * Handler for Active Palette in Camera application - * - * @since 3.0 - */ -class CCamActivePaletteHandler : public CBase, public MActivePalette2Observer - { -public: // Constructors and destructor - - /** - * Two-phased constructor. - */ - static CCamActivePaletteHandler* NewL( CCamAppController& aController, TBool aCreatePalette ); - - /** - * Destructor. - */ - virtual ~CCamActivePaletteHandler(); - -public: // New functions - - /** - * Return handle to Active Palette - * @since 3.0 - * @return Reference to Active Palette - */ - MActivePalette2UI* ActivePalette() const; - - /** - * Install Active Palette items from resource - * @since 3.0 - * @param aResId resource id for Active Palette items - */ - void InstallAPItemsL( TInt aResId ); - - /** - * Inform active palette handler that returned from pretend exit - * so that it can deal with it. - * @since 3.0 - */ - void ReturnedFromPretendExitL(); - - /** - * Resets highlight to the first AP item - * @since 3.1 - */ - void ResetToFirstItem(); - - /** - * Resets highlight to the default AP item - * @since 3.1 - */ - void ResetToDefaultItem(); - - - /** - * Force Active Palette update - * @since 3.0 - */ - void UpdateActivePaletteL(); - - /** - * Set current view for Active Palette - * @since 3.0 - * @param aView - pointer to current view - */ - void SetView( CCamViewBase* aView ); - - /** - * Set visibility of Active Palette - * @since 3.0 - * @param aVisibility - ETrue to set visible, EFalse to set invisible - */ - void SetVisibility( TBool aVisibility ); - - /** - * Visibility of Active Palette - * @since 3.0 - * @return ETrue if AP is visible - */ - TBool IsVisible() const; - - /** - * Whether current item was accessed via Active Palette - * @since 3.0 - * @return ETrue if AP launched current item - */ - TBool AccessedViaAP() const; - - /** - * Inform AP handler AP launched item has completed - * @since 3.0 - */ - void APOperationComplete(); - - /** - * Pass keys events to Active Palette - * @since 3.0 - * @param aKeyEvent - key event - * @param aType - key type - */ - void HandleAPKeyEventL( const TKeyEvent& aKeyEvent, - TEventCode aType); - - /** - * Create the Active Palette - * @since 3.0 - */ - void CreateActivePaletteL(const CCoeControl &aContainerWindow, - MObjectProvider *aMopParent); - - /** - * Destroys the Active Palette - * @since 3.0 - */ - void DestroyActivePalette(); - - /** - * Load post-capture view resources - * @since 3.0 - * @param aItem id of resource to load - */ - void LoadPostCaptureResourcesL( TInt aItem ); - - /** - * Get the resource id for the current setting - * @since 3.0 - * @param aSettingItem Setting we need resource for - * @return Id of array resource containing icons for this setting - */ - TInt PreCaptureArrayId( TInt aSettingItem ); - - /** - * Get bitmap for specfic value of settings item and sets its tooltip - * @since 3.0 - * @param aItem the setting value to map to a bitmap id - * @return bitmap id for specified settings val - */ - TInt GetBitmapIdFromValueL( TCamAPSettingsItem& aItem ); - - /** - * Get resource for for specific post-capture item - * @since 3.0 - * @param aCommandId the command ID value to map to an item ID - * @return resource ID for post capture item - */ - TInt PostCaptureItemId( TInt aCommandId ); - - /** - * Sets an icons visability - * @since 3.0 - * @param aCommandId the command ID for the icon - * @param aIsVisible the visability of the icon - */ - TInt SetItemVisible( const TInt aCommandId, const TBool aIsVisible ); - - /** - * Disables/enables active palette updates. - * This can be used to avoid redrawing and re-initalizing active object - * contents multiple times, when several settings are updated to the engine - * at once. - * @since 3.0 - * @param aUpdatesDisabled - */ - void DisableUpdates( TBool aUpdatesDisabled ); - - /** - * Update tooltip text for one-click upload item. This method needs to be - * called before InstallAPItemsL is called. - * - * @since S60 v5.1 - * @param aToolTip Tooltip text for one-click upload item - */ - void SetOneClickUploadTooltipL( const TDesC& aToolTip ); - -public: // Functions from base classes - - /** - * Notification of AP item focus change - * @since 3.0 - * @param aPrevItem index of item we are moving from - * @param aFocusedItem index of item we are moving to - */ - void NotifyItemFocused(TInt aPrevItem, TInt aFocusedItem); - - /** - * Notification of AP item selection - * @since 3.0 - * @param aEvent Event data from active palette - */ - void NotifyItemSelected(const TActivePalette2EventData& aEvent); - - /** - * Notification of active palette item completion - * @since 3.0 - * @param aEvent Event data from active palette - * @param aDataDes - descriptor containing packaged data - * @param aDataInt - data from AP event - */ - void NotifyItemComplete(const TActivePalette2EventData& aEvent, - const TDesC8& aDataDes, TInt aDataInt); - - /** - * Notification message received from Active Palette - * @since 3.0 - * @param aMessageID - id of message received from Active Palette - * @param aEvent Event data from active palette - * @param aDataDes - descriptor containing packaged data - * @param aDataInt - data from AP event - */ - void NotifyMessage(const TActivePalette2EventData& aEvent, - TInt aMessageID, const TDesC8& aDataDes, TInt aDataInt); - - /** - * Requests that the camera application redraws the supplied area - * @since 3.0 - * @param aArea the area to redraw - */ - void Redraw(const TRect& aArea); - - /** - * Informs us that the Active Palette has been updated - * @since 3.0 - */ - void ActivePaletteUpdated(void); - - -private: - - /** - * C++ default constructor. - */ - CCamActivePaletteHandler( CCamAppController& aController ); - - /** - * By default Symbian 2nd phase constructor is private. - */ - void ConstructL( TBool aCreatePalette ); - - /** - * Determine Non-Setting State of a Pre-Capture Non-Setting item - * @since 3.0 - * @param aItem - The activepalette item to initialise - * @return the current "setting value" of the item - */ - TInt DetermineNonSettingState(const TCamActivePaletteItem& aItem) const; - - /** - * Set the tooltip of a pre-capture non-setting item - * @since 3.0 - * @param aItem - The activepalette item to initialise - */ - void SetNonSettingItemTooltipL(const TCamActivePaletteItem& aItem); - - /** - * Clears items from the Active Palette Control - * @since 3.0 - */ - void ClearActivePalette(); - - - void InstallOneAPItemL( const TCamActivePaletteItem& aItem, - const TUid& aPluginUid, - const TDesC& aToolTipText, - const TDesC& aIconFileName, - TInt aIconId, - TInt aMaskId ); - - void CheckFlashItemVisibilityL(); - - /** - * Read toolbar items resource content to aItems - * @param aResId Toolbar item resource id - * @param aItems Item array - */ - void ReadToolbarItemsFromResourceL( TInt aResId, - RArray& aItems ); - - - /** - * Calculate the active palette dimension according to resolution - * param aLength the length to be converted - */ - TPoint APScreenLocation( TPoint aQvgaPoint ); - - /* - * To check if a specific feature is supported, to append or show in AP - */ - TBool IsAPItemFeatureSupportedL( const TInt aItemId ) const; - -private: - CEikonEnv* iEnv; - - MActivePalette2UI* iActivePalette; - - CCamAppController& iController; - - CCamViewBase* iView; - - // array of items for active palette - RArray iItemArray; - - // AP visibility flag - TBool iVisible; - -public: - // flag indicating whether AP has launched an item - TBool iItemAccessedViaAP; - -private: - // array of pre-capture items - RArray iPreCaptureItems; - - // The current tooltip text - HBufC* iToolTipText; - - // Icon file name. - HBufC* iIconFileName; - - // Current icon id. - TInt iIconId; - - // store resoure id for EV cmp - TInt iEvCompRes; - - TBool iUpdatesDisabled; - - TBool iStarted; - - // Set to true, if items for the toolbar were initialised dynamically - TBool iDynamicToolbar; - - // Tooltip text for one-click upload item. - // Own. - HBufC* iOneClickUploadTooltip; - - RArray iCurrentValSettingsItem; - }; - -#endif // CAMACTIVEPALETTEHANDLER_H - -// End of File