--- /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 <coecntrl.h>
+#include <eiklbo.h>
+
+#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<TInt>* 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