--- a/camerauis/cameraapp/generic/inc/CamPreCaptureViewBase.h Thu Aug 19 09:36:57 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,430 +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: Base class for pre-capture views*
-*/
-
-
-#ifndef CAMPRECAPTUREVIEWBASE_H
-#define CAMPRECAPTUREVIEWBASE_H
-
-#include <akntoolbarobserver.h>
-#include <akntouchgesturefw.h>
-#include <akntouchgesturefwobserver.h>
-#include <akntouchgesturefwevents.h>
-
-#include "CamCaptureSetupViewBase.h"
-
-#include "CamControllerObservers.h"
-#include "CamAppController.h"
-
-// FORWARD DECLARATION
-class CCamCaptureSetupMenu;
-class CCamStandbyContainer;
-class MAknsSkinInstance;
-class TAknsItemID;
-class CAknButton;
-
-
-using namespace AknTouchGestureFw;
-// CLASS DECLARATION
-
-/**
-* Base class for precapture views
-*
-* @since 2.8
-*/
-class CCamPreCaptureViewBase : public CCamCaptureSetupViewBase,
- public MCamControllerObserver,
- public MAknToolbarObserver,
- public MAknTouchGestureFwObserver
- {
- public: // Constructors and destructor
-
- /**
- * Destructor.
- * @since 2.8
- */
- virtual ~CCamPreCaptureViewBase();
-
- public: // Functions from base classes
-
- /**
- * From CAknView Handle commands
- * @since 2.8
- * @param aCommand command to be handled
- */
- void HandleCommandL( TInt aCommand );
-
- /**
- * From CAknView Handles the foreground/background event
- * @since 2.8
- * @param aForeground ETrue if this view is on foreground, else EFalse.
- */
- void HandleForegroundEventL( TBool aForeground );
-
- /**
- * From MCamControllerObserver
- * @since 2.8
- * @param aEvent The enumerated code for the event received
- * @param aError The error code associated with the event
- */
- void HandleControllerEventL( TCamControllerEvent aEvent,
- TInt aError );
-
- /**
- * From CAknView.
- * @since 2.8
- * @param aPreViewId the ID for previous view we are switching from
- * @param aCustomMessageId the Uid for message passed to this view
- * @param aCustomMessage descriptor containing data content for view specific message
- */
- void DoActivateL( const TVwsViewId& aPreViewId, TUid aCustomMessageId,
- const TDesC8& aCustomMessage );
- /**
- * From CAknView.
- * @since 2.8
- */
- void DoDeactivate();
-
- /**
- * From CCamViewBase
- * Handle change of focus to another application
- * This only handles another application coming to the foreground when
- * the camera application is already in the background behind an eikon
- * server window
- * @since 2.8
- */
- void HandleFocusLossL();
-
- /**
- * From CCamCaptureSetupViewBase
- * Revert to normal mode
- * @since 2.8
- */
- virtual void ExitAllModesL();
-
- /**
- * Gesture events are subscribed once the containers are constructed by
- * derived class.
- */
- void CreateContainerL();
-
- /**
- * Gesture event notifications are received in this function.
- */
- void HandleTouchGestureL( MAknTouchGestureFwEvent& aEvent );
-
- public: // New functions
-
- /**
- * From CCamCaptureSetupViewBase
- * Return the active setting mode
- * @since 2.8
- * @return the active setting mode
- */
- TCamSettingMode ActiveSettingMode();
-
- /**
- * AppUi calls this to notify views of focusgained and focuslost
- * events.
- */
- void HandleAppEvent( const TCamAppEvent& aEvent );
-
- /**
- * Sets a flag to true to indicate that access point dialog is shown and
- * viewfinder needs to be restarted.
- */
- void SetLocationTrailConnecting();
-
- /**
- * AppUi calls this to indicate if postcapture view will be visible
- * in near future.
- */
- void SetPostCaptureViewAsumption( TBool aAssumePostCaptureView );
-
- /**
- * Try to start the capture with MSK command.
- * @since 9.1
- * @return ETrue if started.
- */
- virtual TBool StartMskCaptureL() = 0;
-
-
- /**
- * Getter for iCaptureSetupModeActive
- * @since 9.2
- * @return iCaptureSetupModeActive
- */
- TBool IsSetupModeActive();
-
- protected: // Functions from base classes
-
- /**
- * From CCamPreCaptureViewBase
- * Set the menu bar resource.
- */
- virtual void SetMenuBar() = 0;
-
- /**
- * From CCamCaptureSetupViewBase
- * Switches the current mode to capture setup and activates a
- * specific control.
- * @since 2.8
- * @param aSetupCommand that specifies which setup control type to activate.
- */
- void SwitchToCaptureSetupModeL( TInt aSetupCommand );
-
- /**
- * From CCamCaptureSetupViewBase
- * Switches the current mode to scene setting and activates a
- * specific control.
- * @since 2.8
- */
- void SwitchToSceneSettingModeL();
-
- /**
- * From CCamCaptureSetupViewBase
- * Exits capture setup mode and activates the capture setup menu control.
- * @since 2.8
- */
- void ExitCaptureSetupModeL();
-
- /**
- * From CCamCaptureSetupViewBase
- * Exits scene setting mode and activates the capture setup menu control.
- * @since 2.8
- */
- void ExitSceneSettingModeL();
-
- /**
- * From CCamCaptureSetupViewBase
- * Exits scene setting mode and activates the capture setup menu control.
- * @since 2.8
- */
- void ExitInfoListBoxL();
-
- /**
- * Returns whether the view is a precapture view or not
- * @since 3.0
- * @returns ETrue
- */
- virtual TBool IsPreCapture();
-
- /**
- * Update fixed toolbar icons according to current settings
- * @since S60 5.0
- */
- virtual void UpdateToolbarIconsL() = 0;
- /**
- * Redraws the toolbar and toolbarextension if visible
- * @since S60 5.1
- */
- virtual void RedrawToolBar();
-
- /**
- * Returns the toolbar button by id from either the toolbar or toolbar extension
- * @param aCommandId CommandId correpsonding to the button
- * @returns the button or NULL
- * @since S60 5.1
- */
- CAknButton* ToolbarButtonById(const TCamCmd aCommandId) const;
-
-public:
-
- /**
- * Hides a toolbar/extension icon
- * @param aCommandId CommandId correpsonding to the button
- * @returns void
- * @since S60 5.1
- */
- virtual void HideButton(const TCamCmd aCommandId);
-
- protected: // New functions
-
- /**
- * C++ default constructor.
- * @param aController Reference to either the application controller
- * base class or test base class
- * @since 2.8
- */
- CCamPreCaptureViewBase( CCamAppController& aController );
-
- /**
- * Symbian 2nd phase constructor.
- * @since 2.8
- */
- void ConstructL();
-
- /**
- * Enter Viewfinder mode
- * @since 2.8
- */
- virtual void StartViewFinder() = 0;
-
- /**
- * Exit Viewfinder mode
- * @since 2.8
- */
- virtual void StopViewFinder() = 0;
-
- /**
- * Switch from current mode to standby mode
- * @since 2.8
- * @param aViewId the current view id
- * @param aError associated error code
- */
- void SwitchToStandbyModeL( TCamAppViewIds aViewId, TInt aError );
-
- /**
- * Exit standby mode and return to previous capture mode
- * @since 2.8
- */
- void ExitStandbyModeL();
-
-#if 0
- /**
- * Check whether the ok options menu can be displayed
- * @since 2.8
- * @return ETrue if the menu can be displayed, else EFalse
- */
- TBool IsOkOptionsMenuAllowed();
-#endif // 0
-
- /**
- * Stop the viewfinder and inform the controller that the engine is
- * no longer required by this view
- * @since 2.8
- */
- void ReleaseResources();
-
- /**
- * Switches the current mode to capture setup menu and activates
- * the capture setup menu control.
- * @since 2.8
- */
- void SwitchToCaptureSetupMenuModeL();
-
- /**
- * Exits capture setup menu mode and activates the original precapture
- * view container that was active before entering this mode.
- * @since 2.8
- */
- void ExitCaptureSetupMenuModeL();
-
- /**
- * Creates a capture setup menu. Derived classes should create
- * either a video or photo menu, depending on the class type.
- * @since 2.8
- */
- virtual void CreateCaptureSetupMenuL() = 0;
-
- /**
- * Removes the capture setup menu and original container from
- * the container stack.
- * @since 2.8
- */
- void RemoveCaptureSetupMenuContainers();
-
- /**
- * Set the icon of a toolbar button
- * @since S60 5.0
- * @param aButton The button whose icon is to be changed.
- * @param aIconFilename Full path to the MBM/MIF file
- * @param aIconId Icon ID in MBM/MIF file
- * @param aMaskId Mask ID in MBM/MIF file
- * @param aSkinInstance Current skin instance
- * @param aSkinItemId Skin ID for the button graphic
- *
- */
- void SetIconL(
- CAknButton* aButton,
- const TDesC& aIconFilename,
- TInt aIconId,
- TInt aMaskId,
- MAknsSkinInstance* aSkinInstance,
- const TAknsItemID& aSkinItemId );
-
- /**
- * Initialise the switch camera menu item, used from
- * DynInitMenuPaneL()
- * @since 3.0
- * @param aMenuPane The menu pane to initialise
- */
- void DynInitSwitchCameraMenuItemL( CEikMenuPane* aMenuPane );
-
-// from base class MAknToolbarObserver
-
- void OfferToolbarEventL( TInt aCommand );
-
- private: // new functions
-
- /**
- * Cleans up the capture setup menu if a leave occurs
- * while switching to capture setup menu mode
- * @param aAny pointer to the object to cleanup
- * @since 2.8
- */
- static void CleanupCaptureSetupMenu( TAny* aAny );
-
- /**
- * Helper method to setup the Active Palette.
- * If needed, the AP is created.
- * For existing AP, the items are first cleared.
- * New items are set with resource from GetAPResourceId.
- */
- void SetupActivePaletteL();
-
- protected: // data
-
- // An extra container that the view uses when in capture setup menu mode.
- CCamCaptureSetupMenu* iCaptureSetupMenuContainer;
-
- // Used to determine when the view is in capture setup mode
- TBool iCaptureSetupMenuModeActive;
-
- // Used to determine which capture setup menu item to select
- // when a capture setup control is exited.
- TInt iCaptureSetupMenuLastItemIndex;
-
-
- // Indicates that the application has lost the foreground but has not
- // released the resources
- TBool iContinueInBackground;
-
- // Indicates if the view was told to initiate standby mode from
- // activation
- TBool iActivateToStandby;
-
- // Indicates if the view was told to exit to standby mode from
- // the current mode
- TBool iDeactivateToStandby;
-
- // Indicates if toolbar extension should be invisible when returning
- // precapture view
- TBool iToolbarExtensionInvisible;
-
- // Asumption that next view is postcaptureview. If true don't start
- // viewfinder if coming to foreground from background.
- TBool iAssumePostCaptureView;
-
- TBool iLocationTrailConnecting;
-
- // Gesture related
- CAknTouchGestureFw *iGestureFw;
- TInt iLastMovement;
- };
-
-#endif // CAMPRECAPTUREVIEWBASE_H
-
-// End of File