camerauis/cameraapp/generic/GsCamcorderPlugin/inc/GSCamQualitySettingContainer.h
changeset 19 d9aefe59d544
parent 3 8b2d6d0384b0
child 21 fa6d9f75d6a6
child 28 3075d9b614e6
--- a/camerauis/cameraapp/generic/GsCamcorderPlugin/inc/GSCamQualitySettingContainer.h	Tue Feb 02 00:01:39 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,305 +0,0 @@
-/*
-* Copyright (c) 2007 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:  Implements the quality slider for image and video settings*
-*/
-
-
-#ifndef GSCAMQUALITYSETTINGCONTAINER_H
-#define GSCAMQUALITYSETTINGCONTAINER_H
-
-//  INCLUDES
-#include <bldvariant.hrh>
-#include <coecntrl.h>
-#include <AknUtils.h>
-#include "CamSettingValueObserver.h"
-#include "GSCamQualitySettingSlider.h"
-#include "CamControllerObservers.h"
-
-// CONSTANTS
-const TInt KMaxTextLength = 40;
-
-// FORWARD DECLARATIONS
-class CCamCaptureSetupSlider;
-class MAknQueryValue;
-
-class CCamConfiguration;
-class MTouchFeedback;
-
-enum TCamCameraStateFlags
-  {
-  ECamIdle      =    0,
-  ECamReserved  = 1<<0,
-  ECamPowerOn   = 1<<1,
-  ECamVFOn      = 1<<2,
-  ECamImageOn   = 1<<3,
-  ECamVideoOn   = 1<<4
-//  ECamCaptureOn = 1<<5
-  };
-/**
-*  Implements the quality slider control and descriptive texts
-*
-*  @since 2.8
-*/
-class CGSCamQualitySettingContainer : public CCoeControl,
-                                      public MCamSettingValueObserver,
-                                      public MCamControllerObserver
-    {
-    public:  // Constructors and destructor
-        
-        /**
-        * Two-phased constructor.
-        * @since 2.8
-        * @param aController reference to the app controller
-        * @param aMode the current capture mode
-        * @param aParent this control's parent
-        * @return pointer to a new quality container
-        */
-        static CGSCamQualitySettingContainer* NewL( MCamAppController& aController,
-                                                    TCamCameraMode aMode,
-                                                    CCoeControl* aParent );
-        
-        /**
-        * Destructor.
-        */
-        virtual ~CGSCamQualitySettingContainer();
-
-    public: // New functions
-        
-        /**
-        * Returns the selected quality
-        * @since 2.8
-        * @return the selected quality
-        */
-        TInt SelectedQuality() const;
-
-    public: // Functions from base classes
-
-        /**
-        * From CCoeControl 
-        * Constructs the control from a resource
-        * @since 2.8
-        * @param aReader the resource reader
-        */
-        void ConstructFromResourceL( TResourceReader& aReader );
-
-        /**
-        * From CCoeControl
-        * Standard CCoeControl routine to return the number of component controls
-        * @since 2.8
-        * @return the number of component controls
-        */
-	    TInt CountComponentControls() const;
-
-        /**
-        * From CCoeControl
-        * Standard CCoeControl routine to return the control at a given index
-        * @since 2.8
-        * @param anIndex index at which to return control
-        * @return the control at the given index
-        */ 
-        CCoeControl* ComponentControl( TInt anIndex ) const;
-
-        /**
-        * From CCoeControl
-        * Draws the controls
-        * @since 2.8
-        * @param aRect	the invlaid rect to draw
-        */ 
-        void Draw( const TRect& aRect ) const;
-
-        /**
-        * From CCoeControl
-        * Called when the size of the control changes
-        * @since 2.8
-        */ 
-        void SizeChanged();
-
-        /**
-        * From CCoeControl
-        * Offers a key event to the control
-        * @since 2.8
-        * @param aKeyEvent the key event offered
-        * @param aType the type key event
-        * @return whether the key was handled
-        */ 
-        TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent, TEventCode aType );
-    
-        /**
-        * From MCamSettingValueObserver
-        * Handles a change in the slider value
-        * @since 2.8
-        * @param aNewValue the new value of the setting
-        */ 
-        void HandleSettingValueUpdateL( TInt aNewValue );
-
-    public: // From MCamControllerObserver
-        /**
-        * From MCamControllerObserver
-        * Handles an event from the controller
-        * @since 2.8
-        * @param aEvent the event that the controller sends out
-        * @param aError KErrNone if the operation that cause the event was successful
-        */ 
-        void HandleControllerEventL( TCamControllerEvent aEvent, TInt aError );
-        
-    protected:  // New functions
-
-    protected:  // Functions from base classes
-
-    private:
-
-        /**
-        * C++ default constructor.
-        * @since 2.8
-        * @param aController reference to the app controller
-        * @param aMode the current capture mode
-        * @param aParent this control's parent
-        */
-        CGSCamQualitySettingContainer( MCamAppController& aController,                                     
-                                       TCamCameraMode aMode,
-                                       CCoeControl* aParent );
-
-        /**
-        * By default Symbian 2nd phase constructor is private.
-        * @since 2.8
-        */
-        void ConstructL();
-
-        /**
-        * Reads the layout from a resource file
-        * @since 2.8
-        */
-        void ReadLayoutL();
-
-        /**
-        * Draws the quality description texts for image/video
-        * @since 2.8
-        * @param aGc The graphics context to draw to
-        */
-        void DrawQualityTexts( CWindowGc& aGc, TRgb aColor ) const;
-
-        /**
-        * Draws the storage icon for image/video
-        * @since 2.8
-        * @param aGc The graphics context to draw to
-        */
-        void DrawStorageIcon( CWindowGc& aGc ) const;
-
-        /**
-        * Draws the remaining image count/video time remaining
-        * @since 2.8
-        * @param aGc The graphics context to draw to
-        */
-        void DrawRemainingText( CWindowGc& aGc ) const;
-
-        /**
-        * Queries the controller to update the remaining time text
-        * @since 2.8
-        */
-        void UpdateRemainingTextL();
-
-        /**
-        * Resets the remaing time/images text.
-        */
-        void ResetRemainingTextL();
-        
-        /**
-        * Populates a text array from the resource definition of available
-        * quality texts using the supported quality values
-        * @since 3.0
-        * @param aReader the resource reader with the array of available texts
-        * @param aArray the array to populate
-        */
-        void ReadInTextArrayL( TResourceReader& aReader, CDesCArrayFlat& aArray );
-                
-    public:     // Data
-    
-    protected:  // Data
-
-    private:    // Data
-        // the app controller interface
-        MCamAppController& iController;
-        
-        // the parent control        
-        CCoeControl* iParent;
-        // the selected quality settings
-        TInt iSelectedQuality;
-        // phone storage location bitmap
-        CFbsBitmap* iPhoneIcon;
-        // phone storage location mask
-        CFbsBitmap* iPhoneIconMask;
-        // MMC storage location bitmap
-        CFbsBitmap* iMMCIcon;
-        // MMC storage location mask
-        CFbsBitmap* iMMCIconMask;
-        // mass storage storage location bitmap
-        CFbsBitmap* iMassStorageIcon;
-        // mass storage storage location mask
-        CFbsBitmap* iMassStorageIconMask;
-        // The text in the title pane
-        HBufC* iTextTitle;
-        // The subtitle text at top of page
-        HBufC* iTextTopSubtitle;
-        // The subtitle text at bottom of page
-        HBufC* iTextBottomSubtitle;
-        // The title for the remaining time text
-        HBufC* iTextRemainingTitle;
-        // The remaining count/time text
-        TBuf<KMaxTextLength> iTextRemaining;
-        // Format string for remaining time
-        HBufC* iTimeFormat;
-
-        // Array of all quality titles
-        CDesCArrayFlat* iTitleArray;
-        // Array of all quality descriptions
-        CDesCArrayFlat* iDescArray;
-        // Array of the enumeration mapping to the titles
-        RArray<TInt> iEnumArray; 
-        // Array of quality description lines
-        CArrayFixFlat<TPtrC>* iCurrentDescLineArray;
-        // The layout of the quality title
-        TAknLayoutText iLayoutSettingTitle;
-        // the layout for the rect containing all description text
-        TAknLayoutRect iLayoutDescRect;
-        // Array of layouts for each of the lines in the quality decription
-        RArray<TAknLayoutText> iLayoutSettingDescLines;
-        // The layout for the remaining title text
-        TAknLayoutText iLayoutRemainingTitle;
-        // The layout for the remaining images/video time
-        TAknLayoutText iLayoutRemainingText;
-        // The layout for the storage icon
-        TAknLayoutRect iLayoutIcon;
-        // The slider control
-        CGSCamQualitySettingSlider* iSlider;
-        // The current capture mode (video/still)
-        TCamCameraMode iMode;
-        // The current storage location
-        TCamMediaStorage iStorageLocation;
-
-        // Array of supported qualities
-        RArray<TInt> iSupportedQualitiesArray;
-        
-        // ETrue if remaining video recording time for current video quality
-        // is known, so remaining time and storage icon can be drawn.
-        TBool iRemainingVideoTimeKnown;
-        
-        // Configuration Manager        
-        CCamConfiguration* iConfiguration;
-        
-        MTouchFeedback* iFeedback; // not own
-    };
-
-#endif      // GSCAMQUALITYSETTINGCONTAINER_H   
-            
-// End of File