diff -r 8b2d6d0384b0 -r d9aefe59d544 camerauis/cameraapp/generic/inc/CamInfoListBoxContainer.h --- a/camerauis/cameraapp/generic/inc/CamInfoListBoxContainer.h Tue Feb 02 00:01:39 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,247 +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: Setting page for Image/Video quality.* -*/ - - -#ifndef CAMINFOLISTBOXCONTAINER_H -#define CAMINFOLISTBOXCONTAINER_H - -// INCLUDES -#include "CamContainerBase.h" -#include "CamAppController.h" -#include "CamSettingValueObserver.h" -#include "CamSettings.hrh" -#include -#include - - -// CONSTANTS - -// MACROS - -// DATA TYPES - -// FUNCTION PROTOTYPES - -// FORWARD DECLARATIONS -class MAknQueryValue; -class CCamInfoListBox; -class CAknInfoPopupNoteController; -class MTouchFeedback; - -// CLASS DECLARATION - -/** -* Implements a general setting control, with a listbox with choices -* in the left and a icon and highlighted item description in the right. -* -* @since 2.8 -*/ - -class CCamInfoListBoxContainer : public CCamContainerBase, - public MCamSettingValueObserver, - public MEikListBoxObserver - { - public: // Constructors and destructor - - /** - * Symbian OS two-phased constructor - * @since 2.8 - * @param aRect Frame rectangle for container. - * @param aView Reference to the view containing this container - * @param aController reference to CCamAppControllerBase instance - * @param aListBoxResource Listbox resource data - * @param aSummaryResource Summary resource data - * @param aSettingValue Initial setting value - */ - static CCamInfoListBoxContainer* NewL( const TRect& aRect, - CAknView& aView, - CCamAppController& aController, - TInt aListBoxResource, - TInt aSummaryResource, - TInt aSettingValue, - TInt aTitleResource ); - - /** - * Destructor. - * @since 2.8 - */ - virtual ~CCamInfoListBoxContainer(); - - private: - /** - * Symbian OS 2nd phase constructor. - * @since 2.8 - * @param aRect Frame rectangle for container. - * @param aListBoxResource - * @param aSummaryResource - */ - void ConstructL( const TRect& aRect, TInt aListBoxResource, TInt aSummaryResource, TInt aTitleResource ); - - /** - * C++ constructor - * @since 2.8 - * @param aController reference to CCamAppControllerBase instance - * @param aView Reference to the view containing this container - * @param aSettingValue Initial setting value - * display the base scenes for the user scene. - */ - CCamInfoListBoxContainer( CCamAppController& aController, - CAknView& aView, - TInt aSettingValue ); - - public: - - /** - * Gets the settings item value ID of the current item - * @since 2.8 - * @return the settings item value of the currently highlighted item - */ - TInt CurrentSettingItemValue() const; - - /** - * Returns ETrue if the setting item value has changed - * @since 2.8 - * @return setting value change status - */ - TBool SettingValueChanged() const; - - /** - * Gets the index in the item array that has the specified settings - * item value ID of the current item - * @since 3.0 - * @return the index of the item with the specified value id - */ - TInt IndexForValueId( TInt aValueId ) const; - - public: //Functions from base classes - /** - * From MCamSettingValueObserver - * Handles a change in the slider value - * @since 2.8 - * @param aNewValue the new value of the setting - */ - void HandleSettingValueUpdateL( TInt aNewValue ); - - - protected: // Functions from base classes - /** - * From CoeControl - * @since 2.8 - * @return number of contained controls - */ - TInt CountComponentControls() const; - - /** - * From CCoeControl - * @since 2.8 - * @param aIndex The index of the required control - * @return Returns the requested control - */ - CCoeControl* ComponentControl( TInt aIndex ) const; - - /** - * From CCoeControl - * @since 2.8 - * @param aRect area where to draw - */ - void Draw( const TRect& aRect ) const; - - /** - * From CamContainerBase - * @since 2.8 - * @param aKeyEvent the key event - * @param aType the type of the event - * @return TKeyResponse key event was used by this control or not - */ - TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent, - TEventCode aType ); - - private: - /** - * Sets up the summary pane detail arrays - * @since 2.8 - * @param aResourceId The resource that defines the summary pane details - */ - void ConstructSummaryDetailsFromResourceL(TInt aResourceId); - - - void HandlePointerEventL( const TPointerEvent& aPointerEvent ); - /** - * From MEikListBoxObserver - */ - void HandleListBoxEventL(CEikListBox* aListBox, TListBoxEvent aEventType); - void ShowTooltipL(); - void ConstructContainerTitleFromResourceL( TInt aResourceId ); - - /** - * Draws the summary title and description text - * @param aGc The graphics context to draw to - */ - void DrawSummaryTextL( CWindowGc& aGc ) const; - - /** - * Read touch layout - * @return TRect, listbox rectangle - */ - TRect TouchLayout(); - - /** - * Read non-touch layout - * @return TRect, listbox rectangle - */ - TRect NonTouchLayout(); - - private: // data - - // The listbox itself - CCamInfoListBox* iListBox; - - // Array of bitmaps for the large summary icon - RPointerArray iSummaryBitmapArray; - // Array of all shooting mode titles - RPointerArray iTitleArray; - // Array of all shooting mode descriptions - RPointerArray iDescArray; - - TInt iSettingValue; - - - // The text shown as the title of the container - HBufC16* iListboxTitle; - - // info tooltip - CAknInfoPopupNoteController* iTooltipController; - TBool iShowTooltip; - TInt iTooltipIndex; - - // Layout rect for title text - TAknLayoutText iTitleTextRectLayout; - TAknLayoutRect iListboxLayoutRect; - TRect iLayoutAreaRect; - TRect iExplanationRect; - TInt iExplLineCount; // Number of available layouts - TAknLayoutRect iExplIconLayout; - TAknLayoutText iExplTitleLayout; - RArray iExplTxtLinesLayout; - CArrayFixFlat* iCurrentDescLineArray; // own - - TBool iActivateOnTouchRelease; - - MTouchFeedback* iFeedback; // not own - - }; - -#endif //CAMINFOLISTBOXCONTAINER_H