diff -r 000000000000 -r f0f2b8682603 memana/analyzetoolclient/configurationappgui/inc/atconfigurationappguiprocesscontainer.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/memana/analyzetoolclient/configurationappgui/inc/atconfigurationappguiprocesscontainer.h Thu Feb 11 15:51:35 2010 +0200 @@ -0,0 +1,229 @@ +/* +* Copyright (c) 2009 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: +* +*/ + +#ifndef ATCONFIGURATIONAPPGUIPROCESSCONTAINER_H +#define ATCONFIGURATIONAPPGUIPROCESSCONTAINER_H + +//INCLUDES +#include + +#include "atconfigurationappguiprocessview.h" + +// FORWARD DECLARATIONS +class MEikCommandObserver; +class CAknDoubleStyleListBox; +class CEikTextListBox; + +/** + * Container class for CATConfigurationAppGuiProcessContainer + * + * @class CATConfigurationAppGuiProcessContainer + */ +class CATConfigurationAppGuiProcessContainer : public CCoeControl + { +public: + /** + * C++ default constructor. + */ + CATConfigurationAppGuiProcessContainer(); + + /** + * Two-phased constructor that can leave. + * @return A new instance of this class + */ + static CATConfigurationAppGuiProcessContainer* NewL( + const TRect& aRect, + CATConfigurationAppGuiProcessView* aParent, + MEikCommandObserver* aCommandObserver, TUint aProcessId, TInt64 aProcessStartTime ); + + /** + * Two-phased constructor that can leave and leaves a pointer + * on the cleanup stack. + * @return A new instance of this class + */ + static CATConfigurationAppGuiProcessContainer* NewLC( + const TRect& aRect, + CATConfigurationAppGuiProcessView* aParent, + MEikCommandObserver* aCommandObserver, TUint aProcessId, TInt64 aProcessStartTime ); + + /** + * Symbian 2nd phase constructor. + */ + void ConstructL( + const TRect& aRect, + CATConfigurationAppGuiProcessView* aParent, + MEikCommandObserver* aCommandObserver, TUint aProcessId, TInt64 aProcessStartTime ); + + /** + * Destructor. + */ + virtual ~CATConfigurationAppGuiProcessContainer(); + + /** + * Updates view components. + */ + void UpdateViewL(); + +public: + + /** + * From CCoeControl. + */ + TInt CountComponentControls() const; + + /** + * From CCoeControl. + */ + CCoeControl* ComponentControl( TInt aIndex ) const; + + /** + * From CCoeControl. + */ + TKeyResponse OfferKeyEventL( + const TKeyEvent& aKeyEvent, + TEventCode aType ); + + /** + * From CCoeControl. + */ + void HandleResourceChange( TInt aType ); + +protected: + + /** + * From CCoeControl. + */ + void SizeChanged(); + +private: + + /** + * From CCoeControl. + */ + void Draw( const TRect& aRect ) const; + +private: + + /** + * Initializes all the controls in the class. + */ + void InitializeControlsL(); + /** + * Layouts controls according to the screen size. + */ + void LayoutControls(); + + // Active control + CCoeControl* iFocusControl; + // Command observer + MEikCommandObserver* iCommandObserver; + CATConfigurationAppGuiProcessView* iParent; + +public: + + /** + * Adds an item to the listbox. + * @param aListBox pointer to the listbox + * @param aString a text about to be shown in the listbox. + */ + static void AddListBoxItemL( + CEikTextListBox* aListBox, + const TDesC& aString ); + + /** + * Returns selected listbox items. + * @param aListBox pointer to the listbox + * @return RArray< TInt >* array of selected items + */ + static RArray< TInt >* GetSelectedListBoxItemsLC( CEikTextListBox* aListBox ); + + /** + * Deletes selected listbox items. + * @param aListBox pointer to the listbox + */ + static void DeleteSelectedListBoxItemsL( CEikTextListBox* aListBox ); + + /** + * Returns this controls listbox. + */ + CAknDoubleStyleListBox* ListBox(); + + /** + * Creates listbox item from the given text. + * @param aBuffer text to be appended to the listbox + * @param aMainText a text for the first line of the item + * @param aSecondaryText a text for the second line of the item + */ + static void CreateListBoxItemL( TDes& aBuffer, + const TDesC& aMainText, + const TDesC& aSecondaryText ); + + /** + * Starts adding listbox items from the resource. + * @param aResourceId resource id of the text + */ + void AddListBoxResourceArrayItemL( TInt aResourceId ); + + /** + * Setups listbox icons. + */ + void SetupListBoxIconsL(); + + /** + * Handles listbox command. + * @param aCommand command id + */ + TBool HandleMarkableListCommandL( TInt aCommand ); + + /** + * Gets current highlighted listbox index. + * @return TInt listbox index + */ + TInt GetCurrentItemIndex(); + +private: + + // Listbox + CAknDoubleStyleListBox* iListBox; + // Id of the opened process + TUint iProcessId; + // Starting time of the opened process + TInt64 iProcessStartTime; + +protected: + +public: + /** + * @enum TControls + * Defines controls. + */ + enum TControls + { + EListBox, /**< Listbox control. */ + ELastControl /**< Last control in the view. */ + }; + /** + * @enum TListBoxImages + * Defines listbox icons. + */ + enum TListBoxImages + { + EListBoxFirstUserImageIndex /**< First icon in listbox. */ + }; + }; + +#endif // ATCONFIGURATIONAPPGUIPROCESSCONTAINER_H