Skip to content

Instantly share code, notes, and snippets.

@JaDogg
Created August 9, 2013 22:48
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save JaDogg/6197941 to your computer and use it in GitHub Desktop.
Save JaDogg/6197941 to your computer and use it in GitHub Desktop.
Wxwidgets hello world in single cpp file
/*$T indentinput.cpp GC 1.140 08/10/13 01:51:37 */
/*
* wxWidgets "Hello world" Program ;
* For compilers that support precompilation, includes "wx/wx.h".
*/
#include <wx/wxprec.h>
#ifndef WX_PRECOMP
#include <wx/wx.h>
#endif
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 };
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()
wxIMPLEMENT_APP(MyApp);
/*
=======================================================================================================================
=======================================================================================================================
*/
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!");
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment