X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2b5f62a0b2db198609b45dec622a018dae37008e..89b3361ec25cf1e6d255b14c7633d8375646e4fb:/samples/xrc/xrcdemo.cpp diff --git a/samples/xrc/xrcdemo.cpp b/samples/xrc/xrcdemo.cpp index c904f52e28..9a770d9804 100644 --- a/samples/xrc/xrcdemo.cpp +++ b/samples/xrc/xrcdemo.cpp @@ -8,15 +8,7 @@ //----------------------------------------------------------------------------- //----------------------------------------------------------------------------- -// GCC implementation -//----------------------------------------------------------------------------- - -#ifdef __GNUG__ - #pragma implementation "xrcdemo.h" -#endif - -//----------------------------------------------------------------------------- -// Standard wxWindows headers +// Standard wxWidgets headers //----------------------------------------------------------------------------- // For compilers that support precompilation, includes "wx/wx.h". @@ -27,7 +19,7 @@ #endif // For all others, include the necessary headers (this file is usually all you -// need because it includes almost all "standard" wxWindows headers) +// need because it includes almost all "standard" wxWidgets headers) #ifndef WX_PRECOMP #include "wx/wx.h" #endif @@ -39,24 +31,22 @@ #include "xrcdemo.h" //----------------------------------------------------------------------------- -// Remaining headers: Needed wx headers, then wx/contrib headers, then application headers +// Remaining headers: Needed wx headers, then wx/contrib headers, then app one //----------------------------------------------------------------------------- #include "wx/image.h" // wxImage -//----------------------------------------------------------------------------- +#include "wx/xrc/xmlres.h" // XRC XML resources -#include "wx/xrc/xmlres.h" // XRC XML resouces - -//----------------------------------------------------------------------------- +#include "wx/cshelp.h" // wxSimpleHelpProvider for helptext #include "myframe.h" //----------------------------------------------------------------------------- -// wxWindows macro: Declare the application. +// wxWidgets macro: Declare the application. //----------------------------------------------------------------------------- -// Create a new application object: this macro will allow wxWindows to create +// Create a new application object: this macro will allow wxWidgets to create // the application object during program execution (it's better than using a // static object for many reasons) and also declares the accessor function // wxGetApp() which will return the reference of the right type (i.e. the_app and @@ -70,55 +60,44 @@ IMPLEMENT_APP(MyApp) // 'Main program' equivalent: the program execution "starts" here bool MyApp::OnInit() { + if ( !wxApp::OnInit() ) + return false; + // If there is any of a certain format of image in the xrcs, then first - // load a handler for that image type. This example uses XPMs, but if - // you want PNGs, then add a PNG handler, etc. See wxImage::AddHandler() + // load a handler for that image type. This example uses XPMs & a gif, but + // if you want PNGs, then add a PNG handler, etc. See wxImage::AddHandler() // documentation for the types of image handlers available. wxImage::AddHandler(new wxXPMHandler); - + wxImage::AddHandler(new wxGIFHandler); + // Initialize all the XRC handlers. Always required (unless you feel like // going through and initializing a handler of each control type you will // be using (ie initialize the spinctrl handler, initialize the textctrl // handler). However, if you are only using a few control types, it will // save some space to only initialize the ones you will be using. See // wxXRC docs for details. - wxXmlResource::Get()->InitAllHandlers(); - + wxXmlResource::Get()->InitAllHandlers(); + // Load all of the XRC files that will be used. You can put everything - // into one giant XRC file if you wanted, but then they become more - // diffcult to manage, and harder to reuse in later projects. - // The menubar - wxXmlResource::Get()->Load(wxT("rc/menu.xrc")); - // The toolbar - wxXmlResource::Get()->Load(wxT("rc/toolbar.xrc")); - // Non-derived dialog example - wxXmlResource::Get()->Load(wxT("rc/basicdlg.xrc")); - // Derived dialog example - wxXmlResource::Get()->Load(wxT("rc/derivdlg.xrc")); - // Controls property example - wxXmlResource::Get()->Load(wxT("rc/controls.xrc")); - // Frame example - wxXmlResource::Get()->Load(wxT("rc/frame.xrc")); - // Uncentered example - wxXmlResource::Get()->Load(wxT("rc/uncenter.xrc")); - // Custom class example - wxXmlResource::Get()->Load(wxT("rc/custclas.xrc")); - // wxArtProvider example - wxXmlResource::Get()->Load(wxT("rc/artprov.xrc")); - // Platform property example - wxXmlResource::Get()->Load(wxT("rc/platform.xrc")); - // Variable expansion example - wxXmlResource::Get()->Load(wxT("rc/variable.xrc")); - - // Make an instance of your derived frame. Passing NULL (the default value - // of MyFrame's constructor is NULL) as the frame doesn't have a frame - // since it is the first window. + // into one giant XRC file if you wanted, but then they become more + // diffcult to manage, and harder to reuse in later projects. + if ( !wxXmlResource::Get()->LoadAllFiles("rc") ) + return false; + +#if wxUSE_HELP + // Use the simple help provider to show the context-sensitive help + wxHelpProvider::Set( new wxSimpleHelpProvider ); +#endif // wxUSE_HELP + + // Make an instance of your derived frame. Passing NULL (the default value + // of MyFrame's constructor is NULL) as the frame doesn't have a parent + // since it is the main application window. MyFrame *frame = new MyFrame(); - - // Show the frame. - frame->Show(TRUE); - - // Return TRUE to tell program to continue (FALSE would terminate). - return TRUE; + + // Show the frame as it's created initially hidden. + frame->Show(true); + + // Return true to tell program to continue (false would terminate). + return true; }