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

Symbian

开发平台:

C/C++

  1. /*============================================================================*
  2.  *
  3.  * (c) 1995-2002 RealNetworks, Inc. Patents pending. All rights reserved.
  4.  *
  5.  *============================================================================*/
  6. #if !defined(AV_EDIT_PLAYLIST_DIALOG_INCLUDED__)
  7. #define AV_EDIT_PLAYLIST_DIALOG_INCLUDED__
  8. #include <aknform.h>
  9. #include "chxavrefptr.h"
  10. #include "chxavplaylist.h"
  11. #include "chxavramparser.h"
  12. // class CHXAvEditPlaylistDialog
  13. class CHXAvEditPlaylistDialog : public CAknForm 
  14. {
  15. public:
  16.     CHXAvEditPlaylistDialog();
  17.     ~CHXAvEditPlaylistDialog();
  18.     TInt SetPlaylistL(const TDesC& playListPath);
  19. protected:
  20.     typedef bool (CHXAvEditPlaylistDialog::* PMFNForEach)(TInt, CEikEdwin*);
  21. // implementation
  22.     void InsertItemL(const TDesC& caption, const TDesC& text, TInt idxPos = -1);
  23.     void PopulateL();
  24.     bool VerifyFormL();
  25.     void CreateRestoreListL();
  26.     bool ForEachEdwinL(PMFNForEach pfn);
  27.     bool AppendRestoreListL(TInt idx, CEikEdwin* pEdwin);
  28.     bool RestoreItemL(TInt idx, CEikEdwin* pEdwin);
  29.     bool VerifyUrlL(TInt /*idx*/, CEikEdwin* pEdwin);
  30.     bool WriteUrlL(TInt /*idx*/, CEikEdwin* pEdwin);
  31.     void DoRestorePreDialogStateL();
  32. // CEikDialog
  33.     void DynInitMenuPaneL( TInt aResourceId, CEikMenuPane* aMenuPane );
  34.     void PreLayoutDynInitL();
  35.     TKeyResponse OfferKeyEventL (const TKeyEvent &aKeyEvent, TEventCode aType); 
  36.     TBool OkToExitL(TInt aButtonId);
  37.     void ProcessCommandL (TInt id);
  38. // CCoeControl
  39.     void GetHelpContext(TCoeHelpContext& aContext) const;
  40. // CAknForm
  41.     TBool SaveFormDataL(); 
  42.     void DoNotSaveFormDataL(); 
  43.     TBool QuerySaveChangesL();
  44.     void DeleteCurrentItemL();
  45.     
  46.     void EditCurrentLabelL();
  47.     void AddItemL();
  48.     void PrepareForFocusTransitionL();
  49. private:
  50.     CHXAvPlaylistPtr m_spPlaylist;
  51.     TInt m_idNextItem;
  52.     CEikCaptionedControl* m_pLastLineAdded;
  53.     refptr<CDesCArrayFlat> m_spRestoreList;
  54.     bool    m_bInEditMode;
  55.     bool    m_bListAlteredFromPreDialogState;
  56.     RFile m_file;
  57. };
  58. #endif // AV_EDIT_PLAYLIST_DIALOG_INCLUDED__