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
MainF.h
Go to the documentation of this file.
1 //Borland C++Builder
2 //Copyright (c) 1987, 1998 Borland International Inc. All Rights Reserved.
3 
4 
5 #ifndef MainFH
6 #define MainFH
7 
8 #include <Forms.hpp>
9 #include <StdCtrls.hpp>
10 #include <Controls.hpp>
11 #include <Classes.hpp>
12 #include <Menus.hpp>
13 #include <Dialogs.hpp>
14 #include <ComCtrls.hpp>
15 #include <Graphics.hpp>
16 #include <ImgList.hpp>
17 #include <ActnList.hpp>
18 #include <ExtCtrls.hpp>
19 
20 // winamp client interface
21 #include "IWinamp.h"
22 
23 const int TRAY_NOTIFY = WM_APP + 100;
24 
25 
26 class TfrmMain: public TForm
27 {
28 __published:
29  TPopupMenu *pmnuMain;
30  TMenuItem *mnuShow;
31  TMenuItem *mnuPause;
32  TMenuItem *mnuShutDown;
33  TMenuItem *N1;
34  TMenuItem *N2;
35  TMenuItem *mnuPlay;
36  TMenuItem *mnuAbout;
37  TMenuItem *mnuPlaylist;
38  TMenuItem *mnuStop;
39  TMenuItem *mnuStopFade;
40  TMenuItem *mnuStopCurrent;
41  TMenuItem *mnuVolume;
42  TMenuItem *mnuVolumeUp;
43  TMenuItem *mnuVolumeDown;
44  TMenuItem *mnuVolumeUpMore;
45  TMenuItem *mnuVolumeDownMore;
46  TMenuItem *mnuForward5;
47  TMenuItem *mnuBack5;
48  TMainMenu *mnuMain;
49  TMenuItem *mnuFile;
50  TMenuItem *mnuFileExit;
51  TMenuItem *mnuHelp;
52  TMenuItem *mnuHelpAbout;
53  TMenuItem *Pause1;
54  TMenuItem *Play1;
55  TMenuItem *Stop1;
56  TMenuItem *MoreStops1;
57  TMenuItem *StopafterCurrent1;
58  TMenuItem *StopWithFade1;
59  TMenuItem *Playlist1;
60  TMenuItem *Volume1;
61  TMenuItem *Down1;
62  TMenuItem *Up1;
63  TMenuItem *Forward51;
64  TMenuItem *Back51;
65  TMenuItem *mnuActions;
66  TMenuItem *mnuPlaceOnTray;
67  TTimer *timerMain;
68  TMenuItem *mnuSetVolume0;
69  TMenuItem *mnuSetVolume100;
70  TMenuItem *Volumezero1;
71  TMenuItem *Volumefull1;
72  TMenuItem *mnuShuffle;
73  TMenuItem *mnuRepeat;
74  TMenuItem *Shuffletoggle1;
75  TMenuItem *Repeattoggle1;
77  TMenuItem *Administer1;
78  TMenuItem *mnuShowSettings;
79  TMenuItem *ViewEditSettings1;
80  TMenuItem *Actions1;
81  TMenuItem *mnuNext;
82  TMenuItem *mnuPrevious;
83  TMenuItem *mnuStart;
84  TMenuItem *mnuEnd;
85  TMenuItem *mnuDelete;
86  TMenuItem *mnuAddFiles;
87  TMenuItem *mnuAddPlayList;
88  TMenuItem *mnuPlayfromStart;
89  TMenuItem *mnuAddDirectory;
90  TMenuItem *Actions2;
91  TMenuItem *Next1;
92  TMenuItem *Previous1;
93  TMenuItem *Start1;
94  TMenuItem *End1;
95  TMenuItem *Delete1;
96  TMenuItem *PlayfromStart2;
97  TMenuItem *AddFiles2;
98  TMenuItem *AddPlayList1;
99  TMenuItem *AddDirectory1;
100  TMenuItem *mnuCommands;
101  TMenuItem *ViewToolbar1;
102  TMenuItem *mnuViewCommands;
103  TStatusBar *sbMain;
104  TImageList *imlActions;
105  TMenuItem *N501;
106  TMenuItem *N502;
107  TImage *icoTrayIcon;
108  TMenuItem *mnuMore;
109  TMenuItem *UpMore1;
110  TMenuItem *DownMore1;
111  TImageList *imlCommandsHot;
112  TImageList *imlCommandsCool;
113  TImageList *imlTrayIcons;
114  TMenuItem *LocateServers1;
115  TMenuItem *N3;
116  TMenuItem *N4;
117  TMenuItem *N5;
118  TMenuItem *N6;
119  TMenuItem *N7;
120  TMenuItem *mnuDetails;
121  TMenuItem *mnuNextwithFade;
122  TMenuItem *NextwithFade2;
124  TPageControl *pgSettings;
125  TTabSheet *tbsMain;
127  TPanel *pnlIcon;
128  TLabel *lblVersion;
129  TLabel *lblMessage;
130  TTabSheet *tbsPreferences;
131  TBevel *bvl3;
132  TLabel *lblUpdate;
134  TLabel *lblSongChange;
135  TCheckBox *chkAutoHide;
136  TCheckBox *chkAutoRestore;
137  TRadioButton *rbSongChange;
138  TRadioButton *rbPlaylistChange;
139  TCheckBox *chkFadeOld;
140  TEdit *ebEndPoint;
141  TEdit *ebAddress;
142  TButton *btnLocate;
143  TListBox *lstTimer;
144  TLabel *lblTimer;
145  void __fastcall HideMain(TObject *Sender);
146  void __fastcall FormShow(TObject *Sender);
147  void __fastcall btnCloseClick(TObject *Sender);
148  void __fastcall FormCreate(TObject *Sender);
149  void __fastcall MainTimer(TObject *Sender);
150  void __fastcall FormCloseQuery(TObject *Sender, bool &CanClose);
151  void __fastcall lstTimerClick(TObject *Sender);
152  void __fastcall AddressChange(TObject *Sender);
153  void __fastcall DelayTimer(TObject *Sender);
154  void __fastcall FormDockOver(TObject *Sender,
155  TDragDockObject *Source, int X, int Y, TDragState State,
156  bool &Accept);
157  void __fastcall StartDock(TObject *Sender,
158  TDragDockObject *&DragObject);
159  void __fastcall pgSettingsDockDrop(TObject *Sender,
160  TDragDockObject *Source, int X, int Y);
161  void __fastcall DetailsExecute(TObject *Sender);
162  void __fastcall sbMainDrawPanel(TStatusBar *StatusBar,
163  TStatusPanel *Panel, const TRect &Rect);
164  void __fastcall FormDestroy(TObject *Sender);
165  void __fastcall FormClose(TObject *Sender, TCloseAction &Action);
166  void __fastcall NullAddressChange(TObject *Sender);
167 
168 private: // private user declarations
169  int Delay;
170  int fIconIndex;
171  AnsiString SongTitle;
172  char TipChars[64];
173  bool doHide;
174  bool DoubleClickedL;
175  bool DoubleClickedR;
176  bool connected;
177  void __fastcall TrayNotify(TMessage& Msg);
178  void __fastcall ToggleState(void);
179  PSTR __fastcall TipText(void);
180  void __fastcall DisplayHint(TObject *Sender);
181  void UpdateIcon(void);
182  void __fastcall AppException(TObject *Sender, Exception *E);
183  void __fastcall AnimateForm(TForm * Form, bool FormVisible);
184 
185 public: // public user declarations
189  virtual __fastcall TfrmMain(TComponent* Owner);
190  HANDLE __fastcall IconHandle(void);
191  bool __fastcall TrayMessage(DWORD dwMessage);
192 
193 BEGIN_MESSAGE_MAP
194 MESSAGE_HANDLER(TRAY_NOTIFY, TMessage, TrayNotify)
195  END_MESSAGE_MAP(TForm)
196 };
197 
198 extern TfrmMain *frmMain;
199 
200 void MessageForm(AnsiString MessageStr);
201 
202 
203 
204 #endif
205