diff -r 000000000000 -r 72b543305e3a messagingappbase/mce/inc/MceDeliveryReportControlContainer.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/messagingappbase/mce/inc/MceDeliveryReportControlContainer.h Thu Dec 17 08:44:11 2009 +0200 @@ -0,0 +1,232 @@ +/* +* 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: +* Mce delivery report view container control class implementation. +* +*/ + + + +#ifndef __Mce_App_CMceDeliveryReportControlContainer_H__ +#define __Mce_App_CMceDeliveryReportControlContainer_H__ + +// INCLUDES +#include +#include // CCoeControl + +#include // ListBox + +#include "MceDeliveryReportView.h" +#include "MMceLogEngObserver.h" + +#include +#include + + +//DATA TYPES +enum TMceDeliveryReportsArrayIndexes + { + EMceDeliverySmsInfo = 0, + EMceDeliveryMmsInfo + }; + + +// FORWARD DECLARATIONS + +class CAknTitlePane; +class CEikStatusPane; +class CAknContextPane; +class CMceSessionHolder; + +// CLASS DECLARATION + +/** + * Mce delivery report view container control class implementation. + */ + +class CMceDeliveryReportControlContainer : public CCoeControl, + public MCoeControlObserver, + public MMceLogEngObserver + { + public: // interface + /** + * Standard creation function. + * + * @param aMceDeliveryReportView pointer to the owner of this object. + * @return pointer to CMceDeliveryReportControlContainer instance. + */ + static CMceDeliveryReportControlContainer* NewL( + CMceDeliveryReportView* aMceDeliveryReportView, + CMceSessionHolder& aSessionHolder, + const TRect& aRect ); + + /** + * Destructor. + */ + ~CMceDeliveryReportControlContainer(); + + private: + /** + * Constructor. + * + * @param aMceDeliveryReportView pointer to the owner of this object. + */ + CMceDeliveryReportControlContainer( CMceDeliveryReportView* aMceDeliveryReportView, + CMceSessionHolder& aSessionHolder ); + + /** + * Second phase constructor. + */ + void ConstructL( const TRect& aRect ); + + public: + /** + * Returns ListBox control. + * + * @return Pointer to listbox control. + */ + CAknDoubleGraphicStyleListBox* ListBox() const; + + /** + * Gets from the Shared Data the Current Call Meter value + * + * @return error code + */ + TInt LogDisabledL(); + /** + * Show 3.0 second long confirmation note to the user. + */ + void PopUpNoteL(); + /** + * Make the empty listbox text from the given resource text + * + * @param aListBox The listbox pointer on where to make the text + * @param aResourceText The resource text + */ + void MakeEmptyTextListBoxL( CEikFormattedCellListBoxTypedef* aListBox, + TInt aResourceText ); + + /** + * From CAknAppUi + */ + void HandleResourceChange( TInt aType ); + + + protected: // from CCoeControl + /** + * Handles this application view's command keys. Forwards other keys to + * child control(s). + * + * @return EKeyWasConsumed if the keyboard event was consumed or + * EKeyWasNotConsumed otherwise. + */ + TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent, + TEventCode aType ); + + /** + * Returns the count of child controls. + * + * @return number of the subcontrols. + */ + TInt CountComponentControls() const; + + /** + * Returns the child controls at aIndex. + * + * @param aIndex index of the control + * + * @return Sub control from the aIndex. + */ + CCoeControl* ComponentControl( TInt aIndex ) const; + + /** + * Called when control's size changed. + */ + void SizeChanged(); + + /** + * Draw the control's contents + * + * @param aRect Drawable area + */ + void Draw( const TRect& aRect ) const; + + + /** + * From CCoeControl + */ + void FocusChanged(TDrawNow aDrawNow); + + + + protected: // MCoeControlObserver + /** + * Handles event from observed control. + * + * @param aControl The control that sent the event. + * @param aEventType The event type. + */ + void HandleControlEventL(CCoeControl* aControl, TCoeEvent aEventType); + + private: // operations + + /** + * Append icon to icon array. + * + * @param aId Icon id + * @param aIcons Icon array + * @param aIconFileWithPath Icon file name with path + * @param aIconGraphicsIndex Picture index. + * @param aIconGraphicsMaskIndex Mask index. + */ + void AddIconL( TAknsItemID aId, CAknIconArray* aIcons, + const TDesC& aIconFileWithPath, + TInt aIconGraphicsIndex, + TInt aIconGraphicsMaskIndex ); + + private: // Commands + + + + /** + * Change bitmaps when skin changes. + */ + void SkinBitmapChangesL( ); + + public: // From MMceLogEngObserver + /** + * Application's log engine calls this method when the listbox state has changed + */ + void MceLogEngineListBoxStateHasChangedL(); + + /** + * From CCoeControl + */ + void GetHelpContext(TCoeHelpContext& aContext) const; + + private: // data + // Own: ListBox control + CAknDoubleGraphicStyleListBox* iListBox; + /// Ref: Pointer to the detail view. + CMceDeliveryReportView* iMceDeliveryReportView; + + // security data caging + TFileName iFilenameMuiu; + TFileName iFilenameLog; + CMceSessionHolder& iSessionHolder; + }; + +#endif // __Mce_App_CMceDeliveryReportControlContainer_H__ + +// End of File