#include "wx/datetime.h"
#include "wx/list.h"
#include "wx/gdicmn.h"
+#include "wx/filesys.h"
+#include "wx/bitmap.h"
+#include "wx/icon.h"
class WXDLLEXPORT wxMenu;
class WXDLLEXPORT wxMenuBar;
class WXDLLEXPORT wxDialog;
class WXDLLEXPORT wxPanel;
class WXDLLEXPORT wxWindow;
+class WXDLLEXPORT wxToolBar;
class WXDLLEXPORT wxXmlResourceHandler;
#include "wx/xml/xml.h"
-enum
-{
- wxXML_BINARY,
- wxXML_ARCHIVE
-};
-
-
class WXDLLEXPORT wxXmlResourceDataRecord
{
{
public:
wxXmlResource();
- wxXmlResource(const wxString& filemask, int type);
+ wxXmlResource(const wxString& filemask);
~wxXmlResource();
// Loads resources from XML files that match given filemask.
- // This method understands VFS (see filesys.h). Type is one of
- // wxXML_TEXT, wxXML_BINARY, wxXML_ARCHIVE and specifies type of
- // data to be expected:
- // wxXML_BINARY - binary version of .xml file, as produced
- // by wxXmlDocument::SaveBinary
- // wxXML_ARCHIVE - ZIP archive that contains arbitrary number
- // of files with .xmb extension
- // (this kind of ZIP archive is produced by
- // XML resources compiler that ships with wxWin)
- bool Load(const wxString& filemask, int type = wxXML_ARCHIVE);
+ // This method understands VFS (see filesys.h).
+ bool Load(const wxString& filemask);
// Initialize handlers for all supported controls/windows. This will
// make the executable quite big because it forces linking against
// Loads menubar from resource. Returns NULL on failure.
wxMenuBar *LoadMenuBar(const wxString& name);
+#if wxUSE_TOOLBAR
+ // Loads toolbar
+ wxToolBar *LoadToolBar(wxWindow *parent, const wxString& name);
+#endif
+
// Loads dialog. dlg points to parent window (if any). Second form
// is used to finish creation of already existing instance (main reason
// for this is that you may want to use derived class with new event table)
// Creates resource from info in given node:
wxObject *CreateResFromNode(wxXmlNode *node, wxObject *parent, wxObject *instance = NULL);
+ // Remove nodes with property "platform" that does not
+ // match current platform
+ void ProcessPlatformProperty(wxXmlNode *node);
+
private:
wxList m_Handlers;
wxXmlResourceDataRecords m_Data;
-
- friend class wxXmlResourceHandler;
+#if wxUSE_FILESYSTEM
+ wxFileSystem m_CurFileSystem;
+ wxFileSystem& GetCurFileSystem() { return m_CurFileSystem; }
+#endif
+
+ friend class wxXmlResourceHandler;
};
// resource from it, FALSE otherwise.
virtual bool CanHandle(wxXmlNode *node) = 0;
- // Check "platform" property if it matches this platform
- // that is, if this node 'exists' under this platform
- static bool CheckPlatform(wxXmlNode *node);
-
void SetParentResource(wxXmlResource *res) { m_Resource = res; }
// Add style flag (e.g. wxMB_DOCKABLE) to list of flags
// understood by this handler
void AddStyle(const wxString& name, int value);
+
+ // Add styles common to all wxWindow-derived classes
+ void AddWindowStyles();
// Gets style flags from text in form "flag | flag2| flag3 |..."
// Only understads flags added with AddStyle
// Get colour in HTML syntax (#RRGGBB)
wxColour GetColour(const wxString& param);
+ // Get size/position (may be in dlg units):
wxSize GetSize(const wxString& param = _T("size"));
wxPoint GetPosition(const wxString& param = _T("pos"));
+
+ // Get dimension (may be in dlg units):
+ wxCoord GetDimension(const wxString& param, wxCoord defaultv = 0);
+
+ // Get bitmap:
+ wxBitmap GetBitmap(const wxString& param = _T("bitmap"), wxSize size = wxDefaultSize);
+ wxIcon GetIcon(const wxString& param = _T("icon"), wxSize size = wxDefaultSize);
// Sets common window options:
void SetupWindow(wxWindow *wnd);
GetParamNode("children")*/);
wxObject *CreateResFromNode(wxXmlNode *node, wxObject *parent, wxObject *instance = NULL)
{ return m_Resource->CreateResFromNode(node, parent, instance); }
+
+ // helper
+ wxFileSystem& GetCurFileSystem() { return m_Resource->GetCurFileSystem(); }
};
#define ADD_STYLE(style) AddStyle(_T(#style), style)