X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/38a489ae3698a1a7912a80b84e973040f0eee73c..5679f3353ca517404f6f55178388e92930e312d4:/utils/ogl/samples/ogledit/ogledit.cpp diff --git a/utils/ogl/samples/ogledit/ogledit.cpp b/utils/ogl/samples/ogledit/ogledit.cpp index 7aac4d1ab0..87f19e6e85 100644 --- a/utils/ogl/samples/ogledit/ogledit.cpp +++ b/utils/ogl/samples/ogledit/ogledit.cpp @@ -33,6 +33,10 @@ #include "doc.h" #include "view.h" +#if defined(__WXGTK__) || defined(__WXMOTIF__) +#include "ogl.xpm" +#endif + // A macro needed for some compilers (AIX) that need 'main' to be defined // in the application itself. IMPLEMENT_APP(MyApp) @@ -40,6 +44,7 @@ IMPLEMENT_APP(MyApp) MyApp::MyApp(void) { frame = NULL; + myDocManager= NULL; } // The `main program' equivalent, creating the windows and returning the @@ -49,7 +54,7 @@ bool MyApp::OnInit(void) wxOGLInitialize(); //// Create a document manager - wxDocManager *myDocManager = new wxDocManager; + myDocManager = new wxDocManager; //// Create a template relating drawing documents to their views (void) new wxDocTemplate(myDocManager, "Diagram", "*.dia", "", "dia", "Diagram Doc", "Diagram View", @@ -63,12 +68,7 @@ bool MyApp::OnInit(void) frame = new MyFrame(myDocManager, NULL, "OGLEdit Demo", wxPoint(0, 0), wxSize(500, 400), wxDEFAULT_FRAME_STYLE); //// Give it an icon -#ifdef __WXMSW__ - frame->SetIcon(wxIcon("ogl_icn")); -#endif -#ifdef __X__ - frame->SetIcon(wxIcon("ogl.xbm")); -#endif + frame->SetIcon(wxICON(ogl)); //// Make a menubar wxMenu *file_menu = new wxMenu; @@ -127,6 +127,13 @@ bool MyApp::OnInit(void) return TRUE; } +int MyApp::OnExit(void) +{ + wxOGLCleanUp(); + delete myDocManager; + return 0; +} + /* * This is the top-level window of the application. */ @@ -136,6 +143,7 @@ IMPLEMENT_CLASS(MyFrame, wxDocParentFrame) BEGIN_EVENT_TABLE(MyFrame, wxDocParentFrame) EVT_MENU(OGLEDIT_ABOUT, MyFrame::OnAbout) EVT_SIZE(MyFrame::OnSize) + EVT_CLOSE(MyFrame::OnCloseWindow) END_EVENT_TABLE() MyFrame::MyFrame(wxDocManager *manager, wxFrame *frame, const wxString& title, @@ -167,15 +175,13 @@ void MyFrame::OnSize(wxSizeEvent& event) } } -bool MyFrame::OnClose(void) +void MyFrame::OnCloseWindow(wxCloseEvent& event) { - if (wxDocParentFrame::OnClose()) + wxDocParentFrame::OnCloseWindow(event); + if (!event.GetVeto()) { wxOGLCleanUp(); - return TRUE; } - else - return FALSE; } // Intercept menu commands @@ -192,8 +198,7 @@ MyCanvas *MyFrame::CreateCanvas(wxView *view, wxFrame *parent) // Non-retained canvas MyCanvas *canvas = new MyCanvas(view, parent, -1, wxPoint(0, 0), wxSize(width, height), 0); - wxCursor *cursor = new wxCursor(wxCURSOR_HAND); - canvas->SetCursor(cursor); + canvas->SetCursor(wxCursor(wxCURSOR_HAND)); // Give it scrollbars canvas->SetScrollbars(20, 20, 50, 50);