File: main.cpp

package info (click to toggle)
codelite 17.0.0%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 136,204 kB
  • sloc: cpp: 491,547; ansic: 280,393; php: 10,259; sh: 8,930; lisp: 7,664; vhdl: 6,518; python: 6,020; lex: 4,920; yacc: 3,123; perl: 2,385; javascript: 1,715; cs: 1,193; xml: 1,110; makefile: 804; cobol: 741; sql: 709; ruby: 620; f90: 566; ada: 534; asm: 464; fortran: 350; objc: 289; tcl: 258; java: 157; erlang: 61; pascal: 51; ml: 49; awk: 44; haskell: 36
file content (80 lines) | stat: -rw-r--r-- 2,070 bytes parent folder | download | duplicates (3)
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("./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();
}