diff -r 000000000000 -r 96612d01cf9f videocollection/hgmyvideos/inc/vcxhgmyvideosmainview.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/videocollection/hgmyvideos/inc/vcxhgmyvideosmainview.h Mon Jan 18 20:21:12 2010 +0200 @@ -0,0 +1,277 @@ +/* +* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of the License "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: My Videos UI main view.* +*/ + + +// Version : %version: 12 % + +#ifndef VCXHGMYVIDEOSMAINVIEW_H +#define VCXHGMYVIDEOSMAINVIEW_H + +// INCLUDE FILES +#include +#include +#include +#include +#include + +// FORWARD DECLARATIONS + +class CVcxHgMyVideosModel; +class CVcxHgMyVideosMainViewContainer; +class CIptvResourceLoader; +class CVcxHgMyVideosCategoryListImpl; +class CVcxHgMyVideosVideoListImpl; +class TVcxHgMyVideosMemoryStatusDialog; +class CHgScroller; +class CAknsBasicBackgroundControlContext; + +// CLASS DECLARATION + +/** + * My Videos UI main view. + * + * @lib vcxhgmyvideos.lib + */ +class CVcxHgMyVideosMainView : public CAknView + { + public: // Constructors and destructor + + /** + * Creates main view. + * + * @return New main view object. + */ + IMPORT_C static CVcxHgMyVideosMainView* NewL(); + + /** + * Creates main view. + * + * @return New main view object. + */ + IMPORT_C static CVcxHgMyVideosMainView* NewLC(); + + /** + * Destructor. + */ + IMPORT_C virtual ~CVcxHgMyVideosMainView(); + + public: + + /** + * Accessor for the application's AppUi. + * + * @return Pointer to AppUi. + */ + CAknViewAppUi* AppUi() const { return CAknView::AppUi(); } + + /** + * Returns pointer to button group container. + * + * @return Button group container. + */ + CEikButtonGroupContainer* Cba(); + + /** + * Accessor for the view's title pane. + * + * @return Pointer to title pane. + */ + CAknTitlePane* TitlePaneL(); + + /** + * Accessor for category list. Creates the category list if not already + * created. Can only leave if not created yet. + * + * @return Pointer to category list. + */ + CVcxHgMyVideosCategoryListImpl* CategoryListL(); + + /** + * Accessor for video list. Creates the video list if not already + * created. Can only leave if not created yet. + * + * @return Pointer to video list. + */ + CVcxHgMyVideosVideoListImpl* VideoListL(); + + /** + * Activates category list. + */ + void ActivateCategoryListL(); + + /** + * Activates video list. + * + * @param aIndex Index of video list to activate. + */ + void ActivateVideoListL( TInt aIndex ); + + /** + * Handles commands for the view. + * + * @param aCommand Command ID. + */ + void HandleCommandL( TInt aCommand ); + + /** + * Handles key events from container. + * + * @param aKeyEvent Key event. + * @param aType Key event type. + * @return Response, tells if key was handled or not. + */ + TKeyResponse HandleKeyEventL( const TKeyEvent& aKeyEvent, TEventCode aType ); + + /** + * Sets correct resource to MSK. Call whenever app state changes to that + * MSK could be affected. + */ + void DynInitMskL(); + + /** + * Sets correct resource to RSK. Call whenever app state changes to that + * RSK could be affected. + */ + void DynInitRskL(); + + /** + * Updates layout for controls. + */ + void UpdateLayout(); + + private: // Constructors + + /** + * Default C++ constructor. + */ + CVcxHgMyVideosMainView(); + + /** + * Symbian 2nd phase constructor. + */ + void ConstructL(); + + private: + + /** + * Returns Uid of View. + * + * @return TUid uid of the view + */ + TUid Id() const; + + /** + * Gets an object whose type is encapsulated by the specified + * TTypeUid object. + * + * @param aId Encapsulates the Uid that identifies the type of + * object required. + * @return TTypeUid::Ptr Encapsulates the pointer to the object provided. + * Note that the encapsulated pointer may be NULL. + */ + TTypeUid::Ptr MopSupplyObject( TTypeUid aId ); + + /* + * Called by the framework when the application status pane + * size is changed. + */ + void HandleStatusPaneSizeChange(); + + /** + * Activate the view. + * + * @param aPrevViewId Id of previous view. + * @param aCustomMessageId Id of custom message for view. + * @param aCustomMessage Custom message for view. + */ + void DoActivateL( const TVwsViewId& aPrevViewId, + TUid aCustomMessageId, + const TDesC8& aCustomMessage ); + + /** + * Deactivate the view (free resources). + */ + void DoDeactivate(); + + /** + * Disables menu items which are not available. + * + * @param aResourceId Menu resource Id. + * @param aMenuPane Menu resource. + */ + void DynInitMenuPaneL( TInt aResourceId, CEikMenuPane* aMenuPane ); + + /** + * Handles cancel command from RSK while in marking mode. + */ + void HandleCancelL(); + + private: + + /** + * Memory status dialog. + * Own. + */ + TVcxHgMyVideosMemoryStatusDialog* iMemoryStatus; + + /** + * Component model. + * Own. + */ + CVcxHgMyVideosModel* iModel; + + /** + * View container. + * Own. + */ + CVcxHgMyVideosMainViewContainer* iContainer; + + /** + * Resource loader. + * Own. + */ + CIptvResourceLoader* iResourceLoader; + + /** + * Category list implementation. + * Own. + */ + CVcxHgMyVideosCategoryListImpl* iCategoryList; + + /** + * Video list implementation. + * Own. + */ + CVcxHgMyVideosVideoListImpl* iVideoList; + + /** + * Background context. + * Own. + */ + CAknsBasicBackgroundControlContext* iBgContext; + + /** + * Resource ID of current MSK resource. + */ + TInt iCurrentMskResource; + + /** + * Resource ID of current RSK resource. + */ + TInt iCurrentRskResource; + }; + +#endif // VCXHGMYVIDEOSMAINVIEW_H