The Winamp Remote Control suite
a remote control client and plugin for Winamp 2.x, 5.x
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
PlaylistF.h
Go to the documentation of this file.
1 
2 #ifndef PlaylistFH
3 #define PlaylistFH
4 
5 #include <Classes.hpp>
6 #include <Controls.hpp>
7 #include <StdCtrls.hpp>
8 #include <Forms.hpp>
9 #include <Menus.hpp>
10 #include <ComCtrls.hpp>
11 #include <ExtCtrls.hpp>
12 
13 
14 #include "IWinamp.h"
15 #include "GlassExtender.h"
16 
20 class TfrmPlaylist : public TForm
21 {
22 __published: // IDE-managed Components
23  TListBox *lstSongs;
24  TPopupMenu *pmnuSongs;
25  TMenuItem *mnuRefresh;
26  TMenuItem *mnuSort;
27  TMenuItem *mnuSortFile;
28  TMenuItem *mnuSortFileEntire;
29  TMenuItem *mnuDelete;
30  TMenuItem *mnuAddFiles;
31  TMenuItem *Repeat1;
32  TMenuItem *Shuffle1;
33  TMenuItem *mnuPlay;
34  TPanel *pnlBottom;
35  TProgressBar *pbSongPos;
36  TProgressBar *pbListPos;
37  TStatusBar *sbPlaylist;
38  void __fastcall lstSongsDblClick(TObject *Sender);
39 
40  void __fastcall FormCreate(TObject *Sender);
41  void __fastcall lstSongsDrawItem(TWinControl *Control, int Index,
42  const TRect &Rect, TOwnerDrawState State);
43  void __fastcall lstSongsDrawItemGlass(TWinControl *Control, int Index,
44  const TRect &Rect, TOwnerDrawState State);
45  void __fastcall lstSongsDragOver(TObject *Sender, TObject *Source,
46  int X, int Y, TDragState State, bool &Accept);
47  void __fastcall lstSongsDragDrop(TObject *Sender, TObject *Source,
48  int X, int Y);
49  void __fastcall FormShow(TObject *Sender);
50  void __fastcall lstSongsMouseMove(TObject *Sender,
51  TShiftState Shift, int X, int Y);
52  void __fastcall mnuPlayClick(TObject *Sender);
53  void __fastcall pmnuSongsPopup(TObject *Sender);
54  void __fastcall lstSongsKeyDown(TObject *Sender, WORD &Key,
55  TShiftState Shift);
56  void __fastcall pbSongPosMouseUp(TObject *Sender,
57  TMouseButton Button, TShiftState Shift, int X, int Y);
58  void __fastcall pbSongPosMouseMove(TObject *Sender,
59  TShiftState Shift, int X, int Y);
60  void __fastcall pbSongPosMouseDown(TObject *Sender,
61  TMouseButton Button, TShiftState Shift, int X, int Y);
62  void __fastcall mnuRefreshClick(TObject *Sender);
63  void __fastcall lstSongsMeasureItem(TWinControl *Control,
64  int Index, int &Height);
65  void __fastcall FormDestroy(TObject *Sender);
66 
67 private: // User declarations
68 
69  int BelowIndex;
70  bool fDragging;
71  TStringList *SongList;
72  GlassExtender * ge;
73 
74  void __fastcall DeleteSelected(void);
75  void __fastcall DropFiles(TMessage& Msg);
76 
77 private: // User declarations
78 
79  int _currentpos;
80  int _lastindex;
81  int _lastlength;
82 
83 public:
84  __fastcall TfrmPlaylist(TComponent* Owner);
85  bool __property Dragging = {read = fDragging};
86 
87 BEGIN_MESSAGE_MAP
88 // handling file dropped into the playlist form
89 MESSAGE_HANDLER(WM_DROPFILES,TMessage,DropFiles)
90 END_MESSAGE_MAP(TForm)
91 
92 };
93 
94 extern PACKAGE TfrmPlaylist *frmPlaylist;
95 
96 #endif