diff -r 000000000000 -r e686773b3f54 logsui/AppSrc/CLogsEventListView.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/logsui/AppSrc/CLogsEventListView.h Tue Feb 02 10:12:17 2010 +0200 @@ -0,0 +1,216 @@ +/* +* 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 application "Event list" view class implementation +* +*/ + + +#ifndef __Logs_App_CLogsEventListView_H__ +#define __Logs_App_CLogsEventListView_H__ + +// INCLUDES +#include "CLogsBaseView.h" +#include "LogsEng.hrh" + +// CONSTANTS + +// MACROS + +// DATA TYPES + +// FUNCTION PROTOTYPES + +// FORWARD DECLARATIONS +class CEikMenuPane; +class CLogsEventListControlContainer; +class MLogsStateHolder; + +// CLASS DECLARATION + +/** + * Logs application "Event list" view class implementation. + */ +class CLogsEventListView : public CLogsBaseView + { + public: // interface + /** + * Standard creation function. Creates and returns a new object + * of this class. + * + * @return The new view object. + */ + static CLogsEventListView* NewL(); + + /** + * Destructor. + */ + ~CLogsEventListView(); + + private: + + /** + * Default constructor + */ + CLogsEventListView(); + + /** + * Constructor, second phase. + */ + void ConstructL(); + + + public: // from CAknView + /** + * Framework calls to init menu items. + * + * @param aResourceId resource read + * @param aMenuPane menu pane + */ + void DynInitMenuPaneL( TInt aResourceId, CEikMenuPane* aMenuPane ); + + private: // from CAknView + /** + * Returns the ID of the view. + * @return view id + */ + TUid Id() const; + + /** + * Called when the client rectangle of this view changes + */ + void HandleClientRectChange(); + + /** + * Draws the listbox. + */ + void DrawComponents(); + + /** + * Called by the framework when this view is activated. + * + * @param aPrevViewId This is ID for previous view. + * @param aCustomMessageId ID of the custom message. Not used. + * @param aCustomMessage custom message. Not used. + */ + void DoActivateL( const TVwsViewId& aPrevViewId, + TUid aCustomMessageId, + const TDesC8& aCustomMessage ); + + /** + * Called by the framework when this view is deactivated. + */ + void DoDeactivate(); + + + public: + + /** + * Currently used filter + * + * @return current filter + */ + + TLogsFilter CurrentFilter() const; + + /** + * State of underlying model + * + * @return state of model + */ + TLogsState State() const; + + public: // from MEikCommandObserver + /** + * Handles the view specific commands. + * + * @param aCommandId This is an id for command. + * Most of the commands are forwarded to LogAppUI. + */ + void HandleCommandL( TInt aCommand ); + + /** + * Overrides the baseclass handler + * + * @param aCommand The id of the command + */ + void ProcessCommandL( TInt aCommand ); + + /** + * Restore original Logs title pane text according to current view. + * Calls CLogsBaseControlContainer::SetTitlePaneTextToDefaultL which + * does the actual work. + */ + void ChangeTitlePaneTextToDefaultL(); + + public: // from MLogsKeyProcessor + TBool ProcessKeyEventL(const TKeyEvent& aKeyEvent,TEventCode aType); + + public: // from MLogsModelObserver + void StateChangedL( MLogsStateHolder* aHolder ); + + private: + + /** + * Initialize filter popup view. + * + * @return Index of selected filter. + */ + TLogsFilter InitFilterPopupListL(); + + /** + * Makes filter list's one line with the current information + * + * @param aItems Array where to put the line information + * @param aFirstResourceText First line's resource id + */ + void AddOneListBoxTextLineL( CDesCArrayFlat* aItems, + TInt aResourceText ); + + /** + * Function clears all the events from log db. + */ + void CmdClearListL(); + + /** + * Function filters the events from log db. + */ + void CmdFilterL(); + + private: // data + + /// Own: control container + CLogsEventListControlContainer* iContainer; + + /// Own: + TLogsFilter iCurrentFilter; + + /// Own: + TLogsState iState; + + /// Own: + TBool iClearListInProgress; + +#ifdef _DEBUG // for performance evaluation + /// Own: view construction time + TTime iCreationTime; + /// Own: construction time calculated + TBool iCreationTimeCalculated; +#endif + + }; + +#endif // __Logs_App_CLogsEventListView_H__ + +// End of File