/[projects]/wxCpuThrottle/src/wxcputhrottleframe.cpp
ViewVC logotype

Diff of /wxCpuThrottle/src/wxcputhrottleframe.cpp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 24 by torben, Thu Aug 9 20:57:19 2007 UTC revision 25 by torben, Fri Aug 10 18:12:36 2007 UTC
# Line 21  Line 21 
21  #include "wxcputhrottleframe.h"  #include "wxcputhrottleframe.h"
22    
23  #include "SysMetrix.xpm"  #include "SysMetrix.xpm"
24    #include <wx/tglbtn.h> //togglebutton
25    
26    
27    enum
28    {
29            ID_SLIDER = 2000,
30            ID_RADIOBOX,
31            ID_TIMER        
32    };
33    
34  BEGIN_EVENT_TABLE( wxCpuThrottleFrame, wxDialog )  BEGIN_EVENT_TABLE( wxCpuThrottleFrame, wxDialog )
35          EVT_CLOSE( wxCpuThrottleFrame::OnClose )          EVT_CLOSE( wxCpuThrottleFrame::OnClose )
36            EVT_TIMER( ID_TIMER, wxCpuThrottleFrame::OnTimer )
37            EVT_RADIOBOX( ID_RADIOBOX, wxCpuThrottleFrame::OnRadiobutton)
38  END_EVENT_TABLE()  END_EVENT_TABLE()
39    
40    
41  enum  
 {  
         ID_SLIDER = 2000          
 };  
42    
43  wxCpuThrottleFrame::wxCpuThrottleFrame( )  wxCpuThrottleFrame::wxCpuThrottleFrame( )
44          : wxDialog(NULL, -1, wxT("wxCpuThrottle"), wxDefaultPosition, wxDefaultSize, wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER),          : wxDialog(NULL, -1, wxT("wxCpuThrottle"), wxDefaultPosition, wxDefaultSize, wxDEFAULT_DIALOG_STYLE ),
45          mIcon(SysMetrix_xpm)          mIcon(SysMetrix_xpm),
46            mWritable(true),
47            mTimer(this, ID_TIMER)
48  {  {
49          mParser.ReadAcpiFile();          try
50            {
51                    mParser.ReadAcpiFile();
52            }
53            catch ( ... )
54            {
55                    wxMessageBox("Could not open kernel file - aborting program");
56                    OnQuit();
57            }
58            
59            try
60            {
61                    mParser.SetState( mParser.GetCurrentState() );
62            }
63            catch ( ...)
64            {
65                    mWritable = false;
66            }
67            
68            
69          SetIcon(mIcon);          SetIcon(mIcon);
70                    
71          mTrayIcon = new TrayIcon(this);          mTrayIcon = new TrayIcon(this);
# Line 44  wxCpuThrottleFrame::wxCpuThrottleFrame( Line 73  wxCpuThrottleFrame::wxCpuThrottleFrame(
73                    
74          wxBoxSizer* mainSizer = new wxBoxSizer( wxVERTICAL );          wxBoxSizer* mainSizer = new wxBoxSizer( wxVERTICAL );
75                    
76          wxSlider* slider = new wxSlider(this, ID_SLIDER, mParser.GetCurrentState(), 0, mParser.GetStateCount()-1, wxDefaultPosition, wxSize(80,200), wxSL_VERTICAL|wxSL_AUTOTICKS|wxSL_LEFT|wxSL_LABELS);  
77          mainSizer->Add(slider, 1, wxEXPAND,0);          wxArrayString strings;
78            strings.Alloc(mParser.GetStateCount() );
79            
80            for (int i=0; i<mParser.GetStateCount() ; i++)
81            {
82                    strings.Add( mParser.GetStateDescription(i) );
83            }
84                    
85            mButtonbox = new wxRadioBox(this, ID_RADIOBOX, wxT("Throttle values"), wxDefaultPosition, wxDefaultSize,strings,1);
86            
87            mButtonbox->Enable( mWritable );
88            
89            mainSizer->Add( mButtonbox, 1, wxEXPAND,0);
90                    
91          SetSizer(mainSizer);          SetSizer(mainSizer);
92          mainSizer->SetSizeHints(this );          mainSizer->SetSizeHints(this );
93                    
94            mTimer.Start(1000);
95            
96                    
97  }  }
98    
99  void wxCpuThrottleFrame::OnQuit( wxCommandEvent& WXUNUSED( event ) )  void wxCpuThrottleFrame::OnQuit( /*wxCommandEvent& WXUNUSED( event )*/ )
100  {  {
101            mTimer.Stop();
102          delete mTrayIcon;          delete mTrayIcon;
103          mTrayIcon = 0;          mTrayIcon = 0;
104                    
# Line 69  void wxCpuThrottleFrame::OnClose( wxClos Line 112  void wxCpuThrottleFrame::OnClose( wxClos
112          Show(false);          Show(false);
113  }  }
114    
115    void wxCpuThrottleFrame::OnTimer( wxTimerEvent& WXUNUSED(event) )
116    {
117            mParser.ReadAcpiFile();
118            mButtonbox->SetSelection( mParser.GetCurrentState() );
119            
120            wxString tooltip = wxT("wxCpuThrottle - ");
121            tooltip += mParser.GetStateDescription( mParser.GetCurrentState() );
122            
123            mTrayIcon->SetIcon( mIcon, tooltip );
124    }
125    
126  void wxCpuThrottleFrame::SetPosition()  void wxCpuThrottleFrame::SetPosition()
127  {  {
128          const int freeBorder = 20;          const int freeBorder = 20;
# Line 76  void wxCpuThrottleFrame::SetPosition() Line 130  void wxCpuThrottleFrame::SetPosition()
130          wxSize mySize = GetSize();          wxSize mySize = GetSize();
131          Move(screenSize.GetWidth()-mySize.GetWidth() - freeBorder, screenSize.GetHeight() - mySize.GetHeight() - freeBorder);          Move(screenSize.GetWidth()-mySize.GetWidth() - freeBorder, screenSize.GetHeight() - mySize.GetHeight() - freeBorder);
132  }  }
133    
134    
135    void wxCpuThrottleFrame::OnRadiobutton(wxCommandEvent& event)
136    {
137        mParser.SetState( mButtonbox->GetSelection() );
138    }

Legend:
Removed from v.24  
changed lines
  Added in v.25

  ViewVC Help
Powered by ViewVC 1.1.20