1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
|
/*
Name: main.cpp
Purpose: Implements simple wxWidgets application with GUI
created using wxCrafter.
Author:
Created:
Copyright:
License: wxWidgets license (www.wxwidgets.org)
Notes: Note that all GUI creation code is contained in
the file gui.xrc which is generated by wxCrafter.
*/
#include <wx/app.h>
#include <wx/frame.h>
#include <wx/event.h>
#include <wx/xrc/xmlres.h>
#include <wx/image.h>
#include "main.h"
// initialize the application
IMPLEMENT_APP(MainApp);
////////////////////////////////////////////////////////////////////////////////
// application class implementation
////////////////////////////////////////////////////////////////////////////////
bool MainApp::OnInit()
{
if (!wxApp::OnInit())
return false;
wxInitAllImageHandlers();
wxXmlResource::Get()->InitAllHandlers();
if (!wxXmlResource::Get()->Load(wxT("../gui.xrc")))
return false;
SetTopWindow(new MainFrame(NULL));
GetTopWindow()->Show();
// true == enter the main loop
return true;
}
////////////////////////////////////////////////////////////////////////////////
// main application frame implementation
////////////////////////////////////////////////////////////////////////////////
MainFrame::MainFrame(wxWindow* parent)
{
wxXmlResource::Get()->LoadFrame(this, parent, wxT("MainFrame"));
Connect(wxEVT_CLOSE_WINDOW,
wxCloseEventHandler(MainFrame::OnCloseFrame));
Connect(wxID_EXIT, wxEVT_COMMAND_MENU_SELECTED,
wxCommandEventHandler(MainFrame::OnExitClick));
}
MainFrame::~MainFrame()
{
Disconnect(wxEVT_CLOSE_WINDOW,
wxCloseEventHandler(MainFrame::OnCloseFrame));
Disconnect(wxID_EXIT, wxEVT_COMMAND_MENU_SELECTED,
wxCommandEventHandler(MainFrame::OnExitClick));
}
void MainFrame::OnCloseFrame(wxCloseEvent& event)
{
Destroy();
}
void MainFrame::OnExitClick(wxCommandEvent& event)
{
Destroy();
}
|