File: AStatus.h

package info (click to toggle)
audacity 0.98-3
  • links: PTS
  • area: main
  • in suites: woody
  • size: 2,896 kB
  • ctags: 4,089
  • sloc: cpp: 26,099; ansic: 4,961; sh: 2,465; makefile: 156; perl: 23
file content (67 lines) | stat: -rw-r--r-- 1,226 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
/**********************************************************************

  Audacity: A Digital Audio Editor

  AStatus.h

  Dominic Mazzoni

**********************************************************************/

#ifndef __AUDACITY_STATUS__
#define __AUDACITY_STATUS__

#include <wx/gdicmn.h>
#include <wx/window.h>

class wxBitmap;
class wxMenu;

int GetStatusHeight();

class AStatusListener {
 public:
   virtual void AS_SetRate(double rate) = 0;
};

class AStatus:public wxWindow {
 public:

   AStatus(wxWindow * parent, wxWindowID id,
           const wxPoint & pos,
           const wxSize & size, double rate, AStatusListener * listener);

   virtual ~ AStatus();

   virtual void OnPaint(wxPaintEvent & event);
   virtual void OnMouseEvent(wxMouseEvent & event);

   void SetField(const char *msg, int fieldNum);

   void SetRate(double rate);

   void OnRate8();
   void OnRate11();
   void OnRate16();
   void OnRate22();
   void OnRate44();
   void OnRate48();
   void OnRateOther();

 private:

   AStatusListener * mListener;
   wxBitmap *mBitmap;
   int mWidth;
   int mHeight;
   wxRect mRateField;
   wxMenu *mRateMenu;
   double mRate;
   wxString mField[10];

 public:

   DECLARE_EVENT_TABLE()
};

#endif