// Loads resources from single XRC file.
bool LoadFile(const wxFileName& file);
+ // Loads all XRC files from a directory.
+ bool LoadAllFiles(const wxString& dirname);
+
// Unload resource from the given XML file (wildcards not allowed)
bool Unload(const wxString& filename);
If you are sure that the argument is name of single XRC file (rather
than an URL or a wildcard), use LoadFile() instead.
- @see LoadFile()
+ @see LoadFile(), LoadAllFiles()
*/
bool Load(const wxString& filemask);
@since 2.9.0
- @see Load()
+ @see Load(), LoadAllFiles()
*/
bool LoadFile(const wxFileName& file);
+ /**
+ Loads all .xrc files from directory @a dirname.
+
+ Tries to load as many files as possible; if there's an error while
+ loading one file, it still attempts to load other files.
+
+ @since 2.9.0
+
+ @see LoadFile(), Load()
+ */
+ bool LoadAllFiles(const wxString& dirname);
+
/**
Loads a bitmap resource from a file.
*/
// 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
- if (!wxXmlResource::Get()->Load(wxT("rc/menu.xrc")))
+ if ( !wxXmlResource::Get()->LoadAllFiles("rc") )
return false;
- // The toolbar
- if (!wxXmlResource::Get()->Load(wxT("rc/toolbar.xrc")))
- return false;
-
- // Non-derived dialog example
- if (!wxXmlResource::Get()->Load(wxT("rc/basicdlg.xrc")))
- return false;
-
- // Derived dialog example
- if (!wxXmlResource::Get()->Load(wxT("rc/derivdlg.xrc")))
- return false;
-
- // Controls property example
- if (!wxXmlResource::Get()->Load(wxT("rc/controls.xrc")))
- return false;
-
- // Frame example
- if (!wxXmlResource::Get()->Load(wxT("rc/frame.xrc")))
- return false;
-
- // Uncentered example
- if (!wxXmlResource::Get()->Load(wxT("rc/uncenter.xrc")))
- return false;
-
- // Custom class example
- if (!wxXmlResource::Get()->Load(wxT("rc/custclas.xrc")))
- return false;
-
- // wxArtProvider example
- if (!wxXmlResource::Get()->Load(wxT("rc/artprov.xrc")))
- return false;
-
- // Platform property example
- if (!wxXmlResource::Get()->Load(wxT("rc/platform.xrc")))
- return false;
-
- // Variable expansion example
- if (!wxXmlResource::Get()->Load(wxT("rc/variable.xrc")))
- return false;
-
-
#if wxUSE_HELP
// Use the simple help provider to show the context-sensitive help
wxHelpProvider::Set( new wxSimpleHelpProvider );
#include "wx/fontenum.h"
#include "wx/fontmap.h"
#include "wx/artprov.h"
-
+#include "wx/dir.h"
#include "wx/xml/xml.h"
return Load(wxFileSystem::FileNameToURL(file));
}
+bool wxXmlResource::LoadAllFiles(const wxString& dirname)
+{
+ bool ok = true;
+ wxArrayString files;
+
+ wxDir::GetAllFiles(dirname, &files, "*.xrc");
+
+ for ( wxArrayString::const_iterator i = files.begin(); i != files.end(); ++i )
+ {
+ if ( !LoadFile(*i) )
+ ok = false;
+ }
+
+ return ok;
+}
+
bool wxXmlResource::Load(const wxString& filemask_)
{
wxString filemask = ConvertFileNameToURL(filemask_);