securitydialogs/lockapp/inc/lockappdevicelockcontainer.h
changeset 0 164170e6151a
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/securitydialogs/lockapp/inc/lockappdevicelockcontainer.h	Tue Jan 26 15:20:08 2010 +0200
@@ -0,0 +1,98 @@
+/*
+* 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:  Devicelock Background UI (window owning control)
+ *
+*/
+
+
+#ifndef LOCKAPPDEVICELOCKCONTAINER_H
+#define LOCKAPPDEVICELOCKCONTAINER_H
+
+// INCLUDES
+#include <coecntrl.h>
+#include <eikimage.h>
+#include <eiklabel.h>
+#include <AknSkinnableClock.h>
+
+// FORWARD DECLARATIONS
+class CAknsLayeredBackgroundControlContext;
+
+/**
+ *  CLockAppDevicelockContainer class contains UI components 
+ *  for the devicelock control.
+ *
+ *  @lib    lockapp
+ *  @since  5.0
+ *  @author Joona Petrell
+ *  @author Tamas Koteles
+ *  @see    CLockAppDevicelockControl
+ */
+class CLockAppDevicelockContainer : public CCoeControl, MCoeControlObserver
+	{
+	public:
+
+		/**
+		 * Two-phased constructor.
+		 */
+		static CLockAppDevicelockContainer* CLockAppDevicelockContainer::NewL( RWindowGroup& aWg );
+
+		/**
+		 * Destructor.
+		 */
+		~CLockAppDevicelockContainer( );
+
+	public:
+
+		/**
+		 * From CCoeControl, MopSupplyObject
+		 */
+		TTypeUid::Ptr MopSupplyObject( TTypeUid aId );
+
+	private:
+
+		/**
+		 * 2nd stage construction
+		 */
+		void ConstructL( RWindowGroup& aWg );
+
+		TRect GetMainPaneRect( );
+
+	private:
+
+		void SizeChanged( );
+
+		TInt CountComponentControls( ) const;
+
+		CCoeControl* ComponentControl( TInt aIndex ) const;
+
+		void Draw( const TRect& aRect ) const;
+
+		void HandleControlEventL( CCoeControl* aControl, TCoeEvent aEventType );
+
+	private:
+
+		CEikImage* iEikBitmap;
+		CFbsBitmap* iBitmap;
+		CFbsBitmap* iMask;
+
+		// Owned background context.
+		CAknsLayeredBackgroundControlContext* iBgContext;
+
+		// Clock for landscape.
+		CAknSkinnableClock* iClock;
+	};
+
+#endif
+
+// End of File