#ifndef _WA2PLEDIT_H #define _WA2PLEDIT_H #include #include "wa2playlist.h" #define WA2PLAYLISTEDITOR_PARENT ListWnd class Wa2PlaylistEditor; class Wa2PlaylistEditor : public WA2PLAYLISTEDITOR_PARENT { public: static GUID getInterfaceGuid() { // {265947B2-3EDB-453e-B748-EC17890F4FE4} const GUID guid = { 0x265947b2, 0x3edb, 0x453e, { 0xb7, 0x48, 0xec, 0x17, 0x89, 0xf, 0x4f, 0xe4 } }; return guid; } Wa2PlaylistEditor(); virtual ~Wa2PlaylistEditor(); virtual int onInit(); virtual int onResize(); virtual int wantHScroll() { return 0; } virtual void onVScrollToggle( int set ); virtual COLORREF getTextColor( LPARAM lParam ); virtual COLORREF getBgColor( LPARAM lParam ); virtual void *getInterface( GUID interface_guid ); virtual void setPlaylist( Wa2Playlist *playlist ); // -1 for working playlist virtual int needFocusRect( LPARAM lParam ); virtual COLORREF getFocusRectColor( LPARAM lParam ); virtual void onSetVisible( int show ); virtual int onDeferredCallback( intptr_t p1, intptr_t p2 ); virtual void timerCallback( int id ); virtual void onDoubleClick( int itemnum ); // object virtual void onNewCurrentIndex( int idx ); virtual void onPlaylistModified(); // class static void _onNewCurrentIndex( int idx ); static void _onPlaylistModified(); virtual void loadList(); private: void _loadList(); void resizeCols(); int calcTrackNumWidth(); Wa2Playlist *curplaylist; static PtrList editors; int cur_index; }; // ----------------------------------------------------------------------- extern const wchar_t Wa2PleditXuiObjectStr[]; extern char Wa2PleditXuiSvcName[]; class Wa2PleditXuiSvc : public XuiObjectSvc {}; #endif