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