X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/af1337b041be734b7e64bcf7a06086268ae6895e..f92099657f465d782a8e32444d59f8ebdbdce182:/samples/xrc/xrcdemo.cpp diff --git a/samples/xrc/xrcdemo.cpp b/samples/xrc/xrcdemo.cpp index f7d755352c..bc3fcd1793 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,26 @@ #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 +#if wxUSE_RIBBON + #include "wx/xrc/xh_ribbon.h" +#endif // wxUSE_RIBBON -//----------------------------------------------------------------------------- +#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 +64,48 @@ 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(); + +#if wxUSE_RIBBON + wxXmlResource::Get()->AddHandler(new wxRibbonXmlHandler); +#endif + // 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("rc/menu.xrc"); - // The toolbar - wxXmlResource::Get()->Load("rc/toolbar.xrc"); - // Non-derived dialog example - wxXmlResource::Get()->Load("rc/basicdlg.xrc"); - // Derived dialog example - wxXmlResource::Get()->Load("rc/derivdlg.xrc"); - // Controls property example - wxXmlResource::Get()->Load("rc/controls.xrc"); - // Frame example - wxXmlResource::Get()->Load("rc/frame.xrc"); - // Uncentered example - wxXmlResource::Get()->Load("rc/uncenter.xrc"); - // Custom class example - wxXmlResource::Get()->Load("rc/custclas.xrc"); - // wxArtProvider example - wxXmlResource::Get()->Load("rc/artprov.xrc"); - // Platform property example - wxXmlResource::Get()->Load("rc/platform.xrc"); - // Variable expansion example - wxXmlResource::Get()->Load("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; }