idlehomescreen/xmluirendering/uiengine/inc/xnkeyeventdispatcher.h
branchRCL_3
changeset 102 ba63c83f4716
parent 88 3321d3e205b6
equal deleted inserted replaced
93:b01126ce0bec 102:ba63c83f4716
    24 #include <coecntrl.h>
    24 #include <coecntrl.h>
    25 #include <eikmobs.h>
    25 #include <eikmobs.h>
    26 
    26 
    27 // Uder includes
    27 // Uder includes
    28 #include "xnviewmanager.h"
    28 #include "xnviewmanager.h"
    29 #include "xnuistatelistener.h"
       
    30 
    29 
    31 // Forward declarations
    30 // Forward declarations
    32 class CXnNode;
    31 class CXnNode;
    33 class CXnUiEngine;
    32 class CXnUiEngine;
    34 class CEikButtonGroupContainer;
    33 class CEikButtonGroupContainer;
    44  *  @lib xn3layoutengine.lib
    43  *  @lib xn3layoutengine.lib
    45  *  @since Series 60 3.1
    44  *  @since Series 60 3.1
    46  */
    45  */
    47 NONSHARABLE_CLASS( CXnKeyEventDispatcher ) : public CCoeControl,   
    46 NONSHARABLE_CLASS( CXnKeyEventDispatcher ) : public CCoeControl,   
    48     public MCoeMessageMonitorObserver,
    47     public MCoeMessageMonitorObserver,
    49     public MXnUiResourceChangeObserver,
       
    50     public MXnViewObserver
    48     public MXnViewObserver
    51     {
    49     {
    52 public:
    50 public:
    53     // Constructors and destructor
    51     // Constructors and destructor
    54     
    52     
    77     /**
    75     /**
    78     * @see MCoeMessageMonitorObserver 
    76     * @see MCoeMessageMonitorObserver 
    79     */
    77     */
    80     void MonitorWsMessage( const TWsEvent& aEvent );
    78     void MonitorWsMessage( const TWsEvent& aEvent );
    81         
    79         
    82 private:
       
    83     // from MXnUiResourceChangeObserver
       
    84     
       
    85     /**
       
    86      * @see MXnUiResourceChangeObserver
       
    87      */
       
    88     void NotifyStatusPaneSizeChanged();
       
    89 
       
    90     /**
       
    91      * @see MXnUiResourceChangeObserver
       
    92      */
       
    93     void NotifyResourceChanged( TInt aType );    
       
    94     
       
    95 public:
    80 public:
    96     // New functions
    81     // New functions
    97    
    82    
    98     /**
    83     /**
    99      * Set the node to which key events are given
    84      * Set the node to which key events are given
   187      * 
   172      * 
   188      * @since S60 5.2
   173      * @since S60 5.2
   189      * @return Last pointer event
   174      * @return Last pointer event
   190      */
   175      */
   191     const TPointerEvent& PointerEvent() const;
   176     const TPointerEvent& PointerEvent() const;
   192        
   177             
   193     /**
       
   194      * Sets activate text editor
       
   195      * 
       
   196      * @since S60 5.2
       
   197      * @param aNode Editor Node
       
   198      * @param TBool True if text editor should be activated
       
   199      */          
       
   200     void SetTextEditorActive( CXnNode* aNode, TBool aActivate );
       
   201     
       
   202     /**
       
   203      * Queries whether a text editor is active
       
   204      * 
       
   205      * @since S60 5.2
       
   206      * @return ETrue if text editor is active, EFalse otherwise
       
   207      */
       
   208     TBool IsTextEditorActive() const;
       
   209     
       
   210 private:
   178 private:
   211     // new functions
   179     // new functions
   212     
   180     
   213     void SetNodeL( CXnNode* aToLose, CXnNode* aToGain, TBool aNotify,
   181     void SetNodeL( CXnNode* aToLose, CXnNode* aToGain, TBool aNotify,
   214         TInt aSource = 0 );
   182         TInt aSource = 0 );
   230 
   198 
   231 private:
   199 private:
   232     // from MXnViewObserver
   200     // from MXnViewObserver
   233     
   201     
   234     void NotifyViewActivatedL( const CXnViewData& aViewData );
   202     void NotifyViewActivatedL( const CXnViewData& aViewData );
   235     void NotifyViewLoadedL( const CXnViewData& /*aViewData*/ ) {};
       
   236 
   203 
   237     void NotifyViewDeactivatedL( const CXnViewData& aViewData );
   204     void NotifyViewDeactivatedL( const CXnViewData& aViewData );
   238 
   205 
   239     void NotifyConfigureWidgetL( const CHsContentInfo& aContentInfo,
   206     void NotifyConfigureWidgetL( const CHsContentInfo& aContentInfo,
   240         CXnPluginData& aPluginData );
   207         CXnPluginData& aPluginData );
   241 
   208 
   242     void NotifyWidgetAdditionL( const CXnPluginData& aPluginData );
   209     void NotifyWidgetAdditionL( const CXnPluginData& aPluginData );
   243     void NotifyWidgetRemovalL( const CXnPluginData& aPluginData );
   210     void NotifyWidgetRemovalL( const CXnPluginData& aPluginData );
   244     void NotifyViewAdditionL( const CXnViewData& /*aViewData*/ ){};
   211     void NotifyViewAdditionL( const CXnPluginData& /*aPluginData*/ ){};
   245     void NotifyViewRemovalL( const CXnViewData& /*aViewData*/ ){};
   212     void NotifyViewRemovalL( const CXnPluginData& /*aPluginData*/ ){};
   246     void NotifyAllViewsLoadedL(){};
   213     void NotifyAllViewsLoadedL(){};
   247     void NotifyContainerActivatedL( const CXnViewData& /*aViewData*/ ){};
   214     void NotifyContainerActivatedL( const CXnViewData& /*aViewData*/ ){};
   248 
   215 
   249 private:
   216 private:
   250     // Data
   217     // Data
   271     CEikButtonGroupContainer* iCbaContainer;
   238     CEikButtonGroupContainer* iCbaContainer;
   272     /** For storing the nodes that have passive focus. */
   239     /** For storing the nodes that have passive focus. */
   273     RPointerArray< CXnNode > iPassiveFocusedNodes;
   240     RPointerArray< CXnNode > iPassiveFocusedNodes;
   274     /** Last pointer event */
   241     /** Last pointer event */
   275     TPointerEvent iPointerEvent;
   242     TPointerEvent iPointerEvent;
   276     /** Active text editor node, not owned */
       
   277     CXnNode* iActiveTextEditor;
       
   278     };
   243     };
   279 
   244 
   280 #endif //__XNKEYEVENTDISPATCHER_H__
   245 #endif //__XNKEYEVENTDISPATCHER_H__