--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/camerauis/cameraapp/generic/inc/CamCaptureSetupMenu.h Thu Jan 07 16:18:56 2010 +0200
@@ -0,0 +1,191 @@
+/*
+* 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: Container for the listbox that draws the Capture Setup Menu.*
+*/
+
+
+#ifndef CAMCAPTURESETUPMENU_H
+#define CAMCAPTURESETUPMENU_H
+
+// INCLUDES
+#include "CamContainerBase.h"
+#include <AknPopupFader.h>
+
+// FORWARD DECLARATIONS
+class CCamCaptureSetupMenuListBox;
+
+// CLASS DECLARATION
+
+/**
+* CCamCaptureSetupMenu container control class.
+*
+*/
+class CCamCaptureSetupMenu : public CCamContainerBase, public MAknFadedComponent
+ {
+ public: // Constructors and destructor
+
+ /**
+ * Two-phased constructor.
+ * @since 2.8
+ * @param aController used by the list box model to get list item values.
+ * @param aView the view that this container belongs to.
+ * @param aRect the client rectangular area.
+ * @param aResourceId the id of the resource that will be used to populate the list box.
+ * @param aSelectedItemIndex the index of the selected item.
+ * @return pointer to the created capture setup menu container.
+ */
+ static CCamCaptureSetupMenu* NewL(
+ CCamAppController& aController,
+ CAknView& aView,
+ const TRect& aRect,
+ TInt aResourceId,
+ TInt aSelectedItemIndex = 0 );
+ /**
+ * Destructor.
+ * @since 2.8
+ */
+ ~CCamCaptureSetupMenu();
+
+ public: // New functions
+ /**
+ * Returns the list index of the currently selected item.
+ * @since 2.8
+ * @return the list index
+ */
+ TInt CurrentItemIndex() const;
+
+ /**
+ * Fades everything behind this menu.
+ * @since 2.8
+ * @param aFade ETrue if everything is to be faded. Otherwise EFalse.
+ */
+ void FadeBehind( TBool aFade );
+
+ public: // Functions from base class MAknFadedComponent
+
+ /**
+ * Returns the number of components that are not faded
+ * when the fader object is active.
+ * @since 2.8
+ * @return the number of unfaded components.
+ */
+ TInt CountFadedComponents();
+
+ /**
+ * Returns a pointer to a non-faded component.
+ * @since 2.8
+ * @param aIndex the index of the non-faded component.
+ * @return the CCoeControl pointer.
+ */
+ CCoeControl* FadedComponent(TInt aIndex);
+
+ public: // Functions from base classes
+
+ /**
+ * Handles commands.
+ * @since 2.8
+ * @param aCommand the command id.
+ */
+ void HandleCommandL( TInt aCommand );
+
+
+ private: // Constructors.
+ /**
+ * C++ constructor
+ * @since 2.8
+ * @param aController reference to CCamAppController instance
+ * @param aView reference to the view containing this container
+ */
+ CCamCaptureSetupMenu( CCamAppController& aController,
+ CAknView& aView );
+
+ /**
+ * 2nd phase constructor.
+ * @since 2.8
+ * @param aRect Frame rectangle for container.
+ * @param aResourceId the id of the resource to populate the list box with.
+ * @param aSelectedItemIndex the index of the selected item.
+ */
+ void ConstructL( const TRect& aRect, TInt aResourceId, TInt aSelectedItemIndex );
+
+ private: // Functions from base classes
+
+ /**
+ * Returns number of component controls in this container.
+ * @since 2.8
+ * @return the number of component controls.
+ */
+ TInt CountComponentControls() const;
+
+ /**
+ * Returns a component control.
+ * @since 2.8
+ * @param aIndex the index of the desired component control.
+ * @return the component control.
+ */
+ CCoeControl* ComponentControl( TInt aIndex ) const;
+
+ /**
+ * Draws the container.
+ * @since 2.8
+ * @param aRect the client rectangular area.
+ */
+ void Draw( const TRect& aRect ) const;
+
+ /**
+ * Handles key events.
+ * @since 2.8
+ * @param aKeyEvent the key event.
+ * @param aType the type of key event.
+ * @return whether the key has been consumed or not.
+ */
+ TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent, TEventCode aType );
+
+
+
+ private: // New functions
+
+ /**
+ * Creates the list box.
+ * @since 2.8
+ * @param aRect the client rectangular area.
+ * @param aResourceId the id of the resource to populate the list.
+ * @param aSelectedItemIndex Index of the item to be selected.
+ */
+ void CreateCaptureSetupListBoxL( TRect& aRect, TInt aResourceId, TInt aSelectedItemIndex );
+
+ /**
+ * Returns the command id for activating the current list item control.
+ * @since 2.8
+ * @return the command id.
+ */
+ TInt CommandIdForActivatingCurrentItemControl();
+
+ /**
+ * Handles the pressing of the softkey selection.
+ * @since 2.8
+ */
+ void HandleSelectionL();
+
+ private: //data
+
+ // The list box.
+ CCamCaptureSetupMenuListBox* iCaptureSetupListBox;
+
+ // Fader object used to fade everything except this menu and the CBA.
+ TAknPopupFader iPopupFader;
+
+ };
+
+#endif // CAMCAPTURESETUPMENU_H