Help->View Log and finally finished WGL (windows) pBuffer implementation

This commit is contained in:
Mark Watkins 2011-06-15 12:50:17 +10:00
parent a49a05e598
commit aed08178d4
12 changed files with 148 additions and 60 deletions

View File

@ -119,6 +119,8 @@
<Unit filename="../../src/graphs/freesans.c"> <Unit filename="../../src/graphs/freesans.c">
<Option compilerVar="CC" /> <Option compilerVar="CC" />
</Unit> </Unit>
<Unit filename="../../src/graphs/gl_pbuffer.cpp" />
<Unit filename="../../src/graphs/gl_pbuffer.h" />
<Unit filename="../../src/graphs/graph.cpp" /> <Unit filename="../../src/graphs/graph.cpp" />
<Unit filename="../../src/graphs/graph.h" /> <Unit filename="../../src/graphs/graph.h" />
<Unit filename="../../src/libs/freetype-gl/font-manager.cpp" /> <Unit filename="../../src/libs/freetype-gl/font-manager.cpp" />

View File

@ -8210,12 +8210,12 @@
"wx/treebase.h" "wx/treebase.h"
"wx/hashmap.h" "wx/hashmap.h"
1307861037 source:/home/mark/projects/git/sleepyhead/src/GUIFrame.cpp 1308106038 source:/home/mark/projects/git/sleepyhead/src/GUIFrame.cpp
"wx/wxprec.h" "wx/wxprec.h"
<wx/wx.h> <wx/wx.h>
"GUIFrame.h" "GUIFrame.h"
1307995741 /home/mark/projects/git/sleepyhead/src/GUIFrame.h 1308105778 /home/mark/projects/git/sleepyhead/src/GUIFrame.h
<wx/intl.h> <wx/intl.h>
<wx/string.h> <wx/string.h>
<wx/bitmap.h> <wx/bitmap.h>
@ -8240,7 +8240,7 @@
<wx/datectrl.h> <wx/datectrl.h>
<wx/dateevt.h> <wx/dateevt.h>
1308095988 source:/home/mark/projects/git/sleepyhead/src/SleepyHeadApp.cpp 1308099489 source:/home/mark/projects/git/sleepyhead/src/SleepyHeadApp.cpp
"wx_pch.h" "wx_pch.h"
<iostream> <iostream>
<wx/log.h> <wx/log.h>
@ -8258,7 +8258,7 @@
1307418393 /home/mark/projects/git/sleepyhead/src/SleepyHeadApp.h 1307418393 /home/mark/projects/git/sleepyhead/src/SleepyHeadApp.h
<wx/app.h> <wx/app.h>
1307862247 /home/mark/projects/git/sleepyhead/src/SleepyHeadMain.h 1308105875 /home/mark/projects/git/sleepyhead/src/SleepyHeadMain.h
<wx/listbox.h> <wx/listbox.h>
<wx/treectrl.h> <wx/treectrl.h>
"SleepyHeadApp.h" "SleepyHeadApp.h"
@ -8309,7 +8309,7 @@
1308026543 D 1308026543 D
1308097644 /home/mark/projects/git/sleepyhead/src/version.h 1308106147 /home/mark/projects/git/sleepyhead/src/version.h
1308003040 ent of cb2ab33... Linux wx2.8 & wx2.9 builds fixed 1308003040 ent of cb2ab33... Linux wx2.8 & wx2.9 builds fixed
<wx/dcbuffer.h> <wx/dcbuffer.h>
@ -8341,7 +8341,7 @@
"preferences.h" "preferences.h"
"tinyxml/tinyxml.h" "tinyxml/tinyxml.h"
1308088585 source:/home/mark/projects/git/sleepyhead/src/SleepyHeadMain.cpp 1308105937 source:/home/mark/projects/git/sleepyhead/src/SleepyHeadMain.cpp
"wx_pch.h" "wx_pch.h"
"version.h" "version.h"
<wx/app.h> <wx/app.h>
@ -8361,7 +8361,7 @@
"sleeplib/profiles.h" "sleeplib/profiles.h"
"sleeplib/machine_loader.h" "sleeplib/machine_loader.h"
1308097644 source:/home/mark/projects/git/sleepyhead/src/graphs/graph.cpp 1308104848 source:/home/mark/projects/git/sleepyhead/src/graphs/graph.cpp
"freetype-gl/font-manager.h" "freetype-gl/font-manager.h"
"freetype-gl/texture-font.h" "freetype-gl/texture-font.h"
"graph.h" "graph.h"
@ -11067,7 +11067,7 @@
<AGL/agl.h> <AGL/agl.h>
<GL/glx.h> <GL/glx.h>
1308097442 source:/home/mark/projects/git/sleepyhead/src/graphs/gl_pbuffer.cpp 1308100135 source:/home/mark/projects/git/sleepyhead/src/graphs/gl_pbuffer.cpp
"gl_pbuffer.h" "gl_pbuffer.h"
<wx/utils.h> <wx/utils.h>

