diff -r 1fc85118c3ae -r 870918037e16 eventsui/eventsmgmtui/inc/evtmgmtuistartupcontainer.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eventsui/eventsmgmtui/inc/evtmgmtuistartupcontainer.h Wed Sep 01 12:31:27 2010 +0100 @@ -0,0 +1,256 @@ +/* +* 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 Events Management UI startup view view. +* +*/ + + +#ifndef C_EVTMGMTUISTARTUPCONTAINER_H +#define C_EVTMGMTUISTARTUPCONTAINER_H + +// SYSTEM INCLUDES +#include +#include + +#include "evtdefs.h" +#include "evtmgmtuicmdhdlr.h" + +// FORWARD DECLARATIONS +class CAknIconArray; +class CEvtMgmtUiListBox; +class CEvtMgmtUiModel; +class CEikMenuPane; +class CAknSearchField; +/** + * Events management UI start-up view's container class. This class is + * the chief windowing component of Events management UI start-up view + * + * @lib evtmgmtui.exe + * @since S60 v5.0 + */ +class CEvtMgmtUiStartupContainer : public CCoeControl, + public MEikListBoxObserver + { +public: + /** + * Static Two phase constructor + * + * @param[in] aRect, Client Rectangle for this window owning control. + */ + static CEvtMgmtUiStartupContainer* NewL( const TRect& aRect, CEvtMgmtUiModel* aModel, + MEvtMgmtUiCmdHdlr& aCmdHandler ); + + /** + * Virtual destructor + */ + ~CEvtMgmtUiStartupContainer(); + + /** + * Returns the help context + * + * @param aContext The help context that has to be determined + */ + void GetHelpContext( TCoeHelpContext& aContext ) const; + +public : //New functions + + /** + * Update listbox + */ + void UpdateListBoxL(TInt aSelectedItemIndex); + + /** + * Return the index of the selected item + */ + TInt CurrentItemIndex(); + + /** + * Set the Title text + */ + void MakeTitleL(); + + /** + * It will handle mark functionality. + */ + void HandleMarkCmdL( TInt aIndex, TBool aIsMarked ); + + /** + * It will display mark menu items dynamically. + */ + void HandleMarkableListDynInitMenuPane(TInt aResourceId, CEikMenuPane *aMenu); + + /* + * It will return count of marked items + */ + TInt NumberOfMarkedItems(); + + /* + * It will return marked items + */ + const CArrayFix* MarkItems(); + + /* + * It will return Filtered Index of the passed index + */ + TInt FilteredIndex(TInt aIndex); + + /* + * It will return Filtered number of list items + */ + TInt FilteredCount(); + +private: //new functions + + /** + * Creates the List box and List box model. + */ + void CreateListboxL(CEvtMgmtUiModel* aModel); + + /** + * Creates the Find Box. + */ + void CreateFindBoxL(); + + /** + * Check for FindBox Visibilty. + */ + void HandleFindBoxVisibility(); + + /** + * Update icons + */ + void UpdateIconsL(); + + /** + * Append icon to icon array. CAknIconArray owns icons so it is + * easier to it leave safely. + * @param aIcons icon array + * @param aIconFileWithPath icon file name with path + * @param aSkinID skin id of the icon + * @param aIconGraphicsIndex picture index + * @param aIconGraphicsMaskIndex mask index + */ + void AddIconL( CAknIconArray& aIcons, + const TDesC& aIconFileWithPath, + TAknsItemID aSkinID, + TInt aIconGraphicsIndex, + TInt aIconGraphicsMaskIndex ); + + /** + * Append Color icon to icon array. CAknIconArray owns icons so it is + * easier to it leave safely. + * @param aIcons icon array + * @param aIconFileWithPath icon file name with path + * @param aSkinID skin id of the icon + * @param aIconGraphicsIndex picture index + * @param aIconGraphicsMaskIndex mask index + */ + void AddColorIconL( CAknIconArray& aIcons, + const TDesC& aIconFileWithPath, + TAknsItemID aSkinID, + TInt aIconGraphicsIndex, + TInt aIconGraphicsMaskIndex ); + + /** + * Gets Events Management UI icon file path and name. Ownership + * is transferred, item is left in the cleanup stack. + * @return TFileName* The full name of the Events UI icon file. + */ + TFileName* IconFileNameLC() const; + + + +protected: // Inherited from Base classes + /** + * Inherited from CCoeControl + */ + void SizeChanged(); + + /** + * Inherited from CCoeControl + */ + void FocusChanged( TDrawNow aDrawNow ); + + /** + * 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 ); + +private: + + /** + * C++ Default constructor + */ + CEvtMgmtUiStartupContainer(MEvtMgmtUiCmdHdlr& aCmdHandler); + + /** + * Second phase of the two phase constructor + */ + void ConstructL( const TRect& aRect, CEvtMgmtUiModel* aModel ); + +private: + /** + * List box + * Owns + */ + CEvtMgmtUiListBox* iListBox; + + /** + * Find box + * Owns + */ + CAknSearchField* iFindBox; + + /** + * Help context + */ + TCoeContextName iContextName; + + /** + * Command Handler + */ + MEvtMgmtUiCmdHdlr& iCmdHandler; + + /** + * List Model Count before List model is updated. + */ + TInt iPrevCount; + + }; + +#endif // C_EVTMGMTUISTARTUPCONTAINER_H + +// End of File