--- /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 <AknIconArray.h>
+#include <coecntrl.h> // CCoeControl
+
+#include <aknlists.h> // ListBox
+
+#include "MceDeliveryReportView.h"
+#include "MMceLogEngObserver.h"
+
+#include <bldvariant.hrh>
+#include <msvapi.h>
+
+
+//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