added wxXmlResource::LoadAllFiles()

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59509 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Václav Slavík 2009-03-13 13:26:46 +00:00
parent 95835bc453
commit 2bb9a404fb
4 changed files with 35 additions and 46 deletions

View File

@ -115,6 +115,9 @@ public:
// 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);

View File

@ -204,7 +204,7 @@ public:
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);
@ -213,10 +213,22 @@ public:
@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.
*/

View File

@ -80,51 +80,9 @@ bool MyApp::OnInit()
// 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 );

View File

@ -44,7 +44,7 @@
#include "wx/fontenum.h"
#include "wx/fontmap.h"
#include "wx/artprov.h"
#include "wx/dir.h"
#include "wx/xml/xml.h"
@ -183,6 +183,22 @@ bool wxXmlResource::LoadFile(const wxFileName& file)
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_);