idlehomescreen/xmluirendering/uiengine/inc/xnbgcontrol.h
changeset 5 c743ef5928ba
parent 2 08c6ee43b396
child 11 ff572dfe6d86
--- a/idlehomescreen/xmluirendering/uiengine/inc/xnbgcontrol.h	Tue Jan 26 11:48:23 2010 +0200
+++ b/idlehomescreen/xmluirendering/uiengine/inc/xnbgcontrol.h	Tue Feb 02 00:04:13 2010 +0200
@@ -24,9 +24,9 @@
 #include <coecntrl.h>
 
 // User includes
+#include "xnuistatelistener.h"
 
 // Forward declarations
-class CAknsLayeredBackgroundControlContext;
 
 /**
  * Background appearance drawer
@@ -35,7 +35,7 @@
  * @lib xn3layoutengine.lib
  * @since S60 5.0
  */
-NONSHARABLE_CLASS( CXnBgControl ) : public CCoeControl 
+NONSHARABLE_CLASS( CXnBgControl ) : public CCoeControl , public MXnUiStateObserver
     {
 public:    
     // Constructors and destructor
@@ -100,11 +100,51 @@
     // new functions
     void SetCompoundControl( CCoeControl* aControl );
     
+	/**
+     * Service for removing grabbing controls
+     */
+    void ResetGrabbingL();
+    
+    /**
+     * Prepares control for destroying
+     */
+    void PrepareDestroy();
+  
+private:  
+	// new functions
+    
+	/**
+     * Removes recursively grabbing controls
+     */
+    void RemoveGrabbingControL( const CCoeControl* aControl, const TPointerEvent& aEvent ) const;
+    
+private:
+    // from MXnUiStateObserver
+    
+    /**
+     * @see MXnUiStateObserver
+     */
+    void NotifyForegroundChanged( TForegroundStatus aStatus );
+    
+    /**
+     * @see MXnUiStateObserver
+     */
+    void NotifyLightStatusChanged( TBool aLightsOn );
+    
+    /**
+     * @see MXnUiStateObserver
+     */
+    void NotifyInCallStateChaged( TBool aInCall );   
+    
 private:
     // data
     
     /** Compound Control, Not owned */
     CCoeControl* iControl;
+    
+	/** stored point of EButton1Down */
+    TPoint iHitpoint;
+    
     };
 
 #endif // _XNBGCONTROL_H