diff -r 491b3ed49290 -r 65326cf895ed deviceencryption/DevEncUi/inc/DevEncUiMainViewContainer.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/deviceencryption/DevEncUi/inc/DevEncUiMainViewContainer.h Wed Sep 01 12:31:07 2010 +0100 @@ -0,0 +1,149 @@ +/* +* Copyright (c) 2005 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 for the main view. +* +*/ + +#ifndef __DEVENCUI_MAINVIEW_CONTAINER_H__ +#define __DEVENCUI_MAINVIEW_CONTAINER_H__ + +//INCLUDES + +//System Includes +#include +#include +#include +#include + +//User Includes + +#include "DevEnc.hrh" +#include "DevEncUiContainerEventCallback.h" +#include "DevEncUiMemInfoObserver.h" + +//FORWARD DECLARATIONS +class CDevEncUiDocument; +class CDevEncUiSettingItemList; +class CRepository; +class CDevEncUiMemoryEntity; + +class CDevEncUiMainViewContainer : public CCoeControl, + public MDevEncUiMemInfoObserver + { + public: + virtual TInt CountComponentControls() const; + /** + * @function NewL + * @abstract Creates a CDevEncUiMainViewContainer object, which will draw itself to aRect + * @param aRect A rectangle that defines the size and location of the displayable area + * for the view + * @param aDocument the document + **/ + static CDevEncUiMainViewContainer* NewL( const TRect& aRect, + RArray& aMemEntities, + MContainerEventCallback& aCallback, + CRepository*& aCrSettings, + TInt& aMmcStatus ); + + /** + * @function NewLC + * @abstract Creates a CDevEncUiMainViewContainer object, which will draw itself to aRect + * @param aRect A rectangle that defines the size and location of the displayable area + * for the view + * @param aDocument the document + **/ + static CDevEncUiMainViewContainer* NewLC( const TRect& aRect, + RArray& aMemEntities, + MContainerEventCallback& aCallback, + CRepository*& aCrSettings, + TInt& aMmcStatus ); + ~CDevEncUiMainViewContainer(); + + /** + * From CCoeControl. Called by the framework whenever a key event occurs. + * Passes the key event to the settings list if it is not null, otherwise returns + * EKeyWasNotConsumed + * @param aKeyEvent the Key event which occured, e.g. select key pressed + * @param aType the type of Key event which occurred, e.g. key up, key down + * @return TKeyResponse EKeyWasNotConsumed if the key was not processed, + * EKeyWasConsumed if it was + */ + TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent, TEventCode aType ); + + /** + * @function ConstructL + * @abstract Performs the second phase construction, setting the bounding + * rectangle to aRect + * @param aRect the display area for the view + **/ + void ConstructL(const TRect& aRect); + + TInt SelectedItem(); + + /** + * Shows a popup dialog to let user set the state of the selected item. + * @return ETrue if desired state of the selected item was changed + */ + TBool ChangeSelectedItemL(); + + /** + * From MDevEncUiMemInfoObserver + * */ + void UpdateInfo( TDevEncUiMemoryType aType, + TUint aState, + TUint aProgress = 0 ); + + protected: + virtual CCoeControl* ComponentControl(TInt aIndex) const; + + /** + * From CCoeControl + * */ + void SizeChanged(); + + /** + * From CCoeControl + * */ + void HandleResourceChange(TInt aType); + + private: + CDevEncUiMainViewContainer( RArray& aMemEntities, + MContainerEventCallback& aCallback, + CRepository*& aCrSettings, + TInt& aMmcStatus ); + void DoUpdateInfoL( TDevEncUiMemoryType aType, + TUint aState, + TUint aProgress /*= 0*/ ); + + private: + /** Owned */ + MContainerEventCallback& iCallback; + + /** Owned */ + CDevEncUiSettingItemList* iSettingItemList; + + /** Not owned */ + RArray& iMemEntities; + + /** Not owned */ + CRepository*& iCrSettings; + + /** Not owned */ + TInt& iMmcStatus; +}; + + +#endif // __DEVENCUI_MAINVIEW_CONTAINER_H__ + +//End of File