View File

@ -1,17 +1,17 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?> <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<CodeBlocks_layout_file> <CodeBlocks_layout_file>
<ActiveTarget name="Mac" /> <ActiveTarget name="Debug-wx29" />
<File name="../../src/GUIFrame.cpp" open="1" top="1" tabpos="21"> <File name="../../src/GUIFrame.cpp" open="0" top="0" tabpos="21">
<Cursor position="287" topLine="0" /> <Cursor position="287" topLine="0" />
</File> </File>
<File name="../../src/GUIFrame.h" open="0" top="0" tabpos="9"> <File name="../../src/GUIFrame.h" open="0" top="0" tabpos="9">
<Cursor position="3128" topLine="50" /> <Cursor position="3128" topLine="50" />
</File> </File>
<File name="../../src/SleepyHeadApp.cpp" open="1" top="0" tabpos="1"> <File name="../../src/SleepyHeadApp.cpp" open="1" top="0" tabpos="1">
<Cursor position="603" topLine="0" /> <Cursor position="396" topLine="0" />
</File> </File>
<File name="../../src/SleepyHeadMain.cpp" open="1" top="0" tabpos="2"> <File name="../../src/SleepyHeadMain.cpp" open="1" top="0" tabpos="2">
<Cursor position="8658" topLine="272" /> <Cursor position="1273" topLine="0" />
</File> </File>
<File name="../../src/SleepyHeadMain.h" open="1" top="0" tabpos="3"> <File name="../../src/SleepyHeadMain.h" open="1" top="0" tabpos="3">
<Cursor position="2630" topLine="75" /> <Cursor position="2630" topLine="75" />
@ -19,47 +19,53 @@
<File name="../../src/graphs/freesans.c" open="0" top="0" tabpos="10"> <File name="../../src/graphs/freesans.c" open="0" top="0" tabpos="10">
<Cursor position="0" topLine="0" /> <Cursor position="0" topLine="0" />
</File> </File>
<File name="../../src/graphs/graph.cpp" open="1" top="0" tabpos="7"> <File name="../../src/graphs/gl_pbuffer.cpp" open="1" top="0" tabpos="6">
<Cursor position="23140" topLine="830" /> <Cursor position="48" topLine="0" />
</File> </File>
<File name="../../src/graphs/graph.h" open="1" top="0" tabpos="8"> <File name="../../src/graphs/gl_pbuffer.h" open="1" top="1" tabpos="7">
<Cursor position="507" topLine="0" /> <Cursor position="382" topLine="0" />
</File> </File>
<File name="../../src/libs/freetype-gl/font-manager.cpp" open="1" top="0" tabpos="9"> <File name="../../src/graphs/graph.cpp" open="1" top="0" tabpos="4">
<Cursor position="0" topLine="0" /> <Cursor position="0" topLine="0" />
</File> </File>
<File name="../../src/libs/freetype-gl/font-manager.h" open="1" top="0" tabpos="14"> <File name="../../src/graphs/graph.h" open="1" top="0" tabpos="5">
<Cursor position="285" topLine="0" />
</File>
<File name="../../src/libs/freetype-gl/font-manager.cpp" open="0" top="0" tabpos="9">
<Cursor position="0" topLine="0" />
</File>
<File name="../../src/libs/freetype-gl/font-manager.h" open="0" top="0" tabpos="14">
<Cursor position="1954" topLine="5" /> <Cursor position="1954" topLine="5" />
</File> </File>
<File name="../../src/libs/freetype-gl/texture-atlas.cpp" open="1" top="0" tabpos="10"> <File name="../../src/libs/freetype-gl/texture-atlas.cpp" open="0" top="0" tabpos="10">
<Cursor position="3243" topLine="80" /> <Cursor position="3243" topLine="0" />
</File> </File>
<File name="../../src/libs/freetype-gl/texture-atlas.h" open="1" top="0" tabpos="13"> <File name="../../src/libs/freetype-gl/texture-atlas.h" open="0" top="0" tabpos="13">
<Cursor position="1661" topLine="21" /> <Cursor position="1661" topLine="21" />
</File> </File>
<File name="../../src/libs/freetype-gl/texture-font.cpp" open="1" top="0" tabpos="11"> <File name="../../src/libs/freetype-gl/texture-font.cpp" open="0" top="0" tabpos="11">
<Cursor position="1196" topLine="0" /> <Cursor position="1196" topLine="0" />
</File> </File>
<File name="../../src/libs/freetype-gl/texture-font.h" open="1" top="0" tabpos="12"> <File name="../../src/libs/freetype-gl/texture-font.h" open="0" top="0" tabpos="12">
<Cursor position="1280" topLine="9" /> <Cursor position="1280" topLine="9" />
</File> </File>
<File name="../../src/libs/freetype-gl/texture-glyph.cpp" open="1" top="0" tabpos="15"> <File name="../../src/libs/freetype-gl/texture-glyph.cpp" open="0" top="0" tabpos="15">
<Cursor position="1342" topLine="0" /> <Cursor position="1268" topLine="0" />
</File> </File>
<File name="../../src/libs/freetype-gl/texture-glyph.h" open="1" top="0" tabpos="16"> <File name="../../src/libs/freetype-gl/texture-glyph.h" open="0" top="0" tabpos="16">
<Cursor position="1204" topLine="1" /> <Cursor position="1204" topLine="1" />
</File> </File>
<File name="../../src/libs/freetype-gl/vector.cpp" open="1" top="0" tabpos="19"> <File name="../../src/libs/freetype-gl/vector.cpp" open="0" top="0" tabpos="19">
<Cursor position="1127" topLine="0" /> <Cursor position="1127" topLine="0" />
</File> </File>
<File name="../../src/libs/freetype-gl/vector.h" open="1" top="0" tabpos="20"> <File name="../../src/libs/freetype-gl/vector.h" open="0" top="0" tabpos="20">
<Cursor position="0" topLine="0" /> <Cursor position="0" topLine="0" />
</File> </File>
<File name="../../src/libs/freetype-gl/vertex-buffer.cpp" open="1" top="0" tabpos="17"> <File name="../../src/libs/freetype-gl/vertex-buffer.cpp" open="0" top="0" tabpos="17">
<Cursor position="653" topLine="0" /> <Cursor position="653" topLine="0" />
</File> </File>
<File name="../../src/libs/freetype-gl/vertex-buffer.h" open="1" top="0" tabpos="18"> <File name="../../src/libs/freetype-gl/vertex-buffer.h" open="0" top="0" tabpos="18">
<Cursor position="1412" topLine="40" /> <Cursor position="1412" topLine="13" />
</File> </File>
<File name="../../src/libs/sleeplib/binary_file.cpp" open="0" top="0" tabpos="11"> <File name="../../src/libs/sleeplib/binary_file.cpp" open="0" top="0" tabpos="11">
<Cursor position="7148" topLine="269" /> <Cursor position="7148" topLine="269" />
@ -73,10 +79,10 @@
<File name="../../src/libs/sleeplib/loader_plugins/zeo_loader.cpp" open="0" top="0" tabpos="13"> <File name="../../src/libs/sleeplib/loader_plugins/zeo_loader.cpp" open="0" top="0" tabpos="13">
<Cursor position="1662" topLine="27" /> <Cursor position="1662" topLine="27" />
</File> </File>
<File name="../../src/libs/sleeplib/machine.cpp" open="1" top="0" tabpos="5"> <File name="../../src/libs/sleeplib/machine.cpp" open="0" top="0" tabpos="5">
<Cursor position="11760" topLine="264" /> <Cursor position="11760" topLine="264" />
</File> </File>
<File name="../../src/libs/sleeplib/machine.h" open="1" top="0" tabpos="4"> <File name="../../src/libs/sleeplib/machine.h" open="0" top="0" tabpos="4">
<Cursor position="5047" topLine="119" /> <Cursor position="5047" topLine="119" />
</File> </File>
<File name="../../src/libs/sleeplib/machine_loader.h" open="0" top="0" tabpos="14"> <File name="../../src/libs/sleeplib/machine_loader.h" open="0" top="0" tabpos="14">
@ -88,7 +94,7 @@
<File name="../../src/libs/sleeplib/profiles.h" open="0" top="0" tabpos="13"> <File name="../../src/libs/sleeplib/profiles.h" open="0" top="0" tabpos="13">
<Cursor position="757" topLine="15" /> <Cursor position="757" topLine="15" />
</File> </File>
<File name="../../src/libs/sleeplib/prs1_loader.cpp" open="1" top="0" tabpos="6"> <File name="../../src/libs/sleeplib/prs1_loader.cpp" open="0" top="0" tabpos="6">
<Cursor position="13397" topLine="309" /> <Cursor position="13397" topLine="309" />
</File> </File>
<File name="../../src/libs/sleeplib/prs1_loader.h" open="0" top="0" tabpos="11"> <File name="../../src/libs/sleeplib/prs1_loader.h" open="0" top="0" tabpos="11">

