logsui/AppSrc/CLogsAppListControlContainer.h
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Tue, 27 Apr 2010 16:23:35 +0300
branchRCL_3
changeset 9 0d28c1c5b6dd
parent 0 e686773b3f54
permissions -rw-r--r--
Revision: 201015 Kit: 201017

/*
* Copyright (c) 2002 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: 
*     Logs "Aplication List" view container control class implementation
*
*/


#ifndef     __Logs_App_CLogsAppListControlContainer_H__
#define     __Logs_App_CLogsAppListControlContainer_H__

//  INCLUDES
#include "CLogsBaseControlContainer.h"

// CONSTANTS

// MACROS

// DATA TYPES

// FUNCTION PROTOTYPES

// FORWARD DECLARATIONS
class CLogsBaseView;


// CLASS DECLARATION

/**
 * Logs "Aplication List" view container control class implementation.
 */

class CLogsAppListControlContainer : public CLogsBaseControlContainer
	{
	public:  // interface
		/**
		 * Standard creation function.
		 *
		 * @param aAppView this control's application view.
		 * @param aRect control container visible size.
		 * 
		 * @return New instance of this class.
		 */
		static CLogsAppListControlContainer* NewL
											(	CLogsBaseView* aAppView
											,	const TRect& aRect
											);

		/**
		 * Destructor. Deletes child controls.
		 */
		~CLogsAppListControlContainer();

	private:
		/**
		 * Constructor, second phase.
		 *
		 * @param aRect control container visible size.
		 */
		void ConstructL( const TRect& aRect );

		/**
		 * C++ constuctor
		 * @param aAppView view pointer
		 */
		CLogsAppListControlContainer( CLogsBaseView* aAppView );
		
        /**
         *  Handles focus change events. This will hand over focus changes to list so that 
         *  focus animations are displayed on the list.
         */
        void FocusChanged(TDrawNow aDrawNow);

	public: 
		/**
		 * Returns the iListBox.
		 * @return listbox instance
		 */
		CAknDoubleLargeStyleListBox* ListBox();

		/**
		 * Create listbox with contents 
		 */
		void CreateListBoxL();

		/**
		 * Create listbox contents, can be called to refresh 
		 * data in listbox
		 */
        void CreateListBoxContentsL();
	protected:  // from CCoeControl

		/**
		 * Returns the child controls at aIndex.
		 * @param aIndex Index of the controll.
		 * @return Sub control from the aIndex.
		 */
		CCoeControl* ComponentControl( TInt aIndex ) const;

		/**
		 * Called when control's size changed.
		 */
		void SizeChanged();

		/**
		 *  Help context getter
		 *
		 *  @param aContext reference to context
		 */
		void GetHelpContext( TCoeHelpContext& aContext ) const;

	protected:  // CLogsBaseControlContainer
		/**
		 *  Called from HandleResourceChange. Calls AddIconL funtion
		 *  for each icon in the list box.
		 *
		 */
		void AddControlContainerIconsL();

	private:  // data
		/// Ref: The application view whose control container this class is.
		CLogsBaseView*					iAppView;

		/// Own: ListBox control
		CAknDoubleLargeStyleListBox*	iListBox;
	};


#endif  // __Logs_App_CLogsAppListControlContainer_H__


// End of File