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

Symbian

开发平台:

C/C++

  1. /************************************************************************
  2.  * chxavfolderpopuplist.h
  3.  * ----------------------
  4.  *
  5.  * Synopsis:
  6.  *
  7.  * (c) 1995-2003 RealNetworks, Inc. Patents pending. All rights reserved.
  8.  *
  9.  ************************************************************************/
  10. #ifndef _chxavfolderpopuplist_h_
  11. #define _chxavfolderpopuplist_h_
  12. // Symbian includes...
  13. #include <aknpopup.h>
  14. // Include from this project...
  15. #include "chxavfileviewpageinfo.h"
  16. #include "chxavvector.h"
  17. #include "chxavcallback.h"
  18. #include "chxavrefptr.h"
  19. // class CHXAvFolderPopupList
  20. class CHXAvFolderPopupList 
  21. : public CAknPopupList 
  22. {
  23. public:
  24.     CHXAvFolderPopupList(TInt& idxSelected, TInt& idExitCmd);
  25.     virtual ~CHXAvFolderPopupList();
  26.     void ConstructL(TInt resIdPrompt, 
  27.         TInt resIdSelectButtonText, 
  28.         const CDesCArrayFlat* pFolders, 
  29.         const TDesC* pCurrentPath, 
  30.         TInt idxCurrentItem = 0);
  31.     void ConstructL(TInt resIdPrompt, TInt resIdSelectButtonText,
  32.                    const CHXAvVector<CHXAvMediaFolderInfoPtr>& mediaFolderInfo,
  33.                    const TDesC* pCurrentPath,
  34.                    TInt idxCurrentItem = 0);
  35. protected:
  36. // implementation
  37.     void DoBeginConstructL(TInt resIdPrompt, TInt resIdCba, TInt resIdSelectButtonText, const TDesC* pCurrentPath);
  38.     void SetFolderListItemsL(const CDesCArrayFlat* pFolders);
  39.     void SetRootFolderListItemsL(const CHXAvVector<CHXAvMediaFolderInfoPtr>& mediaFolderInfo);
  40.     void CreateAndSetFolderIconsL();
  41.     void CreateAndSetRootIconsL();
  42.     void ForwardCommandL(TInt idCommand);
  43.     bool FolderHasChildren(TInt idxFolder);
  44. // CAknPopupList
  45.     virtual void AttemptExitL(TBool aAccept);
  46.     // MEikListBoxObserver
  47.     void HandleListBoxEventL(CEikListBox* aListBox, TListBoxEvent aEventType);
  48. protected:
  49.     refptr<CAknSingleGraphicPopupMenuStyleListBox> m_spListBox;
  50.     TInt& m_idxSelected;
  51.     TInt& m_idExitCmd;
  52.     refptr<CHXAvCallback>      m_spSelectButton;
  53.     const TDesC*            m_wpBasePath;
  54.     const CDesCArrayFlat* m_wpFolders;
  55. };
  56. #endif // _chxavfolderpopuplist_h_