Added support for wxwidgets. Closes #27.
parent
646afcac0d
commit
59b7fa8ed3
4 changed files with 157 additions and 0 deletions
@ -0,0 +1,23 @@ |
||||
#pragma once |
||||
|
||||
#include <wx/wx.h> |
||||
|
||||
class MyApp: public wxApp |
||||
{ |
||||
public: |
||||
virtual bool OnInit(); |
||||
}; |
||||
class MyFrame: public wxFrame |
||||
{ |
||||
public: |
||||
MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size); |
||||
private: |
||||
void OnHello(wxCommandEvent& event); |
||||
void OnExit(wxCommandEvent& event); |
||||
void OnAbout(wxCommandEvent& event); |
||||
wxDECLARE_EVENT_TABLE(); |
||||
}; |
||||
|
||||
enum { |
||||
ID_Hello = 1 |
||||
}; |
@ -0,0 +1,10 @@ |
||||
project('wxwidgets test', 'cpp') |
||||
|
||||
add_global_arguments('-std=c++11', language : 'cpp') |
||||
|
||||
wxd = dependency('wxwidgets') |
||||
|
||||
wp = executable('wxprog', 'wxprog.cpp', |
||||
dependencies : wxd) |
||||
|
||||
test('wxtest', wp) |
@ -0,0 +1,57 @@ |
||||
#include"mainwin.h" |
||||
|
||||
wxBEGIN_EVENT_TABLE(MyFrame, wxFrame) |
||||
EVT_MENU(ID_Hello, MyFrame::OnHello) |
||||
EVT_MENU(wxID_EXIT, MyFrame::OnExit) |
||||
EVT_MENU(wxID_ABOUT, MyFrame::OnAbout) |
||||
wxEND_EVENT_TABLE() |
||||
|
||||
bool MyApp::OnInit() { |
||||
MyFrame *frame = new MyFrame( "Hello World", wxPoint(50, 50), wxSize(450, 340) ); |
||||
frame->Show( true ); |
||||
return true; |
||||
} |
||||
|
||||
MyFrame::MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size) |
||||
: wxFrame(NULL, wxID_ANY, title, pos, size) { |
||||
wxMenu *menuFile = new wxMenu; |
||||
menuFile->Append(ID_Hello, "&Hello...\tCtrl-H", |
||||
"Help string shown in status bar for this menu item"); |
||||
menuFile->AppendSeparator(); |
||||
menuFile->Append(wxID_EXIT); |
||||
wxMenu *menuHelp = new wxMenu; |
||||
menuHelp->Append(wxID_ABOUT); |
||||
wxMenuBar *menuBar = new wxMenuBar; |
||||
menuBar->Append( menuFile, "&File" ); |
||||
menuBar->Append( menuHelp, "&Help" ); |
||||
SetMenuBar( menuBar ); |
||||
CreateStatusBar(); |
||||
SetStatusText( "Welcome to wxWidgets!" ); |
||||
} |
||||
|
||||
void MyFrame::OnExit(wxCommandEvent& event) { |
||||
Close( true ); |
||||
} |
||||
|
||||
void MyFrame::OnAbout(wxCommandEvent& event) { |
||||
wxMessageBox( "This is a wxWidgets' Hello world sample", |
||||
"About Hello World", wxOK | wxICON_INFORMATION ); |
||||
} |
||||
|
||||
void MyFrame::OnHello(wxCommandEvent& event) { |
||||
wxLogMessage("Hello world from wxWidgets!"); |
||||
} |
||||
|
||||
#if 0 |
||||
wxIMPLEMENT_APP(MyApp); |
||||
#else |
||||
// Don't open a window because this is an unit test and needs to
|
||||
// run headless.
|
||||
int main(int, char **) { |
||||
wxString name("Some app"); |
||||
wxPoint p(0, 0); |
||||
wxSize s(100, 100); |
||||
return 0; |
||||
} |
||||
|
||||
#endif |
Loading…
Reference in new issue