diff -r 000000000000 -r 09774dfdd46b internetradio2.0/uiinc/ircategoryviewcontainer.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/internetradio2.0/uiinc/ircategoryviewcontainer.h Mon Apr 19 14:01:53 2010 +0300 @@ -0,0 +1,307 @@ +/* +* Copyright (c) 2005-2006 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: Header for CIRCategoryViewContainer +* +*/ + + +#ifndef CIRCATEGORYVIEWCONTAINER_H +#define CIRCATEGORYVIEWCONTAINER_H + +#include +#include +#include +#include +#include "irimageconverterobserver.h" + + +class CIRCategoryView; +class CIRCategoryViewContainer; +/** + * This classes are used for Advertisements + */ +class CIRCategoryCustomListBox; +class CIRImageConverter; +class CIRFilteredModel; +class MIRListBoxArray; +class CIRCategoryAdvertisingListBox; +/** + * Container for Search Results View. + */ +class CIRCategoryViewContainer : public CCoeControl/*public CAknDoubleStyleListBox*/ , public MEikListBoxObserver, + public MIRImageConverterObserver + + { + +public: // Methods + + /** + * NewL. + * Two-phased constructor. + * Create a CIRCategoryViewContainer object, which will draw itself to aRect + * @param aRect The rectangle this view will be drawn to. + * @param aCtaegoryView The Category view's instance. + * @return a pointer to the created instance of CIRCategoryViewContainer. + */ + static CIRCategoryViewContainer* NewL( CIRCategoryView& aCtaegoryView, const TRect& aRect ); + + /** + * NewLC. + * Two-phased constructor. + * Create a CIRCategoryViewContainer object, which will draw itself to aRect + * @param aRect The rectangle this view will be drawn to. + * @param aCtaegoryView The Category view's instance. + * @return a pointer to the created instance of CIRCategoryViewContainer. + */ + static CIRCategoryViewContainer* NewLC( CIRCategoryView& aCtaegoryView, const TRect& aRect ); + + /** + * ConstructL + * 2nd phase constructor. + */ + void ConstructL( const TRect& aRect); + + /** + * CIRCategoryViewContainer() + * C++ default constructor. + * @param aView View of this container. + */ + CIRCategoryViewContainer(CIRCategoryView& aCtaegoryView); + + /** + * ~CIRCategoryViewContainer() + * Destructor. + */ + ~CIRCategoryViewContainer(); + + /** + * UpdateSearchResultsViewL() + * updates the search results data to the search results list + */ + void UpdateCategoryViewL(CDesCArray* aCategory); + + + // from base class CCoeControl + + /** + * From CCoeControl + * + * @see CCoeControl::OfferKeyEventL() + */ + + TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent, TEventCode aType ); + + /** + * From CCoeControl + * + * @see CCoeControl::GetHelpContext( TCoeHelpContext& aContext ) const + */ + void GetHelpContext( TCoeHelpContext& aContext ) const; + + /** + * GetCurrentItemIndex() + * returns the index of the currently selected item + */ + TInt GetCurrentItemIndex() const; + + /** + * From MEikListBoxObserver HandleListBoxEventL + */ + void HandleListBoxEventL( CEikListBox* aListBox, TListBoxEvent aEventType ); + + + /** + * GetListBoxTopIndex() + * returns the index of the top item + */ + TInt GetListBoxTopIndex() const; + + /** + * CountComponentControls() const + * returns the number of components in the view. + */ + TInt CountComponentControls() const; + + /** + * ComponentControl() + * returns the pointer to the control + */ + CCoeControl* ComponentControl(TInt aIndex) const ; + + /** + * SizeChanged() + * Responds to changes to the size and position of the contents of this control. + */ + void SizeChanged(/*const TRect& aRect*/); + + /** + * HandleResourceChange() + * Handles a change to the control's resources. + */ + void HandleResourceChange(TInt aType); + /* + * CreateFindBoxL() + * Creates the find box for dynamic filtering + */ + CAknSearchField* CreateFindBoxL(CEikListBox* aListBox, + CTextListBoxModel* aModel, CAknSearchField::TSearchFieldStyle aStyle); + /* + * DisableFindBox() + * disable the listbox when foxus is not present + */ + void DisableFindBox(); + /** + * Function : StartTimer + * Function called to get the actual index of the station + */ + void Comparestrings(); + + /** + * HandleImageConversionEventL() + * from base class MIRImageConverterObserver + */ + void HandleImageConversionEventL( MIRImageConverterObserver::TIRImageConversionEvent aEvent, + TInt aId, TInt aError ); + /** + * PresetLogoDownloadL() + * Used to download the logos depending the preset values. + */ + void PresetLogoDownloadL(CIRIsdsPreset* aPreset); + /** + * CreateCustomListBoxL() + * Creates the custom listbox and updates the list according to that + */ + void CreateCustomListBoxL(); + /** + * CreateListBoxL() + * Creates ListBox depending upon the presence of Advertisement + */ + void CreateListBoxL(); + /** + * OpenUrlL() + * Used to connect to advertisement url + */ + void OpenUrlL( const TDesC& aHttpLink ); + + /** + * GetLogoNotSupported() + * returns whether the advertisement is supported by the sdk r not + */ + TBool GetLogoNotSupported(); + /** + * HandleLogoErrorL() + * called from the iCategoryView when the logo is not downloaded + */ + void HandleLogoErrorL(); +private: //Methods + + + // from base class CCoeControl + /** + * From CCoeControl + * @see CCoeControl::Draw( const TRect& aRect ) const + */ + void Draw( const TRect& aRect ) const; + +private: // Data + /** + * iCategoryView + * reference of the category view + */ + CIRCategoryView &iCategoryView; + CFbsBitmap* iAdBitmap; + /* + * iCurrentItemConverter + * instance of CIRImageConverter + */ + CIRImageConverter* iCurrentItemConverter; + /* + * iLandScapeCount + * used to call the aknfind s HandlePopupFindSizeChanged function only once + */ + TInt iLandScapeCount; + TBool iFilteredFlag; + TInt iError; +public: + + /** + * iItemArray + * array for the listbox model + */ + CDesCArray* iItemArray; + /** + * iCategoryListBox + * Instance of the Category ListBox + */ + CIRCategoryAdvertisingListBox* iCategoryListBox; + /* + * iFindString + * Used to Get the Entered Search string + */ + + TBuf iFindString; + /* + * iSearchTextBox + * Instance for CAknSearchField; + */ + CAknSearchField* iSearchTextBox; + /* + * iFilteredModel + * Instance for CAknFilteredTextListBoxModel; + */ + CIRFilteredModel* iFilteredModel; + + /* + * iConverter + * instance of CIRImageConverter + */ + CIRImageConverter* iConverter; + /** + * Temporary preset to store the raw data of Advertisements + */ + CIRIsdsPreset* iAdvPreset; + /* + * iAdPresent + * returns whether the advetisment is present or not + */ + TBool iAdPresent; + /* + * iBgContext + * Instance of CAknsBasicBackgroundControlContext + */ + CAknsBasicBackgroundControlContext* iBgContext; + /* + * iAdvString + * sets the advertisement string + */ + HBufC* iAdvString; + /* + * iListBoxArray + * Instance of MIRListBoxArray + */ + MIRListBoxArray* iListBoxArray; + + /* + * iRequestForAdvertisement + * sets when the request for advertisment conversation is made + */ + TBool iRequestForAdvertisement; + /* + * iLogoDownloadError + * sets when the advertisment future is not supported + */ + TBool iLogoDownloadError; + }; + +#endif // CIRCATEGORYVIEWCONTAINER_H