chxavplaylistnavicontrol.h
上传用户:zhongxx05
上传日期:2007-06-06
资源大小:33641k
文件大小:2k
源码类别:
Symbian
开发平台:
C/C++
- /*============================================================================*
- *
- * (c) 1995-2002 RealNetworks, Inc. Patents pending. All rights reserved.
- *
- *============================================================================*/
- #if !defined(CHXAVPLAYLISTNAVICONTROL_INCLUDED__)
- #define CHXAVPLAYLISTNAVICONTROL_INCLUDED__
- #include "chxavrefptr.h"
- #include "chxavtextcontrol.h"
- #include "chxavplayer.h"
- #include "comptr.h"
- // class CHXAvPlaylistNaviControl
- class CHXAvPlaylistNaviControl
- : public CCoeControl
- , public IHXSymPlayerStateObserver
- {
- public:
- // ctor and dtor
- CHXAvPlaylistNaviControl();
- virtual ~CHXAvPlaylistNaviControl();
- static CHXAvPlaylistNaviControl* NewL(CHXAvPlayer* pPlayer, const CCoeControl& parent);
- void ConstructL(CHXAvPlayer* pPlayer, const CCoeControl& parent);
- void SetRefreshCommandL(const CHXAvCommand& cmd);
- // IHXSymPlayerStateObserver
- void OnAdvancePlaylist();
- void UpdatePlaylistTextL();
- protected:
- virtual void Draw(const TRect& rect) const;
- virtual TInt CountComponentControls() const;
- virtual CCoeControl* ComponentControl(TInt aIndex) const;
- void ShowPlaylistText(bool bShow);
- void OnHidePlaylistTextTimer();
- private:
- // disallow assignment and copy
- CHXAvPlaylistNaviControl(const CHXAvPlaylistNaviControl& rhs);
- CHXAvPlaylistNaviControl& operator=(const CHXAvPlaylistNaviControl& rhs);
- public:
- // methods
- private:
- // implementation
- private:
- // data
- CHXAvCommandPtr m_spRefreshCmd;
- refptr<CHXAvTextControl> m_spPlaylistText;
- TRect m_rcParent;
- comptr<CHXAvPlayer> m_spPlayer;
- };
- inline
- void CHXAvPlaylistNaviControl::SetRefreshCommandL(const CHXAvCommand& cmd)
- {
- m_spRefreshCmd = cmd.CloneL();
- }
- #endif // CHXAVPLAYLISTNAVICONTROL_INCLUDED__