--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/camerauis/cameraapp/generic/inc/CamUserSceneSetupContainer.h Thu Jan 07 16:18:56 2010 +0200
@@ -0,0 +1,214 @@
+/*
+* 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 container for the user scene setup list.*
+*/
+
+
+#ifndef CAMUSERSCENESETUPCONTAINER_H
+#define CAMUSERSCENESETUPCONTAINER_H
+
+// INCLUDES
+#include "CamContainerBase.h"
+#include <coecntrl.h>
+#include <eiklbo.h>
+
+// FORWARD DECLARATIONS
+class CAknSettingStyleListBox;
+class CCamUserSceneSetupItemArray;
+class CEikFormattedCellListBox;
+
+// CLASS DECLARATION
+
+/**
+* CCamUserSceneSetupContainer container control class.
+*
+*/
+class CCamUserSceneSetupContainer : public CCamContainerBase,
+ public MEikListBoxObserver
+ //, public MCoeControlObserver
+ {
+ /* enum TVfState moved to CCamContainerBase.
+ */
+
+ // =======================================================
+ // Constructors and destructor
+ public:
+
+ /**
+ * Symbian two-phased constructor.
+ * @param aRect reference to the rectangular area for the container.
+ * @param aSettingsModel reference to the settings model.
+ * @return pointer to the created CCamUserSceneSetupContainer object.
+ * @since 2.8
+ */
+ static CCamUserSceneSetupContainer* NewLC( const TRect& aRect,
+ TInt aResourceId,
+ CCamAppController& aController,
+ CAknView& aView );
+ /**
+ * Symbian two-phased constructor.
+ * @param aRect reference to the rectangular area for the container.
+ * @param aSettingsModel reference to the settings model.
+ * @return pointer to the created CCamUserSceneSetupContainer object.
+ * @since 2.8
+ */
+ static CCamUserSceneSetupContainer* NewL( const TRect& aRect,
+ TInt aResourceId,
+ CCamAppController& aController,
+ CAknView& aView );
+
+ /**
+ * Destructor.
+ * @since 2.8
+ */
+ virtual ~CCamUserSceneSetupContainer();
+
+ // -------------------------------------------------------
+ // From CCoeControl
+ private:
+
+ /**
+ * @since 2.8
+ */
+ TInt CountComponentControls() const;
+
+ /**
+ * @since 2.8
+ */
+ CCoeControl* ComponentControl( TInt aIndex ) const;
+
+ /**
+ * @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 );
+
+ // -------------------------------------------------------
+ // From MEikListBoxObserver
+ public:
+
+ /**
+ * Handles a list box event.
+ * @param aListBox a reference to the list box.
+ * @param aEventType the type of event.
+ * @since 2.8
+ */
+ void HandleListBoxEventL( CEikListBox* aListBox, TListBoxEvent aEventType );
+
+ /**
+ * Handles the user selection of a list item.
+ * @since 2.8
+ */
+ void HandleSelectionL();
+
+ // -------------------------------------------------------
+ // New functions
+ public:
+
+ /**
+ * Handles a change in the item list visibility.
+ * @since 2.8
+ */
+ void UpdateDisplayL();
+
+ /**
+ * Returns the resource Id of the title for this container.
+ * @return the resource Id
+ * @since 2.8
+ */
+ TInt TitlePaneTextResourceId();
+
+ /**
+ * Updates the list items with the settings model values.
+ * @since 2.8
+ */
+ void UpdateListItems();
+
+ /**
+ * Updates the current list item with it's associated
+ * settings model value.
+ * @since 2.8
+ */
+ void UpdateCurrentListItem();
+
+ /**
+ * Returns wheather user scene restore is highlighted
+ */
+ TBool IsUserSceneResetHighlighted();
+
+ private:
+
+ /**
+ * Updates a list item with its corresponding settings model value.
+ * @param aIndex the index of the list item.
+ * @since 2.8
+ */
+ void UpdateListItem( TInt aIndex );
+
+ /**
+ * Returns the command id for activating the UI control that is
+ * associated with the currently selected list item.
+ * @return the command id.
+ * @since 2.8
+ */
+ TInt CommandIdForActivatingCurrentItemControl();
+
+ /**
+ * Returns a pointer to the list box.
+ * @return the list box pointer.
+ * @since 2.8
+ */
+ CEikFormattedCellListBox* ListBox();
+
+ // -------------------------------------------------------
+ // Constructors
+ private:
+
+ /**
+ * C++ Constructor
+ * @param aController a reference to the controller.
+ * @param aView a reference to the view that contains this container.
+ * @since 2.8
+ */
+ CCamUserSceneSetupContainer( CCamAppController& aController, CAknView& aView );
+
+ /**
+ * 2nd phase constructor.
+ * @since 2.8
+ * @param aRect reference to the rectangular area for the container.
+ * @param aSettingsModel reference to the settings model.
+ */
+ void ConstructL( const TRect& aRect, TInt aResourceId );
+
+ // =======================================================
+ // Data
+ private:
+
+ // User scene setup list owned by this container.
+ CAknSettingStyleListBox* iUserSceneSetupList;
+
+ // Array of user scene setup list items owned by this container.
+ CCamUserSceneSetupItemArray* iUserSceneSetupItemArray;
+
+ // The resource if for the title of the scene setup list.
+ TInt iTitleResourceId;
+
+ // =======================================================
+ };
+
+#endif
+
+// End of File