X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/45a248176c4e7da12f43753d61c5da5b20c950a1..28c0bed36a7063f87dc851e65fa3b0b606224ee1:/contrib/include/wx/xml/xmlres.h diff --git a/contrib/include/wx/xml/xmlres.h b/contrib/include/wx/xml/xmlres.h index 3d5a0e7164..e3338a605b 100644 --- a/contrib/include/wx/xml/xmlres.h +++ b/contrib/include/wx/xml/xmlres.h @@ -21,24 +21,21 @@ #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 { @@ -61,20 +58,12 @@ class WXDLLEXPORT wxXmlResource : public wxObject { 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 @@ -97,6 +86,11 @@ class WXDLLEXPORT wxXmlResource : public wxObject // 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) @@ -128,11 +122,19 @@ class WXDLLEXPORT wxXmlResource : public wxObject // 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; }; @@ -190,10 +192,6 @@ class WXDLLEXPORT wxXmlResourceHandler : public wxObject // 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; } @@ -227,6 +225,9 @@ class WXDLLEXPORT wxXmlResourceHandler : public wxObject // 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 @@ -251,8 +252,16 @@ class WXDLLEXPORT wxXmlResourceHandler : public wxObject // 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); @@ -262,6 +271,9 @@ class WXDLLEXPORT wxXmlResourceHandler : public wxObject 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)