diff -r 000000000000 -r 522cd55cc3d7 locationcentre/lcapp/inc/lccontainer.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/locationcentre/lcapp/inc/lccontainer.h Tue Feb 02 00:16:03 2010 +0200 @@ -0,0 +1,175 @@ +/* +* 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 class for Location Centre Application UI. +* +*/ + + +#ifndef C_LCCONTAINER_H +#define C_LCCONTAINER_H + +// SYSTEM INCLUDES +#include +#include + +// FORWARD DECLARATIONS +class CLcAppUi; +class CLcListBoxModel; +class CAknSingleLargeStyleListBox; +class MLcEventHandler; + +/** + * Location Centre Application's Container class. This class is the chief + * windowing component of Location Centre which displays the List of + * Location based Applications and Contents/Services + * + * @lib lcapp.exe + * @since S60 v5.0 + */ +class CLcContainer : public CCoeControl, + public MEikListBoxObserver + { +public: + /** + * Static Two phase constructor + * + * @param[in] aRect, Client Rectangle for this window owning control. + * @param[in] aEventHandler, Location Centre Event Handle. + * @param[in] aListBoxModel, List box model. + */ + static CLcContainer* NewL( const TRect& aRect, + MLcEventHandler& aEventHandler, + CLcListBoxModel& aListBoxModel ); + + /** + * Virtual destructor + */ + ~CLcContainer(); + + /** + * Returns the help context + * + * @param aContext The help context that has to be determined + */ + void GetHelpContext( TCoeHelpContext& aContext ) const; + + /** + * Returns the Selected List box item + * + * @return TInt Index corresponding selected List box item. + */ + TInt GetFocussedItem(); + + /** + * Updates the Container object with a new list of Location based Applications + * and Contents/Services. + * + * @param[in] aListBoxModel, New List box model object. + */ + void UpdateL( CLcListBoxModel& aListBoxModel ); + + /** + * Updates the listbox icons for Location Centre List Box. + */ + void UpdateIconsL(); + +protected: // Inherited from Base classes + + /** + * Inherited from CCoeControl + */ + void SizeChanged(); + + /** + * Inherited from CCoeControl + */ + TInt CountComponentControls() const; + + /** + * Inherited from CCoeControl + */ + CCoeControl* ComponentControl( TInt aIndex ) const; + + /** + * Inherited from CCoeControl + */ + TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent, + TEventCode aType ); + + /** + * Inherited from CCoeControl + */ + void HandleResourceChange( TInt aType ); + + /** + * Inherited from MEikListBoxObserver + */ + void HandleListBoxEventL( CEikListBox* aListBox, + TListBoxEvent aEventType ); + + /** + * Handles Focus Change to list + */ + void FocusChanged( TDrawNow aDrawNow ); + +private: + + /** + * C++ Default constructor + */ + CLcContainer( MLcEventHandler& aEventHandler, + CLcListBoxModel& aListBoxModel ); + + /** + * Second phase of the two phase constructor + */ + void ConstructL( const TRect& aRect ); + + /** + * Sets the Title text + * @param aResourceText Resource to create title + */ + void MakeTitleL( TInt aResourceText ); + + /** + * Creates the List box and List box model. + */ + void CreateListboxL(); + +public: + /** + * List box + * Owns + */ + CAknSingleLargeStyleListBox* iListBox; + + /** + * Help context + */ + TCoeContextName iContextName; + + /** + * Location Centre Event handler + */ + MLcEventHandler& iEventHandler; + + /** + * Location Centre list box model + */ + CLcListBoxModel* iListBoxModel; + }; + +#endif // C_LCCONTAINER_H + +// End of File