View File

@ -88,9 +88,13 @@ GUIFrame::GUIFrame( wxWindow* parent, wxWindowID id, const wxString& title, cons
HelpMenu = new wxMenu(); HelpMenu = new wxMenu();
wxMenuItem* HelpMenuAbout; wxMenuItem* HelpMenuAbout;
HelpMenuAbout = new wxMenuItem( HelpMenu, wxID_ABOUT, wxString( _("&About") ) , wxEmptyString, wxITEM_NORMAL ); HelpMenuAbout = new wxMenuItem( HelpMenu, wxID_ABOUT, wxString( _("&About") ) + wxT('\t') + wxT("F1"), wxEmptyString, wxITEM_NORMAL );
HelpMenu->Append( HelpMenuAbout ); HelpMenu->Append( HelpMenuAbout );
wxMenuItem* HelpMenuLog;
HelpMenuLog = new wxMenuItem( HelpMenu, wxID_ANY, wxString( _("&View Log") ) + wxT('\t') + wxT("Ctrl+L"), wxEmptyString, wxITEM_NORMAL );
HelpMenu->Append( HelpMenuLog );
menubar->Append( HelpMenu, _("&Help") ); menubar->Append( HelpMenu, _("&Help") );
this->SetMenuBar( menubar ); this->SetMenuBar( menubar );
@ -117,6 +121,7 @@ GUIFrame::GUIFrame( wxWindow* parent, wxWindowID id, const wxString& title, cons
this->Connect( ViewMenuFullscreen->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( GUIFrame::OnFullscreen ) ); this->Connect( ViewMenuFullscreen->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( GUIFrame::OnFullscreen ) );
this->Connect( ToolsMenuScreenshot->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( GUIFrame::OnScreenshot ) ); this->Connect( ToolsMenuScreenshot->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( GUIFrame::OnScreenshot ) );
this->Connect( HelpMenuAbout->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( GUIFrame::OnAbout ) ); this->Connect( HelpMenuAbout->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( GUIFrame::OnAbout ) );
this->Connect( HelpMenuLog->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( GUIFrame::OnViewLog ) );
} }
GUIFrame::~GUIFrame() GUIFrame::~GUIFrame()
@ -135,6 +140,7 @@ GUIFrame::~GUIFrame()
this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( GUIFrame::OnFullscreen ) ); this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( GUIFrame::OnFullscreen ) );
this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( GUIFrame::OnScreenshot ) ); this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( GUIFrame::OnScreenshot ) );
this->Disconnect( wxID_ABOUT, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( GUIFrame::OnAbout ) ); this->Disconnect( wxID_ABOUT, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( GUIFrame::OnAbout ) );
this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( GUIFrame::OnViewLog ) );
m_mgr.UnInit(); m_mgr.UnInit();

