idlehomescreen/widgetmanager/inc/wmmaincontainer.h
branchRCL_3
changeset 93 b01126ce0bec
parent 83 5456b4e8b3a8
child 102 ba63c83f4716
equal deleted inserted replaced
88:3321d3e205b6 93:b01126ce0bec
    36 class CAknsBasicBackgroundControlContext;
    36 class CAknsBasicBackgroundControlContext;
    37 class CAknViewAppUi;
    37 class CAknViewAppUi;
    38 class CAknSearchField;
    38 class CAknSearchField;
    39 class CCoeControl;
    39 class CCoeControl;
    40 class CAknSearchField;
    40 class CAknSearchField;
    41 class CWmPortalButton;
    41 class CWmStore;
    42 class CWmMainContainerView;
    42 class CWmMainContainerView;
    43 class CWmConfiguration;
    43 class CWmConfiguration;
    44 
    44 
    45 /**
    45 /**
    46  * Container class for WmMainContainer
    46  * Container class for WmMainContainer
    92      * @return true, if widgets loading operation is ongoing. 
    92      * @return true, if widgets loading operation is ongoing. 
    93      */
    93      */
    94     TBool IsLoadingWidgets();
    94     TBool IsLoadingWidgets();
    95     
    95     
    96     /** 
    96     /** 
    97      * @return true, if portal button is currently selected 
       
    98      */
       
    99     TBool PortalSelected();
       
   100     
       
   101     /** 
       
   102      * @return true, if a widget in list is currently selected 
    97      * @return true, if a widget in list is currently selected 
   103      */
    98      */
   104     TBool WidgetSelected();
    99     TBool WidgetSelected();
   105     
   100     
   106     /** 
   101     /** 
   172      * executes widget uninstall 
   167      * executes widget uninstall 
   173      */
   168      */
   174     void UninstallWidgetL();
   169     void UninstallWidgetL();
   175 
   170 
   176     /**
   171     /**
   177      * opens currently selected portal
   172      * Store menu command.
   178      */
   173      */
   179     void OpenPortalL();
   174     void HandleStoreCommandL();
   180 
       
   181     /**
       
   182      * Selection key (middle soft key)
       
   183      */
       
   184     void SelectL();
       
   185     
   175     
   186     /**
   176     /**
   187      * Show widget manager help
   177      * Show widget manager help
   188      */
   178      */
   189     void ShowHelpL();
   179     void ShowHelpL();
   224      * Handles pointer events.
   214      * Handles pointer events.
   225      * 
   215      * 
   226      * @see CCoeControl::HandlePointerEventL
   216      * @see CCoeControl::HandlePointerEventL
   227      */
   217      */
   228     void HandlePointerEventL( const TPointerEvent& aPointerEvent );
   218     void HandlePointerEventL( const TPointerEvent& aPointerEvent );
   229     
       
   230     /**
       
   231      * Moves focus to the OVI button
       
   232      * @param aIndex 0=first button, 1=second (if it exists)
       
   233      */
       
   234     void SetFocusToPortalButton( TInt aIndex );
       
   235 
   219 
   236     /**
   220     /**
   237      * Moves focus to the widgets list, alternatively also setting the currently
   221      * Moves focus to the widgets list, alternatively also setting the currently
   238      * selected item.
   222      * selected item.
   239      * @param aIndex the item in widgets list to highlight during setting focus.
   223      * @param aIndex the item in widgets list to highlight during setting focus.
   250         
   234         
   251     /*
   235     /*
   252      * To set iClosingDown. See above.
   236      * To set iClosingDown. See above.
   253      */
   237      */
   254     void SetClosingDown( TBool aClosingDown );
   238     void SetClosingDown( TBool aClosingDown );
   255 
       
   256     /**
       
   257      * access to WM configuration
       
   258      */
       
   259     CWmConfiguration& Configuration();
       
   260     
       
   261     /**
       
   262      * Process foregound events.
       
   263      * @param aForeground ETrue indicates foreground
       
   264      */
       
   265     void ProcessForegroundEvent( TBool aForeground );
       
   266     
   239     
   267     /**
   240     /**
   268      * access to WM list
   241      * access to WM list
   269      */
   242      */
   270     CWmListBox& WmListBox();
   243     CWmListBox& WmListBox();
   312      */
   285      */
   313     void AdaptiveSearchTextChanged( CAknSearchField* aSearchField );
   286     void AdaptiveSearchTextChanged( CAknSearchField* aSearchField );
   314     
   287     
   315 private: // New functions
   288 private: // New functions
   316     
   289     
       
   290     void DisplayAndLaunchStoresL();
       
   291     static void CleanupIconArray( TAny* aIconArray );
       
   292 
   317     void AddControlL( CCoeControl* aControl, TInt aControlId );
   293     void AddControlL( CCoeControl* aControl, TInt aControlId );
   318     void InitializeControlsL( const TRect& aRect );
   294     void InitializeControlsL( const TRect& aRect );
   319     void LayoutControls();
   295     void LayoutControls();
   320     void StartLoadingWidgetsL();
   296     void StartLoadingWidgetsL();
   321     void RemoveCtrlsFromStack();
   297     void RemoveCtrlsFromStack();
   322     void UpdateFocusMode();
       
   323     void ResetFocus( TDrawNow aDrawNow = ENoDrawNow );
       
   324     CCoeControl* FindChildControlByPoint( const TPoint& aPoint );
   298     CCoeControl* FindChildControlByPoint( const TPoint& aPoint );
   325     void HandleFindSizeChanged();
   299     void HandleFindSizeChanged();
   326     TKeyResponse MoveFocusByKeys(
       
   327             const TKeyEvent& aKeyEvent, 
       
   328             TEventCode aType );
       
   329     TKeyResponse HandleButtonKeyEventL( 
       
   330             const TKeyEvent& aKeyEvent, 
       
   331             TEventCode aType );
       
   332     TKeyResponse HandleListKeyEventL( 
   300     TKeyResponse HandleListKeyEventL( 
   333             const TKeyEvent& aKeyEvent, 
   301             const TKeyEvent& aKeyEvent, 
   334             TEventCode aType );
   302             TEventCode aType );
   335     TKeyResponse HandleSearchKeyEventL( 
   303     TKeyResponse HandleSearchKeyEventL( 
   336             const TKeyEvent& aKeyEvent, 
   304             const TKeyEvent& aKeyEvent, 
   337             TEventCode aType );
   305             TEventCode aType );
   338     TInt OperatorButtonHigherPriority( TInt aIndex );
       
   339     
   306     
   340 public: // from MWmWidgetloaderObserver
   307 public: // from MWmWidgetloaderObserver
   341     void LoadDoneL( TBool aWidgetListChanged );
   308     void LoadDoneL( TBool aWidgetListChanged );
   342     
   309     
   343 private:
   310 private:
   364     
   331     
   365     /**
   332     /**
   366      * background
   333      * background
   367      */
   334      */
   368     CAknsBasicBackgroundControlContext* iBgContext;
   335     CAknsBasicBackgroundControlContext* iBgContext;
   369     
   336 
   370     /**
       
   371      * portal button
       
   372      * (if there is only one button, this is it)
       
   373      */
       
   374     CWmPortalButton*         iPortalButtonOne;
       
   375 
       
   376     /**
       
   377      * portal button
       
   378      * (if there is only one button, this is NULL)
       
   379      */
       
   380     CWmPortalButton*         iPortalButtonTwo;
       
   381 
       
   382     /** whether we are orientated in landscape */
       
   383     TBool                   iLandscape;
       
   384 
       
   385     /** whether we have mirrored layout */
       
   386     TBool                   iMirrored;
       
   387 
       
   388     /** focus modes */
       
   389     enum TWmFocusMode
       
   390         {
       
   391         ENowhere,
       
   392         EPortal,
       
   393         EList,
       
   394         EFind
       
   395         };
       
   396 
       
   397     /**
       
   398      * current widget manager focus mode
       
   399      */
       
   400     TWmFocusMode            iFocusMode;
       
   401     
       
   402     /**
   337     /**
   403      * AO for loading widgets into the list UI
   338      * AO for loading widgets into the list UI
   404      */
   339      */
   405     CWmWidgetLoaderAo*      iWidgetLoader;
   340     CWmWidgetLoaderAo*      iWidgetLoader;
   406     
   341 
       
   342     /**
       
   343      * Currectly selected store.
       
   344      */
       
   345     CWmStore*               iSelectedStore;
       
   346 
   407     /**
   347     /**
   408      * If this is set to ETrue it means wmview is closing and all user inputs
   348      * If this is set to ETrue it means wmview is closing and all user inputs
   409      * should be ignored.
   349      * should be ignored.
   410      */
   350      */
   411     TBool                   iClosingDown;
   351     TBool                   iClosingDown;
   412     
       
   413     /**
       
   414      * The configuration
       
   415      */
       
   416     CWmConfiguration*       iConfiguration;
       
   417     
   352     
   418 #ifdef _WM_UNIT_TEST
   353 #ifdef _WM_UNIT_TEST
   419     friend class CWmUnitTest;
   354     friend class CWmUnitTest;
   420 #endif
   355 #endif
   421     };
   356     };