diff -r 61bc0f252b2b -r bac7acad7cb3 camerauis/cameraapp/generic/inc/CamBurstThumbnailContainer.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/camerauis/cameraapp/generic/inc/CamBurstThumbnailContainer.h Wed Sep 01 12:30:54 2010 +0100 @@ -0,0 +1,145 @@ +/* +* 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 burst thumbnail view +* +* Copyright © 2007 Nokia. All rights reserved. +* This material, including documentation and any related computer +* programs, is protected by copyright controlled by Nokia. All +* rights are reserved. Copying, including reproducing, storing, +* adapting or translating, any or all of this material requires the +* prior written consent of Nokia. This material also contains +* confidential information which may not be disclosed to others +* without the prior written consent of Nokia. + +* +* +*/ + + + +#ifndef CAMBURSTTHUMBNAILCONTAINER_H +#define CAMBURSTTHUMBNAILCONTAINER_H + +// INCLUDES +#include "CamContainerBase.h" + +// FORWARD DECLARATIONS +class CCamAppController; +class CAknView; +class CCamBurstThumbnailGrid; +class CCamBurstThumbnailGridModel; +class MTouchFeedback; + +// CLASS DECLARATION + +/** +* Container for burst thumbnail view +*/ +class CCamBurstThumbnailContainer : public CCamContainerBase + { + public: // Constructors and destructor + + /** + * Symbian OS two-phased constructor + * @since 2.8 + * @param aController reference to CCamAppController instance + * @param aView reference to the view containing this container + * @param aRec Frame rectangle for container. + * @param aGridModel Model representing the grid contents + * @return pointer to the created CCamBurstThumbnailContainer object + */ + static CCamBurstThumbnailContainer* NewL( CCamAppController& aController, + CAknView& aView, + const TRect& aRec, + CCamBurstThumbnailGridModel& aGridModel ); + + /** + * Destructor. + * @since 2.8 + */ + virtual ~CCamBurstThumbnailContainer(); + + /** + * Symbian OS 2nd phase constructor. + * @since 2.8 + * @param aRect Frame rectangle for container. + */ + void ConstructL( const TRect& aRect ); + + /** + * C++ constructor + * @since 2.8 + * @param aController reference to CCamAppController instance + * @param aView reference to the view containing this container + * @param aGridModel Model representing the grid contents + */ + CCamBurstThumbnailContainer( CCamAppController& aController, + CAknView& aView, + CCamBurstThumbnailGridModel& aGridModel ); + + public: // Functions from base classes + /** + * 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 ); + + /** + * From CoeControl + */ + void HandlePointerEventL( const TPointerEvent& aPointerEvent ); + + + protected: // Functions from base classes + /** + * From CoeControl + * @since 2.8 + * @return number of contained controls + */ + TInt CountComponentControls() const; + + /** + * From CoeControl + * @since 2.8 + * @param aIndex The index of the control required + * @return 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; + + private: // Data + // Pointer to the CCoeControl for the thumbnail grid + CCamBurstThumbnailGrid* iGridControl; + + // The model describing the contents of the grid control + CCamBurstThumbnailGridModel& iGridModel; + + // touch feedback interface for providing tactile feedback + MTouchFeedback* iFeedback; + }; + +#endif // CAMBURSTTHUMBNAILCONTAINER_H + +// End of File