diff -r 000000000000 -r 522cd55cc3d7 locationcentre/lcapp/inc/lclistbox.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/locationcentre/lcapp/inc/lclistbox.h Tue Feb 02 00:16:03 2010 +0200 @@ -0,0 +1,101 @@ +/* +* 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: List box defintion for Location System UI +* +*/ + + +#ifndef C_LCLISTBOX_H +#define C_LCLISTBOX_H + +// SYSTEM INCLUDES +#include +#include + +// FORWARD DECLARATIONS +class CLcLocationAppInfoArray; +class CLcListBoxModel; + +/** + * List box for Location Centre + * + * This class specializes the CAknSingleLargeStyleListBox class for Location + * Centre. This class takes the ownership of the listbox model and exposes + * functions for updation of the list. + * + * @lib lcservice.lib + * @since S60 v5.0 + */ +class CLcListBox : public CAknSingleLargeStyleListBox + { +public: + /** + * Constructs a new instance of Location Centre list box. + * + * @param[in] aAppArray Array of Location based Applicaions and Contents/Services + * The ownership of the array is transferred. + * @param[in] aParent Parent Window. + * @return The new instance of Location Centre listbox object. + * @leave System wide error code if the object creation fails. + */ + static CLcListBox* NewL( + CLcLocationAppInfoArray* aAppArray, + const CCoeControl* aParent, + MEikListBoxObserver* aObserver ); + + /** + * C++ Destructor. + * Frees all the resources associated with this Location Centre listbox object. + */ + virtual ~CLcListBox(); + + /** + * Updates the list box contents. This function deletes the previous instance + * of the Location based Applications and Contents/Services application + * information and replaces it with this new list. + * + * @param[in] aAppArray Array of Location based Applicaions and Contents/Services + * The ownership of the array is transferred. + */ + void UpdateListBoxContentsL( CLcLocationAppInfoArray* aAppArray ); + +private: + /** + * Overloaded constructor + */ + CLcListBox(); + + /** + * Second phase of the two phase constructor + */ + void ConstructL( CLcLocationAppInfoArray* aAppArray, + const CCoeControl* aParent, + MEikListBoxObserver* aObserver ); + + /** + * Updates the Location Centre List-box's Icons array to point to the + * latest set of icons. + */ + void UpdateIconsL(); + +private: // data + /** + * Listbox model + * + * Owns + */ + CLcListBoxModel* iListBoxModel; + }; + +#endif // C_LCLISTBOX_H