View File

@ -70,6 +70,7 @@ class GUIFrame : public wxFrame
virtual void OnFullscreen( wxCommandEvent& event ) { event.Skip(); } virtual void OnFullscreen( wxCommandEvent& event ) { event.Skip(); }
virtual void OnScreenshot( wxCommandEvent& event ) { event.Skip(); } virtual void OnScreenshot( wxCommandEvent& event ) { event.Skip(); }
virtual void OnAbout( wxCommandEvent& event ) { event.Skip(); } virtual void OnAbout( wxCommandEvent& event ) { event.Skip(); }
virtual void OnViewLog( wxCommandEvent& event ) { event.Skip(); }
public: public:

View File

@ -41,7 +41,7 @@ bool SleepyHeadApp::OnInit()
// It helps to allocate the logger on the heap.. This show work for all platforms now :) // It helps to allocate the logger on the heap.. This show work for all platforms now :)
wxLog *logger=new wxLogStderr(NULL); //new wxLogWindow(NULL,wxT("Debug"),true,false); //new wxLogStderr(NULL); // wxLog *logger=new wxLogStderr(NULL);
wxLog::SetActiveTarget(logger); wxLog::SetActiveTarget(logger);
//wxLog::SetLogLevel(wxLOG_Max); //wxLog::SetLogLevel(wxLOG_Max);

