chxavcheckboxlistsettingitem.h
上传用户:zhongxx05
上传日期:2007-06-06
资源大小:33641k
文件大小:2k
源码类别:

Symbian

开发平台:

C/C++

  1. /************************************************************************
  2.  * chxavcheckboxlistsettingitem.h
  3.  * --------------------
  4.  *
  5.  * Synopsis:
  6.  *
  7.  * settings page item comprising checkbox list for configuring mask value
  8.  *
  9.  * Target:
  10.  * Symbian OS
  11.  *
  12.  *
  13.  * (c) 1995-2003 RealNetworks, Inc. Patents pending. All rights reserved.
  14.  *
  15.  ************************************************************************/
  16. #ifndef CHXAVCHECKBOXLISTSETTINGITEM_H__
  17. #define CHXAVCHECKBOXLISTSETTINGITEM_H__
  18. // Symbian includes...
  19. #include <aknlists.h>
  20. #include <akncheckboxsettingpage.h>
  21. #include <aknsettingitemlist.h>
  22. // class CHXAvCheckBoxListSettingItem 
  23. class CHXAvCheckBoxListSettingItem 
  24. : public CAknSettingItem 
  25. {
  26. public:
  27.     CHXAvCheckBoxListSettingItem( TInt aIdentifier, TUint& mask);
  28.     ~CHXAvCheckBoxListSettingItem();
  29. // CAknSettingItem
  30.     virtual void StoreL(); 
  31.     virtual void EditItemL(TBool aCalledFromMenu);
  32.     virtual const TDesC& SettingTextL();
  33.     virtual void HandleSettingPageEventL(CAknSettingPage* pSettingPage,  
  34.         TAknSettingPageEvent eventType);
  35. private:
  36. // implementation helpers
  37.     void CleanupList();
  38.     CSelectionItemList* CreateListL();
  39.     TUint CalculateMask();
  40. private:
  41.     enum
  42.     {   
  43.         k_maxHexDigits = 10 // 8 digits + 2 for '0x'
  44.     };
  45.  
  46.     TUint& m_mask;
  47.     CSelectionItemList* m_pSelectionList;
  48.     TBuf<k_maxHexDigits> m_textBuf;
  49. };
  50. // class CHXAvCheckBoxListSettingPage
  51. class CHXAvCheckBoxListSettingPage : public CAknCheckBoxSettingPage
  52. {
  53. public:
  54.     CHXAvCheckBoxListSettingPage(TInt idRes, CSelectionItemList* pItemArray);
  55. protected: 
  56.     virtual void ProcessCommandL(TInt aCommandId);
  57. };
  58. #endif //CHXAVCHECKBOXLISTSETTINGITEM_H__