eventsui/eventsmgmtui/src/evtmgmtuistartupcontainer.cpp
branchRCL_3
changeset 17 1fc85118c3ae
parent 16 8173571d354e
child 18 870918037e16
--- a/eventsui/eventsmgmtui/src/evtmgmtuistartupcontainer.cpp	Thu Aug 19 09:48:36 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,845 +0,0 @@
-/*
-* Copyright (c) 2008-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:  Container class for Events Management UI startup view.
-*
-*/
-
-
-// SYSTEM INCLUDES
-#include <avkon.hrh>
-#include <avkon.mbg>
-#include <barsread.h> 
-#include <aknlists.h>
-#include <AknIconArray.h>		// Icon Array
-#include <eikclbd.h>			// Column Listbox
-#include <gulicon.h>			// Gul Icon
-#include <barsread.h>   		// TResourceReader
-#include <eikspane.h>       // Status pane
-#include <akntitle.h>       // CAknTitlePane
-#include <StringLoader.h>   // String Loader
-#include <evtmgmtui.rsg>
-#include <csxhelp/loc.hlp.hrh>
-#include <AknUtils.h>
-#include <evtmgmtui.mbg>
-#include <featmgr.h>
-#include <data_caging_path_literals.hrh>
-#include <AknUtils.h> 
-#include <eikmenup.h> 
-#include <AknsConstants.h> 		// Skin Ids
-#include <AknIconUtils.h>
-#include <AknLayout.lag>          // AVKON LAF layouts
-#include <AknLayoutDef.h>
-#include <aknsfld.h> // For SearchField
-
-// USER INCLUDES
-#include "evtmgmtui.hrh"
-#include "evtmgmtuiuid.hrh"
-#include "evtmgmtuiappui.h"
-#include "evtmgmtuimodel.h"
-#include "evtmgmtuistartupcontainer.h"
-#include "evtmgmtuilistbox.h"
-#include "evtmgmtuilistboxmodel.h"
-#include "evtdebug.h"
-
-// CONSTANT DEFINITIONS
-const TInt KIconArrayGranularity = 5; // The number of default icons
-const TInt KFindBoxTextLength = 32;	// Find Box text length.
-const TInt KMinCountForFilter = 2;
-_LIT( KEvtMgmtUiIconFileName, "evtmgmtui.mif" );
- 
-// ----------------- Member funtions for CEvtMgmtUiStartupContainer class ------------------
-
-// ---------------------------------------------------------------------------
-// CEvtMgmtUiStartupContainer::CEvtMgmtUiStartupContainer
-// ---------------------------------------------------------------------------
-//
-CEvtMgmtUiStartupContainer::CEvtMgmtUiStartupContainer( MEvtMgmtUiCmdHdlr& aCmdHandler )
-									:iCmdHandler(aCmdHandler)
-    {
-    }
-
-
-// ---------------------------------------------------------------------------
-// CEvtMgmtUiStartupContainer::~CEvtMgmtUiStartupContainer
-// ---------------------------------------------------------------------------
-//
-CEvtMgmtUiStartupContainer::~CEvtMgmtUiStartupContainer()
-    {
-    // Delete the List box
-	delete iListBox;
-	
-	delete iFindBox;
-    }
-    
-// ---------------------------------------------------------------------------
-// CEvtMgmtUiStartupContainer::NewL
-// ---------------------------------------------------------------------------
-//
-CEvtMgmtUiStartupContainer* CEvtMgmtUiStartupContainer::NewL( 
-                                    const TRect&	aRect, CEvtMgmtUiModel* aModel,
-                                    MEvtMgmtUiCmdHdlr& aCmdHandler )     
-    {
-    CEvtMgmtUiStartupContainer* self = new ( ELeave ) CEvtMgmtUiStartupContainer( aCmdHandler );
-    CleanupStack::PushL( self );
-    self->ConstructL( aRect, aModel );
-    CleanupStack::Pop();    
-    return self;
-    }
-    
-// ---------------------------------------------------------------------------
-// CEvtMgmtUiStartupContainer::CEvtMgmtUiStartupContainer
-// ---------------------------------------------------------------------------
-//
-void CEvtMgmtUiStartupContainer::ConstructL( const TRect& 	aRect, CEvtMgmtUiModel* aModel )
-    {
-    // This is the cheif control for this application. This has to be made a 
-    // Window owning control
-    CreateWindowL();
-    
-    // Create the List box
-    EVTUIDEBUG( "Listbox creation" );
-    CreateListboxL(aModel); 
-    CreateFindBoxL();
-    
-    // Check for FindBox Visiblity
-    HandleFindBoxVisibility();
-    
-    // Get the Help context
-    iContextName = KHLP_LOC_EVENTS_VIEW();
-    
-    // Set Title
-    MakeTitleL();
-            
-    SetRect(aRect);
-    ActivateL();
-    }
-
-// ---------------------------------------------------------------------------
-// void CEvtMgmtUiStartupContainer::GetHelpContext
-// ---------------------------------------------------------------------------
-//
-void CEvtMgmtUiStartupContainer::GetHelpContext( TCoeHelpContext& aContext ) const
-	{
-    aContext.iContext = iContextName;
-    aContext.iMajor = TUid::Uid( KEvtMgmtUiUid );	
-	}
-
-// --------------------------------------------------------------------------
-// CEvtMgmtUiStartupContainer::FocusChanged
-// --------------------------------------------------------------------------
-//
-void CEvtMgmtUiStartupContainer::FocusChanged( TDrawNow aDrawNow )
-    {
-    if ( iListBox )
-        {
-        iListBox->SetFocus( IsFocused(), aDrawNow );
-        }
-        
-    if ( iFindBox && iFindBox->IsVisible() )
-        {
-        iFindBox->SetFocus( IsFocused(), aDrawNow );
-        if ( aDrawNow == EDrawNow && IsFocused() )
-            {
-            iFindBox->DrawDeferred();
-            }
-        }
-    }
-		
-// ---------------------------------------------------------------------------
-// void CEvtMgmtUiStartupContainer::SizeChanged
-// ---------------------------------------------------------------------------
-//
-void CEvtMgmtUiStartupContainer::SizeChanged()
-    {
-    EVTUIDEBUG("+ CEvtMgmtUiStartupContainer::SizeChanged()" );
-	const TRect rect( Rect() );
-    TAknLayoutRect controlRect;
-
-    // Since iFindBox->IsVisible() returns EFalse if Adaptive Chars are shown, 
-    // We check on FilteredNumberOfItems meaning the FindBox should be visible when 
-    // FilteredNumberOfItems is greater than 1
-    if( iListBox && iFindBox && 
-            ( iFindBox->IsVisible() || iListBox->Model()->Filter()->FilteredNumberOfItems() > 1 ) )
-        {
-        controlRect.LayoutRect(rect, AknLayout::list_gen_pane( 1 ) );
-        iListBox->SetRect( controlRect.Rect() );
-        controlRect.LayoutRect(rect, AknLayout::find_pane() );
-        iFindBox->SetRect( controlRect.Rect() );  
-        }
-    else if( iListBox )
-        {
-        controlRect.LayoutRect(rect, AknLayout::list_gen_pane( 0 ) );
-        iListBox->SetRect( controlRect.Rect() );
-        }
-    EVTUIDEBUG("- CEvtMgmtUiStartupContainer::SizeChanged()" );
-    }
-
-// ---------------------------------------------------------------------------
-// TInt CEvtMgmtUiStartupContainer::CountComponentControls
-// ---------------------------------------------------------------------------
-//
-TInt CEvtMgmtUiStartupContainer::CountComponentControls() const
-    {
-    TInt count = 0;
-    CCoeControl* controls[] = { iListBox, iFindBox };
-
-    for ( TUint i = 0; i < sizeof( controls ) / sizeof( CCoeControl* ); i++ )
-    {
-        if ( controls[i] ) // Test for valid controls
-        {
-        count++;
-        }
-    }
-
-    return count;
-    }
-
-// ---------------------------------------------------------------------------
-// CCoeControl* CEvtMgmtUiStartupContainer::CEvtMgmtUiStartupContainer
-// ---------------------------------------------------------------------------
-//
-CCoeControl* CEvtMgmtUiStartupContainer::ComponentControl(TInt aIndex ) const
-    {
-    CCoeControl* controls[] = { iListBox,
-                                iFindBox};
-
-    for ( TUint i = 0; i < sizeof( controls ) / sizeof( CCoeControl* ); i++ )
-    {
-        // Index is decremented only if control is not NULL
-        if ( controls[i] && aIndex-- == 0 ) 
-        {
-        return controls[i];
-        }
-    }
-
-    return NULL;
-    }
-
-// ---------------------------------------------------------------------------
-// TKeyResponse CEvtMgmtUiStartupContainer::OfferKeyEventL
-// ---------------------------------------------------------------------------
-//    
-TKeyResponse CEvtMgmtUiStartupContainer::OfferKeyEventL( const TKeyEvent& aKeyEvent,
-								  				               TEventCode aType )
-    {
-    TKeyResponse keyresponse;
-    
-    TBool needRefresh = EFalse;
-    TInt keyConsumed = iFindBox->TextLength();
-	
-	// Key is first offered to the Find box based on the key press.
-    keyresponse = AknFind::HandleFindOfferKeyEventL(aKeyEvent, aType,
-                        this, iListBox, iFindBox, EFalse, needRefresh);
-    
-    // Handle the ListBox Filter count changed event
-    iCmdHandler.HandleCmdL( MEvtMgmtUiCmdHdlr::EListBoxFilterCountChanged ); 
-    
-	// This is to avoid the Mark for the First item of the list box.
-	// We reset the modifier attribute
-    TKeyEvent& keyEvent = const_cast<TKeyEvent&>(aKeyEvent);
-    TInt index = CurrentItemIndex();
-    if(index == 0 || 
-       (index == iListBox->Model()->NumberOfItems() - 1) && aKeyEvent.iScanCode == EStdKeyDownArrow ||
-       (index == 1) && aKeyEvent.iScanCode == EStdKeyUpArrow )
-        {
-        if(keyEvent.iModifiers & EModifierShift)
-            keyEvent.iModifiers&= ~EModifierShift;
-        if(keyEvent.iModifiers & EModifierLeftShift)
-            keyEvent.iModifiers&= ~EModifierLeftShift;
-        if(keyEvent.iModifiers & EModifierRightShift)
-            keyEvent.iModifiers&= ~EModifierRightShift;
-        if(keyEvent.iModifiers & EModifierCtrl)
-            keyEvent.iModifiers&= ~EModifierCtrl;
-        if(keyEvent.iModifiers & EModifierRightCtrl)
-            keyEvent.iModifiers&= ~EModifierRightCtrl;
-        }
-    
-	// Now handle the Key Event based on the Key type
-    switch ( aKeyEvent.iScanCode )
-        {            
-        case EStdKeyUpArrow:
-        case EStdKeyDownArrow:
-            {
-    	    keyresponse = iListBox->OfferKeyEventL( aKeyEvent, aType );
-            iCmdHandler.HandleCmdL( MEvtMgmtUiCmdHdlr::EListBoxItemFocused );    
-            return keyresponse;        	
-            }
-        case EStdKeyBackspace:
-        case EStdKeyDelete:
-            {
-            if(aType == EEventKey && !keyConsumed )
-                {
-                keyresponse = iListBox->OfferKeyEventL( aKeyEvent, aType );
-                iCmdHandler.HandleCmdL( MEvtMgmtUiCmdHdlr::EListBoxItemDeleted );
-                }
-            return keyresponse;               
-            }
-        case EStdKeyHash:
-			{
-            if(!index)
-                {
-                keyresponse = EKeyWasConsumed;
-                }
-            else
-                {
-                TBool shiftKeyPressed = ( aKeyEvent.iModifiers & EModifierShift );
-                keyresponse = iListBox->OfferKeyEventL( aKeyEvent, aType );
-                if( aType == EEventKeyUp && ( EKeyWasConsumed == keyresponse || !shiftKeyPressed ) )
-                    iCmdHandler.HandleCmdL( MEvtMgmtUiCmdHdlr::EListBoxItemFocused );  
-                }
-            return keyresponse; 
-			}
-        default:
-            {
-            break;  
-            }
-        }
-    // Now it's List box's job to process the key event
-    return iListBox->OfferKeyEventL( aKeyEvent, aType ); 
-    }   
-
-// ---------------------------------------------------------------------------
-// void CEvtMgmtUiStartupContainer::HandleResourceChange
-// ---------------------------------------------------------------------------
-//
-void CEvtMgmtUiStartupContainer::HandleResourceChange( TInt aType )
-	{
-    // Pass the event to the base class
-    CCoeControl::HandleResourceChange(aType);
-    
-    switch( aType )
-        {
-    	case KAknsMessageSkinChange:
-        	{
-        	TRAPD( error, UpdateIconsL() );
-        	if ( error != KErrNone )
-            	{
-            	iEikonEnv->HandleError( error );
-            	}                 
-        	DrawDeferred();
-        	   	
-        	break;
-        	}
-        // Dynamic Layout switch
-        case KEikDynamicLayoutVariantSwitch:
-            {
-            // Handle the screen change event
-            // Trap and Ignore the error
-            TRAP_IGNORE(
-                iCmdHandler.HandleCmdL( MEvtMgmtUiCmdHdlr::EScreenSizeChanged ));
-            break;
-            }
-        default:
-            {
-            break;
-            }
-        }
-	}
-
-// ---------------------------------------------------------------------------
-// void CEvtMgmtUiStartupContainer::HandleListBoxEventL
-// ---------------------------------------------------------------------------
-//	
-void CEvtMgmtUiStartupContainer::HandleListBoxEventL( 
-                                    CEikListBox*      /* aListBox */, 
-                          		    TListBoxEvent      aEventType  )
-	{
-    switch (aEventType)
-        {
-        // List box Item Selection
-        case EEventEnterKeyPressed:
-        case EEventItemSingleClicked:
-            {            
-            iCmdHandler.HandleCmdL( MEvtMgmtUiCmdHdlr::EListBoxItemDoubleClicked );
-            break;  
-            }
-        case EEventItemClicked:
-            {
-            iCmdHandler.HandleCmdL( MEvtMgmtUiCmdHdlr::EListBoxItemFocused);
-            break;
-            }
-        default:
-           break;
-        }	
-	}
-	
-// ---------------------------------------------------------------------------
-// void CEvtMgmtUiStartupContainer::CreateListboxL
-// ---------------------------------------------------------------------------
-// 	
-void CEvtMgmtUiStartupContainer::CreateListboxL( CEvtMgmtUiModel* aModel )
-    {	
-    EVTUIDEBUG("+ CEvtMgmtUiStartupContainer::CreateListboxL()" );
-	// Create the List box
-	iListBox = new ( ELeave ) CEvtMgmtUiListBox();
-    iListBox->ConstructL( this, EAknListBoxStylusMarkableList );
-    iListBox->SetContainerWindowL( *this ); 
-    iListBox->SetListBoxObserver( this );
-    iListBox->CreateScrollBarFrameL(ETrue);
-    iListBox->ScrollBarFrame()->SetScrollBarVisibilityL( CEikScrollBarFrame::EOff,
-    													 CEikScrollBarFrame::EAuto ); 
- 
-    UpdateIconsL();
-     
-	// Create the Listbox model
-    CEvtMgmtUiListBoxModel* model = static_cast<CEvtMgmtUiListBoxModel*>(iListBox->Model());
-    model->SetItemTextArray( aModel );	
-    model->SetOwnershipType( ELbmDoesNotOwnItemArray ); 
-    model->SetItemTextArrayToFilterModel();
-   								
-    iListBox->ItemDrawer()->ColumnData()->EnableMarqueeL( ETrue );
-        								
-    iListBox->ActivateL();    
-    
-    EVTUIDEBUG("- CEvtMgmtUiStartupContainer::CreateListboxL()" );
-    }
-
-// -----------------------------------------------------------------------------
-// CEvtMgmtUiStartupContainer::CreateFindBoxL()
-//
-// Creates the member iFindBox
-// -----------------------------------------------------------------------------
-//
-void CEvtMgmtUiStartupContainer::CreateFindBoxL()
-    {
-    EVTUIDEBUG("+ CEvtMgmtUiStartupContainer::CreateFindBoxL()" );
-
-    // Create the findbox.
-    iFindBox = CAknSearchField::NewL( *this, CAknSearchField::EAdaptiveSearch, 
-        NULL, KFindBoxTextLength );
-    
-    // Set default input mode to Katakana if current UI language is Japanese
-    if (FeatureManager::FeatureSupported(KFeatureIdJapanese) &&
-        (User::Language() == ELangJapanese))
-        {
-        iFindBox->Editor().SetAknEditorInputMode(EAknEditorKatakanaInputMode);
-        }
-    else
-        {
-        iFindBox->Editor().SetAknEditorCurrentInputMode(EAknEditorTextInputMode);
-        }
-
-    // Set Column mask
-    iFindBox->SetListColumnFilterFlags(2); // This is set to search only "Subject" column
-
-    STATIC_CAST(CAknFilteredTextListBoxModel*, iListBox->Model())->CreateFilterL(iListBox,iFindBox);
-    STATIC_CAST(CAknFilteredTextListBoxModel*, iListBox->Model())->Filter()->SetParentControl( this );
-    iListBox->Model()->SetFindToFilterModel(iFindBox);
-        
-    iFindBox->ActivateL();    
-    
-    EVTUIDEBUG("- CEvtMgmtUiStartupContainer::CreateFindBoxL()" );
-    }
-
-// -----------------------------------------------------------------------------
-// CEvtMgmtUiStartupContainer::MakeFindBoxVisible()
-//
-// Deletes the member iFindBox
-// -----------------------------------------------------------------------------
-//
-void CEvtMgmtUiStartupContainer::HandleFindBoxVisibility()
-    {
-    if( iListBox && iFindBox )
-        {
-        if(iListBox->Model()->Filter()->FilteredNumberOfItems() < KMinCountForFilter )
-            {
-            iFindBox->SetFocusing( EFalse );
-            iFindBox->MakeVisible( EFalse );
-            iListBox->SetFocusing( ETrue );
-            }
-        else
-            {
-            iFindBox->SetFocusing( ETrue );
-            iFindBox->MakeVisible( ETrue );
-            iListBox->SetFocusing( EFalse );
-            }
-        
-        SizeChanged();
-        DrawNow();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CEvtMgmtUiStartupContainer::UpdateIconsL
-// -----------------------------------------------------------------------------
-void CEvtMgmtUiStartupContainer::UpdateIconsL()
-    {
-    EVTUIDEBUG( "+ CEvtMgmtUiStartupContainer::UpdateIconsL()" );
-    
-    CAknIconArray* icons = new( ELeave ) CAknIconArray( KIconArrayGranularity );
-    CleanupStack::PushL( icons );
-
-	TFileName *iconFile = IconFileNameLC();
-
-    //mark
-    AddColorIconL( *icons, 
-              AknIconUtils::AvkonIconFileName(),
-              KAknsIIDQgnIndiMarkedAdd,
-              EMbmAvkonQgn_indi_marked_add, EMbmAvkonQgn_indi_marked_add_mask );
-
-//Create new event
-    AddIconL( *icons, 
-    		  *iconFile,
-    		  KAknsIIDQgnPropLocevNew, 
-    		  EMbmEvtmgmtuiQgn_prop_locev_new, EMbmEvtmgmtuiQgn_prop_locev_new_mask);
-    
-    //active
-     AddIconL( *icons, 
-             *iconFile,
-             KAknsIIDQgnPropLocevTrigger, 
-             EMbmEvtmgmtuiQgn_prop_locev_trigger, EMbmEvtmgmtuiQgn_prop_locev_trigger_mask);
-            
-    //draft            
-    AddIconL( *icons, 
-             *iconFile,
-             KAknsIIDQgnPropLocevDraft, 
-             EMbmEvtmgmtuiQgn_prop_locev_draft, EMbmEvtmgmtuiQgn_prop_locev_draft_mask);
-       
-   //completed       
-    AddIconL( *icons, 
-                *iconFile,
-                KAknsIIDQgnPropLocevCompleted, 
-                EMbmEvtmgmtuiQgn_prop_locev_completed, EMbmEvtmgmtuiQgn_prop_locev_completed_mask);
-               
-  // repeat                
-	AddColorIconL( *icons, 
-                *iconFile,
-                KAknsIIDQgnIndiRepeatAdd, 
-                EMbmEvtmgmtuiQgn_indi_repeat_add, EMbmEvtmgmtuiQgn_indi_repeat_add_mask);
-                
-    CleanupStack::PopAndDestroy(iconFile);
-
-    //get old icons and delete those
-    CAknIconArray* oldIcons = static_cast<CAknIconArray*>(
-        iListBox->ItemDrawer()->ColumnData()->IconArray() );    
-    delete oldIcons;
-
-    //set new icons to array
-    iListBox->ItemDrawer()->ColumnData()->SetIconArray( icons );  
-    CleanupStack::Pop(icons);
-    
-    EVTUIDEBUG( "- CEvtMgmtUiStartupContainer::UpdateIconsL()" );
-        
-    }
-    
-// -----------------------------------------------------------------------------
-// CEvtMgmtUiStartupContainer::AddIconL
-// -----------------------------------------------------------------------------
-void CEvtMgmtUiStartupContainer::AddIconL( CAknIconArray&  aIcons,
-                                           const TDesC&    aIconFileWithPath,
-                                           TAknsItemID     aSkinID,
-                                           TInt            aIconGraphicsIndex,
-                                           TInt            aIconGraphicsMaskIndex )
-    {
-    MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-
-    EVTUIDEBUG( "AknsUtils::SkinInstance" );
-    
-    CFbsBitmap* bitmap = NULL;
-    CFbsBitmap* bitmapMask = NULL;
-    TRAPD( err, AknsUtils::CreateIconL( skin,
-                            aSkinID,
-                            bitmap,
-                            bitmapMask,
-                            aIconFileWithPath,
-                            aIconGraphicsIndex,
-                            aIconGraphicsMaskIndex ) );
-
-	
-    EVTUIDEBUG1( "AknsUtils::CreateIconL - %d", err );
-    if(err != KErrNone)
-	    {
-	    TRAP( err, AknIconUtils::CreateIconL( bitmap,
-	                            bitmapMask,
-	                            aIconFileWithPath,
-	                            aIconGraphicsIndex,
-	                            aIconGraphicsMaskIndex ) );
-    	EVTUIDEBUG1( "AknIconUtils::CreateIconL - %d", err );
-	    }
-    User::LeaveIfError( err );
-    
-    CleanupStack::PushL( bitmap );
-    CleanupStack::PushL( bitmapMask );
-    
-    CGulIcon* icon = CGulIcon::NewL( bitmap, bitmapMask );
-    
-    // Remove the Bitmap and the Bitmap Icon from the Clean up stack since 
-    // the ownership is taken over by the icon
-    CleanupStack::Pop( bitmapMask );
-    CleanupStack::Pop( bitmap ); 
-    
-    CleanupStack::PushL( icon );
-    aIcons.AppendL( icon );
-    CleanupStack::Pop( icon ); // icon
-    }
-    
-// -----------------------------------------------------------------------------
-// CEvtMgmtUiStartupContainer::AddColorIconL
-// -----------------------------------------------------------------------------
-void CEvtMgmtUiStartupContainer::AddColorIconL( CAknIconArray&  aIcons,
-                                           const TDesC&    aIconFileWithPath,
-                                           TAknsItemID     aSkinID,
-                                           TInt            aIconGraphicsIndex,
-                                           TInt            aIconGraphicsMaskIndex )
-    {
-    MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-
-    // Repeat icon. Color skinned with day view icon color 
-    // FIXME: highlight coloring in lists doesn't work for icons.
-    // When Avkon suplies some method to do that, change these 
-    TAknsItemID colorGroup = KAknsIIDQsnIconColors;
-    TInt colorIndex = EAknsCIQsnIconColorsCG19;
-    TRgb nonSkinColor = AKN_LAF_COLOR(215);
-    
-    CFbsBitmap* bitmap = NULL;
-    CFbsBitmap* bitmapMask = NULL;
-    AknsUtils::CreateColorIconLC( skin,
-                            aSkinID,
-                            colorGroup,
-                            colorIndex,
-                            bitmap,
-                            bitmapMask,
-                            aIconFileWithPath,
-                            aIconGraphicsIndex,
-                            aIconGraphicsMaskIndex,
-                            nonSkinColor );
-    
-    CGulIcon* icon = CGulIcon::NewL( bitmap, bitmapMask );
-    
-    // Remove the Bitmap and the Bitmap Icon from the Clean up stack since 
-    // the ownership is taken over by the icon
-    CleanupStack::Pop( bitmapMask );
-    CleanupStack::Pop( bitmap ); 
-    
-    CleanupStack::PushL( icon );
-    aIcons.AppendL( icon );
-    CleanupStack::Pop( icon ); // icon
-    }
-
-// -----------------------------------------------------------------------------
-// CEvtMgmtUiStartupContainer::IconFileNameLC
-// -----------------------------------------------------------------------------
-TFileName* CEvtMgmtUiStartupContainer::IconFileNameLC() const
-    {
-    TFileName* fileName = new(ELeave) TFileName;
-    CleanupStack::PushL( fileName );
-    
-	TFileName* tmpName = new(ELeave) TFileName;
-    CleanupStack::PushL( tmpName );
-	
-    tmpName->Append( KDC_BITMAP_DIR );
-    tmpName->Append( KEvtMgmtUiIconFileName );
-
-    CEikAppUi *appUi = ( CEikAppUi *)( CEikonEnv::Static()->AppUi());
-    TFileName appDrive = appUi->Application()->AppFullName();
-    
-    TParse parse;
-    User::LeaveIfError( parse.Set( appDrive, NULL, NULL ) );
-    User::LeaveIfError( parse.Set( parse.Drive(), tmpName, NULL ) );
-    
-	fileName->Copy(parse.FullName());
-
-    CleanupStack::PopAndDestroy( tmpName );
-
-    return fileName;
-    }    
-// ---------------------------------------------------------------------------
-// CEvtMgmtUiModel::UpdateListBoxL()
-// It will update listbox
-// ---------------------------------------------------------------------------
-//
-void CEvtMgmtUiStartupContainer::UpdateListBoxL(TInt aSelectedItemIndex)
-    {   
-    iListBox->Model()->Filter()->ResetFilteringL();
-    iFindBox->ResetL();
-    iListBox->ClearSelection();
-    
-    TInt count = iListBox->Model()->NumberOfItems();
-    if( iPrevCount > count )
-		{
-        iListBox->HandleItemRemovalL();
-		iListBox->DrawNow();
-		}
-    else
-		{
-        iListBox->HandleItemAdditionL();
-		}
-            
-    iPrevCount = count;
-               
-    if( aSelectedItemIndex >= count )
-        aSelectedItemIndex = count-1;
-    if(aSelectedItemIndex<0)
-          aSelectedItemIndex = 0;
-
-    iListBox->SetCurrentItemIndexAndDraw( aSelectedItemIndex );   
-    
-    // Check for FindBox Visiblity
-    HandleFindBoxVisibility();
-    }
-
-// ---------------------------------------------------------------------------
-// CEvtMgmtUiStartupContainer::CurrentItemIndex()
-// It will return the index of the selected item 
-// ---------------------------------------------------------------------------
-//
-TInt CEvtMgmtUiStartupContainer::CurrentItemIndex()
-    {
-        return iListBox->Model()->Filter()->FilteredItemIndex( iListBox->CurrentItemIndex() );
-    }
-
-// ---------------------------------------------------------------------------
-// CEvtMgmtUiStartupContainer::HandleMarkCmd()
-// It will handle mark functionality.
-// ---------------------------------------------------------------------------
-//
-void CEvtMgmtUiStartupContainer::HandleMarkCmdL( TInt aIndex, TBool aIsMarked )
-    {
-    CListBoxView* listBoxView = iListBox->View();
-    CAknFilteredTextListBoxModel* model = iListBox->Model();
-    if( aIndex != KErrNotFound )
-        {
-        TInt visibleIndex = model->Filter()->VisibleItemIndex(aIndex);
-        if (aIsMarked)
-             {
-             listBoxView->SelectItemL(visibleIndex);
-             }
-        else
-            {
-            listBoxView->DeselectItem(visibleIndex);
-            }
-        }
-    else
-        {
-        TInt itemCount = model->NumberOfItems();
-        for (TUint i = 1; i < itemCount; i++)
-            {
-            TInt visibleIndex = model->Filter()->VisibleItemIndex(i);
-            if (aIsMarked)
-                {
-                listBoxView->SelectItemL(i);
-                }
-            else
-                {
-                listBoxView->DeselectItem(i);
-                }
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CEvtMgmtUiStartupContainer::HandleMarkableListDynInitMenuPane()
-// It will display mark menu items dynamically
-// ---------------------------------------------------------------------------
-//
-void CEvtMgmtUiStartupContainer::HandleMarkableListDynInitMenuPane( TInt /*ResourceId */, CEikMenuPane *aMenuPane )
-    {
-    TInt pos;
-    if( !aMenuPane->MenuItemExists(EAknCmdMark, pos) )
-        return;
-    
-    TInt markItems = iListBox->SelectionIndexes()->Count();
-    if( iListBox->CurrentItemIndex() == 0 ) //if 'Create New Event'
-        {
-        aMenuPane->SetItemDimmed( EAknCmdMark, ETrue );
-        aMenuPane->SetItemDimmed( EAknCmdUnmark, ETrue );        
-        }
-    else
-        {
-        if(iListBox->View()->ItemIsSelected(iListBox->CurrentItemIndex()) )
-            {
-            aMenuPane->SetItemDimmed( EAknCmdMark, ETrue );
-            aMenuPane->SetItemDimmed( EAknCmdUnmark, EFalse );
-            }
-        else
-            {
-            aMenuPane->SetItemDimmed( EAknCmdMark, EFalse );
-            aMenuPane->SetItemDimmed( EAknCmdUnmark, ETrue );
-            }       
-        }
-    if( markItems < 1 )// if no item is selected
-        {
-        aMenuPane->SetItemDimmed( EAknUnmarkAll, ETrue );
-        }
-    else
-        {
-       aMenuPane->SetItemDimmed( EAknUnmarkAll, EFalse );
-        }
-    
-    if( markItems == iListBox->Model()->NumberOfItems()-1 )// if all items are selected
-        {
-        aMenuPane->SetItemDimmed( EAknMarkAll, ETrue );
-        }
-    else
-        {
-        aMenuPane->SetItemDimmed( EAknMarkAll, EFalse );
-        }   
-    }
-
-// ---------------------------------------------------------------------------
-// CEvtMgmtUiStartupContainer::NumberOfMarkedItems()
-// It will return count of marked items
-// ---------------------------------------------------------------------------
-//
-TInt CEvtMgmtUiStartupContainer::NumberOfMarkedItems()
-    {
-    return iListBox->SelectionIndexes()->Count();
-    }
-
-// ---------------------------------------------------------------------------
-// CEvtMgmtUiStartupContainer::MarkItems()
-// It will return marked items
-// ---------------------------------------------------------------------------
-//
-const CArrayFix<TInt>* CEvtMgmtUiStartupContainer::MarkItems()
-    {
-    return iListBox->SelectionIndexes();
-    }
-
-// ---------------------------------------------------------------------------
-// CEvtMgmtUiStartupContainer::FilteredIndex()
-// It will return marked items
-// ---------------------------------------------------------------------------
-//
-TInt CEvtMgmtUiStartupContainer::FilteredIndex(TInt aIndex)
-    {
-    return iListBox->Model()->Filter()->FilteredItemIndex( aIndex );
-    }
-
-// ---------------------------------------------------------------------------
-// CEvtMgmtUiStartupContainer::FilteredCount()
-// It will return count of marked items
-// ---------------------------------------------------------------------------
-//
-TInt CEvtMgmtUiStartupContainer::FilteredCount()
-    {
-    return iListBox->Model()->Filter()->FilteredNumberOfItems();
-    }
-
-// ---------------------------------------------------------------------------
-// CEvtMgmtUiStartupContainer::MakeTitleL()
-// Set the Title Text
-// ---------------------------------------------------------------------------
-//
-void CEvtMgmtUiStartupContainer::MakeTitleL()
-    {
-    // Obtain the title from the Status Pane
-    CAknTitlePane* title = static_cast<CAknTitlePane*>( iEikonEnv->AppUiFactory()->
-    	StatusPane()->ControlL( TUid::Uid( EEikStatusPaneUidTitle )));
-       
-    // Set the Title's buffer    
-    HBufC* buf = StringLoader::LoadL( R_EVTUI_TITLE );    
-    title->SetText( buf ); // Takes ownership of buf 
-    }    
-// End of File