View File

@ -81,6 +81,8 @@ SleepyHeadFrame::SleepyHeadFrame(wxFrame *frame)
wxString title=wxTheApp->GetAppName()+wxT(" v")+wxString(AutoVersion::_FULLVERSION_STRING,wxConvUTF8); wxString title=wxTheApp->GetAppName()+wxT(" v")+wxString(AutoVersion::_FULLVERSION_STRING,wxConvUTF8);
SetTitle(title); SetTitle(title);
logwindow=new wxLogWindow(this,wxT("Debug"),false,false); //new wxLogStderr(NULL); //
profile=Profiles::Get(); profile=Profiles::Get();
if (!profile) { if (!profile) {
wxLogError(wxT("Couldn't get active profile")); wxLogError(wxT("Couldn't get active profile"));
@ -127,7 +129,11 @@ SleepyHeadFrame::SleepyHeadFrame(wxFrame *frame)
SleepyHeadFrame::~SleepyHeadFrame() SleepyHeadFrame::~SleepyHeadFrame()
{ {
GraphDone(); GraphDone();
} }
void SleepyHeadFrame::OnViewLog(wxCommandEvent & event)
{
logwindow->Show();
}
void SleepyHeadFrame::UpdateProfiles() void SleepyHeadFrame::UpdateProfiles()
{ {
wxMenuItemList z=ProfileMenu->GetMenuItems(); wxMenuItemList z=ProfileMenu->GetMenuItems();
@ -322,8 +328,7 @@ void SleepyHeadFrame::OnImportSD(wxCommandEvent &event)
int idx=main_auinotebook->GetPageIndex(daily); int idx=main_auinotebook->GetPageIndex(daily);
if (idx!=wxNOT_FOUND) { if (idx!=wxNOT_FOUND) {
daily->ResetDate(); daily->ResetDate();
daily->RefreshData(); //daily->RefreshData();
daily->Refresh();
} }
idx=main_auinotebook->GetPageIndex(summary); idx=main_auinotebook->GetPageIndex(summary);
if (idx!=wxNOT_FOUND) { if (idx!=wxNOT_FOUND) {
@ -339,8 +344,8 @@ void SleepyHeadFrame::OnViewMenuDaily( wxCommandEvent& event )
if (idx==wxNOT_FOUND) { if (idx==wxNOT_FOUND) {
daily=new Daily(this,profile); daily=new Daily(this,profile);
main_auinotebook->AddPage(daily,_("Daily"),true,wxNullBitmap); main_auinotebook->AddPage(daily,_("Daily"),true,wxNullBitmap);
daily->RefreshData(); //daily->ResetDate();
daily->Refresh(); //daily->RefreshData();
} else { } else {
main_auinotebook->SetSelection(idx); main_auinotebook->SetSelection(idx);
@ -804,7 +809,9 @@ Daily::Daily(wxWindow *win,Profile *p)
//fgSizer->Add(TAP_IAP,1,wxEXPAND); //fgSizer->Add(TAP_IAP,1,wxEXPAND);
//fgSizer->Add(TAP_EAP,1,wxEXPAND); //fgSizer->Add(TAP_EAP,1,wxEXPAND);
this->Connect(wxID_ANY, wxEVT_REFRESH_DAILY, wxCommandEventHandler(Daily::RefreshData));
Refresh();
Update();
ResetDate(); ResetDate();
} }
Daily::~Daily() Daily::~Daily()
@ -853,6 +860,8 @@ void Daily::ResetDate()
{ {
foobar_datehack=false; // this exists due to a wxGTK bug. foobar_datehack=false; // this exists due to a wxGTK bug.
// RefreshData(); // RefreshData();
Update();
wxDateTime date; wxDateTime date;
if (profile->LastDay().IsValid()) { if (profile->LastDay().IsValid()) {
date=profile->LastDay()+wxTimeSpan::Day(); date=profile->LastDay()+wxTimeSpan::Day();
@ -864,8 +873,14 @@ void Daily::ResetDate()
wxCalendarEvent ev; wxCalendarEvent ev;
ev.SetDate(date); ev.SetDate(date);
OnCalendarMonth(ev); OnCalendarMonth(ev);
RefreshData();
} }
void Daily::RefreshData() void Daily::RefreshData()
{
wxCommandEvent MyEvent( wxEVT_REFRESH_DAILY);
wxPostEvent(this, MyEvent);
}
void Daily::RefreshData(wxCommandEvent& event)
{ {
wxDateTime date=Calendar->GetDate(); wxDateTime date=Calendar->GetDate();
date.ResetTime(); date.ResetTime();
@ -1204,7 +1219,7 @@ void Daily::RefreshData()
} */ } */
html+=wxT("</table></div></body></html>"); html+=wxT("</table></div></body></html>");
HTMLInfo->SetPage(html); HTMLInfo->SetPage(html);
Refresh();
} }
void Daily::OnSelectSession( wxCommandEvent& event ) void Daily::OnSelectSession( wxCommandEvent& event )
{ {

View File

@ -50,6 +50,7 @@ protected:
Day *dummyday; Day *dummyday;
}; };
const wxEventType wxEVT_REFRESH_DAILY = wxNewEventType();
class Daily:public DailyPanel class Daily:public DailyPanel
{ {
@ -58,6 +59,7 @@ public:
virtual ~Daily(); virtual ~Daily();
void ResetDate(); void ResetDate();
void RefreshData(); void RefreshData();
void RefreshData(wxCommandEvent& event);
// void SetProfile(Profile *p); // void SetProfile(Profile *p);
protected: protected:
virtual void OnCalendarDay( wxCalendarEvent& event ); virtual void OnCalendarDay( wxCalendarEvent& event );
@ -108,6 +110,7 @@ class SleepyHeadFrame: public GUIFrame
virtual void OnAbout(wxCommandEvent& event); virtual void OnAbout(wxCommandEvent& event);
virtual void OnScreenshot(wxCommandEvent& event); virtual void OnScreenshot(wxCommandEvent& event);
virtual void OnFullscreen(wxCommandEvent& event); virtual void OnFullscreen(wxCommandEvent& event);
virtual void OnViewLog(wxCommandEvent& event);
virtual void DoScreenshot(wxCommandEvent& event); virtual void DoScreenshot(wxCommandEvent& event);
virtual void OnImportSD(wxCommandEvent& event); virtual void OnImportSD(wxCommandEvent& event);
virtual void OnViewMenuDaily(wxCommandEvent& event); virtual void OnViewMenuDaily(wxCommandEvent& event);
@ -125,7 +128,7 @@ class SleepyHeadFrame: public GUIFrame
Daily *daily; Daily *daily;
Machine *machine; Machine *machine;
Profile *profile; Profile *profile;
wxLogWindow *logwindow;
vector<Machine *>cpap_machines; vector<Machine *>cpap_machines;
int current_machine; int current_machine;

View File

@ -409,11 +409,26 @@
<property name="label">&amp;About</property> <property name="label">&amp;About</property>
<property name="name">HelpMenuAbout</property> <property name="name">HelpMenuAbout</property>
<property name="permission">none</property> <property name="permission">none</property>
<property name="shortcut"></property> <property name="shortcut">F1</property>
<property name="unchecked_bitmap"></property> <property name="unchecked_bitmap"></property>
<event name="OnMenuSelection">OnAbout</event> <event name="OnMenuSelection">OnAbout</event>
<event name="OnUpdateUI"></event> <event name="OnUpdateUI"></event>
</object> </object>
<object class="wxMenuItem" expanded="1">
<property name="bitmap"></property>
<property name="checked">0</property>
<property name="enabled">1</property>
<property name="help"></property>
<property name="id">wxID_ANY</property>
<property name="kind">wxITEM_NORMAL</property>
<property name="label">&amp;View Log</property>
<property name="name">HelpMenuLog</property>
<property name="permission">none</property>
<property name="shortcut">Ctrl+L</property>
<property name="unchecked_bitmap"></property>
<event name="OnMenuSelection">OnViewLog</event>
<event name="OnUpdateUI"></event>
</object>
</object> </object>
</object> </object>
<object class="wxStatusBar" expanded="1"> <object class="wxStatusBar" expanded="1">

View File

@ -17,7 +17,7 @@ pBuffer::~pBuffer()
#if defined(__WXMSW__) #if defined(__WXMSW__)
/*#if !defined(wglGetExtensionsStringARB) #if !defined(wglGetExtensionsStringARB)
PFNWGLGETEXTENSIONSSTRINGARBPROC wglGetExtensionsStringARB = NULL; PFNWGLGETEXTENSIONSSTRINGARBPROC wglGetExtensionsStringARB = NULL;
// WGL_ARB_pbuffer // WGL_ARB_pbuffer
@ -31,7 +31,7 @@ pBuffer::~pBuffer()
PFNWGLGETPIXELFORMATATTRIBIVARBPROC wglGetPixelFormatAttribivARB = NULL; PFNWGLGETPIXELFORMATATTRIBIVARBPROC wglGetPixelFormatAttribivARB = NULL;
PFNWGLGETPIXELFORMATATTRIBFVARBPROC wglGetPixelFormatAttribfvARB = NULL; PFNWGLGETPIXELFORMATATTRIBFVARBPROC wglGetPixelFormatAttribfvARB = NULL;
PFNWGLCHOOSEPIXELFORMATARBPROC wglChoosePixelFormatARB = NULL; PFNWGLCHOOSEPIXELFORMATARBPROC wglChoosePixelFormatARB = NULL;
#endif */ #endif
pBufferWGL::pBufferWGL(int width, int height) pBufferWGL::pBufferWGL(int width, int height)
@ -61,7 +61,7 @@ pBufferWGL::pBufferWGL(int width, int height)
m_width=j; m_width=j;
m_height=j; m_height=j;
wxLogMessage(wxString::Format(wxT("Adjusting pBuffer width and height to %ix%i"),j,j)); wxLogDebug(wxString::Format(wxT("Adjusting pBuffer width and height to %ix%i"),j,j));
// Create Texture // Create Texture
glGenTextures(1, &m_texture); glGenTextures(1, &m_texture);
@ -93,7 +93,6 @@ pBufferWGL::pBufferWGL(int width, int height)
unsigned int numFormats = 0; unsigned int numFormats = 0;
wxLogError(wxT("Foo2"));
if (!wglChoosePixelFormatARB) { if (!wglChoosePixelFormatARB) {
throw GLException(wxT("No wglChoosePixelFormatARB available")); throw GLException(wxT("No wglChoosePixelFormatARB available"));
} }
@ -134,8 +133,6 @@ pBufferWGL::pBufferWGL(int width, int height)
// compare w & h to m_width & m_height. // compare w & h to m_width & m_height.
wxLogError(wxT("Foo7"));
wglMakeCurrent(hdc,hGlRc); wglMakeCurrent(hdc,hGlRc);
glEnable(GL_TEXTURE_2D); // Enable Texture Mapping glEnable(GL_TEXTURE_2D); // Enable Texture Mapping
@ -187,6 +184,39 @@ bool pBufferWGL::InitGLStuff()
return false; return false;
} }
if (strstr(ext, "WGL_ARB_pbuffer" ) == NULL) {
wxLogError(wxT("WGL_ARB_pbuffer extension was not found"));
return false;
} else {
wglCreatePbufferARB = (PFNWGLCREATEPBUFFERARBPROC)wglGetProcAddress("wglCreatePbufferARB");
wglGetPbufferDCARB = (PFNWGLGETPBUFFERDCARBPROC)wglGetProcAddress("wglGetPbufferDCARB");
wglReleasePbufferDCARB = (PFNWGLRELEASEPBUFFERDCARBPROC)wglGetProcAddress("wglReleasePbufferDCARB");
wglDestroyPbufferARB = (PFNWGLDESTROYPBUFFERARBPROC)wglGetProcAddress("wglDestroyPbufferARB");
wglQueryPbufferARB = (PFNWGLQUERYPBUFFERARBPROC)wglGetProcAddress("wglQueryPbufferARB");
if (!wglCreatePbufferARB || !wglGetPbufferDCARB || !wglReleasePbufferDCARB ||
!wglDestroyPbufferARB || !wglQueryPbufferARB) {
wxLogError(wxT("One or more WGL_ARB_pbuffer functions were not found"));
return false;
}
}
// WGL_ARB_pixel_format
if (strstr( ext, "WGL_ARB_pixel_format" ) == NULL) {
wxLogError(wxT("WGL_ARB_pixel_format extension was not found"));
return false;
} else {
wglGetPixelFormatAttribivARB = (PFNWGLGETPIXELFORMATATTRIBIVARBPROC)wglGetProcAddress("wglGetPixelFormatAttribivARB");
wglGetPixelFormatAttribfvARB = (PFNWGLGETPIXELFORMATATTRIBFVARBPROC)wglGetProcAddress("wglGetPixelFormatAttribfvARB");
wglChoosePixelFormatARB = (PFNWGLCHOOSEPIXELFORMATARBPROC)wglGetProcAddress("wglChoosePixelFormatARB");
if (!wglGetExtensionsStringARB || !wglCreatePbufferARB || !wglGetPbufferDCARB) {
wxLogError(wxT("One or more WGL_ARB_pixel_format functions were not found"));
return false;
}
}
return true; return true;
} }

View File

@ -358,6 +358,7 @@ gGraphWindow::gGraphWindow(wxWindow *parent, wxWindowID id,const wxString & titl
int *attribList = (int*) NULL; int *attribList = (int*) NULL;
AGLPixelFormat aglpf=aglChoosePixelFormat(NULL,0,attribList); AGLPixelFormat aglpf=aglChoosePixelFormat(NULL,0,attribList);
shared_context=new wxGLContext(aglpf,this,wxNullPalette,NULL); shared_context=new wxGLContext(aglpf,this,wxNullPalette,NULL);
// Mmmmm.. Platform incosistency with wx.. // Mmmmm.. Platform incosistency with wx..
#else #else
// Darwin joins the rest of the platforms as of wx2.9 // Darwin joins the rest of the platforms as of wx2.9
@ -366,6 +367,16 @@ gGraphWindow::gGraphWindow(wxWindow *parent, wxWindowID id,const wxString & titl
} }
#if defined(__DARWIN__) && !wxCHECK_VERSION(2,9,0)
shared_context->SetCurrent(); // It's just plain broken. :(
#else
shared_context->SetCurrent(*this);
#endif
#if !defined(__WXMAC__) && defined (__UNIX__)
real_shared_context = glXGetCurrentContext();
#endif
GraphInit(); // Font GraphInit(); // Font
//texfont=::texfont; //texfont=::texfont;
if (!title.IsEmpty()) { if (!title.IsEmpty()) {
@ -824,6 +835,7 @@ wxBitmap * gGraphWindow::RenderBitmap(int width,int height)
#endif #endif
} catch(GLException e) { } catch(GLException e) {
// Should log already if failed.. // Should log already if failed..
pbuffer=NULL;
return NULL; return NULL;
} }
} }
@ -906,8 +918,6 @@ void gGraphWindow::OnPaint(wxPaintEvent& event)
wxPaintDC dc(this); wxPaintDC dc(this);
//#endif //#endif
//#if wxCHECK_VERSION(2,9,0) //#if wxCHECK_VERSION(2,9,0)
//SetCurrent(*shared_context); //SetCurrent(*shared_context);
//#else //#else
@ -915,7 +925,7 @@ void gGraphWindow::OnPaint(wxPaintEvent& event)
#if defined(__DARWIN__) && !wxCHECK_VERSION(2,9,0) #if defined(__DARWIN__) && !wxCHECK_VERSION(2,9,0)
shared_context->SetCurrent(); shared_context->SetCurrent();
#else #else
shared_context->SetCurrent(*this); // A generic Context needs to be used.. Not one per graph window shared_context->SetCurrent(*this);
#endif #endif
//#endif //#endif

View File

@ -16,14 +16,14 @@ namespace AutoVersion{
//Standard Version Type //Standard Version Type
static const long _MAJOR = 0; static const long _MAJOR = 0;
static const long _MINOR = 7; static const long _MINOR = 7;
static const long _BUILD = 5861; static const long _BUILD = 5910;
static const long _REVISION = 15371; static const long _REVISION = 15610;
//Miscellaneous Version Types //Miscellaneous Version Types
static const long _BUILDS_COUNT = 6256; static const long _BUILDS_COUNT = 6353;
#define _RC_FILEVERSION 0,7,5861,15371 #define _RC_FILEVERSION 0,7,5910,15610
#define _RC_FILEVERSION_STRING "0, 7, 5861, 15371\0" #define _RC_FILEVERSION_STRING "0, 7, 5910, 15610\0"
static const char _FULLVERSION_STRING[] = "0.7.5861.15371"; static const char _FULLVERSION_STRING[] = "0.7.5910.15610";
//These values are to keep track of your versioning state, don't modify them. //These values are to keep track of your versioning state, don't modify them.
static const long _BUILD_HISTORY = 0; static const long _BUILD_HISTORY = 0;